diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/mips/mips64/n64')
17 files changed, 116 insertions, 103 deletions
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/fallocate.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/fallocate.c deleted file mode 100644 index d3b72183ce..0000000000 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/fallocate.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/wordsize-64/fallocate.c> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/fallocate64.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/fallocate64.c deleted file mode 100644 index fb2b6813a2..0000000000 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/fallocate64.c +++ /dev/null @@ -1 +0,0 @@ -/* fallocate64 is in fallocate.c */ diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c deleted file mode 100644 index 33918ea6a5..0000000000 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c +++ /dev/null @@ -1 +0,0 @@ -/* glob64 is in glob.c */ diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S b/sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S index 6d2e0af91e..67c5905673 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S @@ -1,4 +1,4 @@ -/* Copyright 2003-2016 Free Software Foundation, Inc. +/* Copyright 2003-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -38,4 +38,5 @@ L(error): PSEUDO_END (__ioctl) +libc_hidden_def (__ioctl) weak_alias (__ioctl, ioctl) diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/mips/mips64/n64/jmp_buf-macros.h new file mode 100644 index 0000000000..38b5b0636a --- /dev/null +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 304 +#define SIGJMP_BUF_SIZE 304 +#define JMP_BUF_ALIGN 8 +#define SIGJMP_BUF_ALIGN 8 +#define MASK_WAS_SAVED_OFFSET 168 +#define SAVED_MASK_OFFSET 176 diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist index 759e99b00c..44b345b7cf 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist @@ -1,14 +1,9 @@ -GLIBC_2.0 GLIBC_2.0 A -GLIBC_2.0 __libc_memalign F GLIBC_2.0 _r_debug D 0x28 GLIBC_2.0 calloc F GLIBC_2.0 free F GLIBC_2.0 malloc F GLIBC_2.0 realloc F -GLIBC_2.2 GLIBC_2.2 A GLIBC_2.2 __libc_stack_end D 0x8 GLIBC_2.2 _dl_mcount F -GLIBC_2.3 GLIBC_2.3 A GLIBC_2.3 __tls_get_addr F -GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 __stack_chk_guard D 0x8 diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index 53e0c9a350..1486af11d7 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -1,9 +1,7 @@ -GCC_3.0 GCC_3.0 A GCC_3.0 _Unwind_Find_FDE F GCC_3.0 __deregister_frame_info_bases F GCC_3.0 __register_frame_info_bases F GCC_3.0 __register_frame_info_table_bases F -GLIBC_2.0 GLIBC_2.0 A GLIBC_2.0 _IO_adjust_column F GLIBC_2.0 _IO_default_doallocate F GLIBC_2.0 _IO_default_finish F @@ -1310,7 +1308,6 @@ GLIBC_2.0 xdrstdio_create F GLIBC_2.0 xencrypt F GLIBC_2.0 xprt_register F GLIBC_2.0 xprt_unregister F -GLIBC_2.10 GLIBC_2.10 A GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F GLIBC_2.10 accept4 F @@ -1336,7 +1333,6 @@ GLIBC_2.10 register_printf_type F GLIBC_2.10 setsgent F GLIBC_2.10 sgetsgent F GLIBC_2.10 sgetsgent_r F -GLIBC_2.11 GLIBC_2.11 A GLIBC_2.11 __longjmp_chk F GLIBC_2.11 execvpe F GLIBC_2.11 fallocate64 F @@ -1344,22 +1340,18 @@ GLIBC_2.11 mkostemps F GLIBC_2.11 mkostemps64 F GLIBC_2.11 mkstemps F GLIBC_2.11 mkstemps64 F -GLIBC_2.12 GLIBC_2.12 A GLIBC_2.12 ntp_gettimex F GLIBC_2.12 recvmmsg F -GLIBC_2.13 GLIBC_2.13 A GLIBC_2.13 fanotify_init F GLIBC_2.13 fanotify_mark F GLIBC_2.13 prlimit F GLIBC_2.13 prlimit64 F -GLIBC_2.14 GLIBC_2.14 A GLIBC_2.14 clock_adjtime F GLIBC_2.14 name_to_handle_at F GLIBC_2.14 open_by_handle_at F GLIBC_2.14 sendmmsg F GLIBC_2.14 setns F GLIBC_2.14 syncfs F -GLIBC_2.15 GLIBC_2.15 A GLIBC_2.15 __fdelt_chk F GLIBC_2.15 __fdelt_warn F GLIBC_2.15 posix_spawn F @@ -1368,7 +1360,6 @@ GLIBC_2.15 process_vm_readv F GLIBC_2.15 process_vm_writev F GLIBC_2.15 scandirat F GLIBC_2.15 scandirat64 F -GLIBC_2.16 GLIBC_2.16 A GLIBC_2.16 __getauxval F GLIBC_2.16 __poll_chk F GLIBC_2.16 __ppoll_chk F @@ -1379,16 +1370,13 @@ GLIBC_2.16 getauxval F GLIBC_2.16 mbrtoc16 F GLIBC_2.16 mbrtoc32 F GLIBC_2.16 timespec_get F -GLIBC_2.17 GLIBC_2.17 A GLIBC_2.17 clock_getcpuclockid F GLIBC_2.17 clock_getres F GLIBC_2.17 clock_gettime F GLIBC_2.17 clock_nanosleep F GLIBC_2.17 clock_settime F GLIBC_2.17 secure_getenv F -GLIBC_2.18 GLIBC_2.18 A GLIBC_2.18 __cxa_thread_atexit_impl F -GLIBC_2.2 GLIBC_2.2 A GLIBC_2.2 _Exit F GLIBC_2.2 _IO_2_1_stderr_ D 0xe0 GLIBC_2.2 _IO_2_1_stdin_ D 0xe0 @@ -1906,33 +1894,80 @@ GLIBC_2.2 xdr_uint32_t F GLIBC_2.2 xdr_uint64_t F GLIBC_2.2 xdr_uint8_t F GLIBC_2.2 xdr_unixcred F -GLIBC_2.2.1 GLIBC_2.2.1 A GLIBC_2.2.1 pivot_root F GLIBC_2.2.1 posix_openpt F -GLIBC_2.2.2 GLIBC_2.2.2 A GLIBC_2.2.2 __nss_hostname_digits_dots F -GLIBC_2.2.3 GLIBC_2.2.3 A GLIBC_2.2.3 __rpc_thread_createerr F GLIBC_2.2.3 __rpc_thread_svc_fdset F GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F GLIBC_2.2.3 __rpc_thread_svc_pollfd F GLIBC_2.2.3 fnmatch F GLIBC_2.2.3 sprofil F -GLIBC_2.2.4 GLIBC_2.2.4 A GLIBC_2.2.4 dl_iterate_phdr F GLIBC_2.2.4 getgrouplist F GLIBC_2.2.4 sockatmark F -GLIBC_2.2.6 GLIBC_2.2.6 A GLIBC_2.2.6 __nanosleep F -GLIBC_2.22 GLIBC_2.22 A GLIBC_2.22 fmemopen F -GLIBC_2.23 GLIBC_2.23 A GLIBC_2.23 fts64_children F GLIBC_2.23 fts64_close F GLIBC_2.23 fts64_open F GLIBC_2.23 fts64_read F GLIBC_2.23 fts64_set F -GLIBC_2.3 GLIBC_2.3 A +GLIBC_2.24 quick_exit F +GLIBC_2.25 __explicit_bzero_chk F +GLIBC_2.25 explicit_bzero F +GLIBC_2.25 getentropy F +GLIBC_2.25 getrandom F +GLIBC_2.25 strfromd F +GLIBC_2.25 strfromf F +GLIBC_2.25 strfroml F +GLIBC_2.26 preadv2 F +GLIBC_2.26 preadv64v2 F +GLIBC_2.26 pwritev2 F +GLIBC_2.26 pwritev64v2 F +GLIBC_2.26 reallocarray F +GLIBC_2.27 copy_file_range F +GLIBC_2.27 glob F +GLIBC_2.27 glob64 F +GLIBC_2.27 memfd_create F +GLIBC_2.27 mlock2 F +GLIBC_2.27 pkey_alloc F +GLIBC_2.27 pkey_free F +GLIBC_2.27 pkey_get F +GLIBC_2.27 pkey_mprotect F +GLIBC_2.27 pkey_set F +GLIBC_2.27 strfromf128 F +GLIBC_2.27 strfromf32 F +GLIBC_2.27 strfromf32x F +GLIBC_2.27 strfromf64 F +GLIBC_2.27 strfromf64x F +GLIBC_2.27 strtof128 F +GLIBC_2.27 strtof128_l F +GLIBC_2.27 strtof32 F +GLIBC_2.27 strtof32_l F +GLIBC_2.27 strtof32x F +GLIBC_2.27 strtof32x_l F +GLIBC_2.27 strtof64 F +GLIBC_2.27 strtof64_l F +GLIBC_2.27 strtof64x F +GLIBC_2.27 strtof64x_l F +GLIBC_2.27 wcstof128 F +GLIBC_2.27 wcstof128_l F +GLIBC_2.27 wcstof32 F +GLIBC_2.27 wcstof32_l F +GLIBC_2.27 wcstof32x F +GLIBC_2.27 wcstof32x_l F +GLIBC_2.27 wcstof64 F +GLIBC_2.27 wcstof64_l F +GLIBC_2.27 wcstof64x F +GLIBC_2.27 wcstof64x_l F +GLIBC_2.28 fcntl64 F +GLIBC_2.28 renameat2 F +GLIBC_2.28 statx F +GLIBC_2.28 thrd_current F +GLIBC_2.28 thrd_equal F +GLIBC_2.28 thrd_sleep F +GLIBC_2.28 thrd_yield F GLIBC_2.3 __ctype_b_loc F GLIBC_2.3 __ctype_tolower_loc F GLIBC_2.3 __ctype_toupper_loc F @@ -2020,7 +2055,6 @@ GLIBC_2.3 wcstoull_l F GLIBC_2.3 wcsxfrm_l F GLIBC_2.3 wctrans_l F GLIBC_2.3 wctype_l F -GLIBC_2.3.2 GLIBC_2.3.2 A GLIBC_2.3.2 __register_atfork F GLIBC_2.3.2 epoll_create F GLIBC_2.3.2 epoll_ctl F @@ -2033,7 +2067,6 @@ GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F GLIBC_2.3.2 strptime_l F -GLIBC_2.3.3 GLIBC_2.3.3 A GLIBC_2.3.3 _sys_siglist D 0x400 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2055,7 +2088,6 @@ GLIBC_2.3.3 strtoll_l F GLIBC_2.3.3 strtoull_l F GLIBC_2.3.3 sys_sigabbrev D 0x400 GLIBC_2.3.3 sys_siglist D 0x400 -GLIBC_2.3.4 GLIBC_2.3.4 A GLIBC_2.3.4 __chk_fail F GLIBC_2.3.4 __fprintf_chk F GLIBC_2.3.4 __gets_chk F @@ -2085,7 +2117,6 @@ GLIBC_2.3.4 setipv4sourcefilter F GLIBC_2.3.4 setsourcefilter F GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F -GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F @@ -2158,7 +2189,6 @@ GLIBC_2.4 renameat F GLIBC_2.4 symlinkat F GLIBC_2.4 unlinkat F GLIBC_2.4 unshare F -GLIBC_2.5 GLIBC_2.5 A GLIBC_2.5 __readlinkat_chk F GLIBC_2.5 inet6_opt_append F GLIBC_2.5 inet6_opt_find F @@ -2176,7 +2206,6 @@ GLIBC_2.5 inet6_rth_space F GLIBC_2.5 splice F GLIBC_2.5 tee F GLIBC_2.5 vmsplice F -GLIBC_2.6 GLIBC_2.6 A GLIBC_2.6 __sched_cpucount F GLIBC_2.6 epoll_pwait F GLIBC_2.6 futimens F @@ -2184,7 +2213,6 @@ GLIBC_2.6 sched_getcpu F GLIBC_2.6 strerror_l F GLIBC_2.6 sync_file_range F GLIBC_2.6 utimensat F -GLIBC_2.7 GLIBC_2.7 A GLIBC_2.7 __fread_chk F GLIBC_2.7 __fread_unlocked_chk F GLIBC_2.7 __isoc99_fscanf F @@ -2211,7 +2239,6 @@ GLIBC_2.7 eventfd_write F GLIBC_2.7 mkostemp F GLIBC_2.7 mkostemp64 F GLIBC_2.7 signalfd F -GLIBC_2.8 GLIBC_2.8 A GLIBC_2.8 __asprintf_chk F GLIBC_2.8 __dprintf_chk F GLIBC_2.8 __obstack_printf_chk F @@ -2222,7 +2249,6 @@ GLIBC_2.8 qsort_r F GLIBC_2.8 timerfd_create F GLIBC_2.8 timerfd_gettime F GLIBC_2.8 timerfd_settime F -GLIBC_2.9 GLIBC_2.9 A GLIBC_2.9 dup3 F GLIBC_2.9 epoll_create1 F GLIBC_2.9 inotify_init1 F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist index 2d92a35e81..06f995151c 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 GLIBC_2.0 A GLIBC_2.0 __b64_ntop F GLIBC_2.0 __b64_pton F GLIBC_2.0 __dn_comp F @@ -57,7 +56,6 @@ GLIBC_2.0 res_querydomain F GLIBC_2.0 res_search F GLIBC_2.0 res_send_setqhook F GLIBC_2.0 res_send_setrhook F -GLIBC_2.2 GLIBC_2.2 A GLIBC_2.2 __dn_expand F GLIBC_2.2 __res_hostalias F GLIBC_2.2 __res_mkquery F @@ -69,9 +67,7 @@ GLIBC_2.2 __res_nsend F GLIBC_2.2 __res_query F GLIBC_2.2 __res_querydomain F GLIBC_2.2 __res_search F -GLIBC_2.3.2 GLIBC_2.3.2 A GLIBC_2.3.2 __p_rcode F -GLIBC_2.9 GLIBC_2.9 A GLIBC_2.9 ns_datetosecs F GLIBC_2.9 ns_format_ttl F GLIBC_2.9 ns_get16 F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/mmap64.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/mmap64.c deleted file mode 100644 index 0dbd384a6a..0000000000 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/mmap64.c +++ /dev/null @@ -1 +0,0 @@ -/* mmap64 is the same as mmap. */ diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c deleted file mode 100644 index 86ff6ef5b9..0000000000 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 2003-2016 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#define posix_fadvise64 __no_posix_fadvise64 -#include <errno.h> -#include <fcntl.h> -#include <sysdep.h> -#undef posix_fadvise64 - -/* Advice the system about the expected behaviour of the application with - respect to the file associated with FD. */ - -int -posix_fadvise (int fd, off_t offset, off_t len, int advise) -{ -#ifdef __NR_fadvise64 - INTERNAL_SYSCALL_DECL (err); - int ret = INTERNAL_SYSCALL (fadvise64, err, 4, fd, offset, len, advise); - if (INTERNAL_SYSCALL_ERROR_P (ret, err)) - return INTERNAL_SYSCALL_ERRNO (ret, err); - return 0; -#else - return ENOSYS; -#endif -} - -#include <shlib-compat.h> - -#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_3_3) -strong_alias (posix_fadvise, __posix_fadvise64_l32); -compat_symbol (libc, __posix_fadvise64_l32, posix_fadvise64, GLIBC_2_2); -strong_alias (posix_fadvise, __posix_fadvise64_l64); -versioned_symbol (libc, __posix_fadvise64_l64, posix_fadvise64, GLIBC_2_3_3); -#else -weak_alias (posix_fadvise, posix_fadvise64); -#endif diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c index c9f72c4ce1..28624b6311 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise64.c @@ -1 +1,35 @@ -/* posix_fadvise64 is in posix_fadvise.c */ +/* Copyright (C) 2003-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#undef weak_alias +#define weak_alias(a, b) +#undef strong_alias +#define strong_alias(a, b) + +#include <sysdeps/unix/sysv/linux/posix_fadvise64.c> + +/* Although both posix_fadvise and posix_fadvise64 has the same semantic + on mips64, there were were releases with both symbol versions (BZ#14044). + So we need to continue export them. */ +#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_3_3) +_strong_alias (__posix_fadvise64_l64, __posix_fadvise64_l32); +compat_symbol (libc, __posix_fadvise64_l32, posix_fadvise64, GLIBC_2_2); +versioned_symbol (libc, __posix_fadvise64_l64, posix_fadvise64, GLIBC_2_3_3); +#else +_weak_alias (posix_fadvise, posix_fadvise64); +#endif +_strong_alias (__posix_fadvise64_l64, posix_fadvise); diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fallocate.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fallocate.c deleted file mode 100644 index b3fe81bc8c..0000000000 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fallocate.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate.c> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fallocate64.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fallocate64.c deleted file mode 100644 index f466f13e45..0000000000 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fallocate64.c +++ /dev/null @@ -1 +0,0 @@ -/* posix_fallocate64 is in posix_fallocate.c */ diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/preadv64.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/preadv64.c deleted file mode 100644 index fd9320cfc7..0000000000 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/preadv64.c +++ /dev/null @@ -1 +0,0 @@ -/* Empty since the preadv syscall is equivalent. */ diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/pwritev64.c b/sysdeps/unix/sysv/linux/mips/mips64/n64/pwritev64.c deleted file mode 100644 index 8b72a2928b..0000000000 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/pwritev64.c +++ /dev/null @@ -1 +0,0 @@ -/* Empty since the pwritev syscall is equivalent. */ diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list b/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list index 890a74494a..8e7d516a2a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list @@ -1,9 +1,5 @@ # File name Caller Syscall name # args Strong name Weak names -mmap - mmap b:aniiii __mmap mmap __mmap64 mmap64 - -sync_file_range - sync_file_range Ci:iiii sync_file_range - prlimit EXTRA prlimit64 i:iipp prlimit prlimit64 fanotify_mark EXTRA fanotify_mark i:iiiis fanotify_mark diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h b/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h index db8b237eb7..c9046a06b8 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2016 Free Software Foundation, Inc. +/* Copyright (C) 2000-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -291,6 +291,23 @@ #define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \ "$14", "$15", "$24", "$25", "hi", "lo", "memory" + +/* Standard MIPS syscalls have an error flag, and return a positive errno + when the error flag is set. Emulate this behaviour for vsyscalls so that + the INTERNAL_SYSCALL_{ERROR_P,ERRNO} macros work correctly. */ +#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \ + ({ \ + long _ret = funcptr (args); \ + err = ((unsigned long) (_ret) >= (unsigned long) -4095L); \ + if (err) \ + _ret = -_ret; \ + _ret; \ + }) + +/* List of system calls which are supported as vsyscalls. */ +#define HAVE_CLOCK_GETTIME_VSYSCALL 1 +#define HAVE_GETTIMEOFDAY_VSYSCALL 1 + #endif /* __ASSEMBLER__ */ /* Pointer mangling is not yet supported for MIPS. */ |