diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 19:15:57 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 19:15:57 +0000 |
commit | c7e872bca3c3f2831bb426bdb29f6e3baf12d487 (patch) | |
tree | 22643ef845482489284e49a088e9043877cea223 /sysdeps/unix/sysv/linux/sh | |
parent | dd8cbb15da8a2d4912a7f54781537e01032f6556 (diff) | |
parent | 3fcbb67b7949a8b362de5558bf1c6dd7ec5d21cf (diff) |
Merge branch 't/tls-threadvar' into refs/top-bases/t/gsync-libc-merge
Diffstat (limited to 'sysdeps/unix/sysv/linux/sh')
65 files changed, 680 insertions, 699 deletions
diff --git a/sysdeps/unix/sysv/linux/sh/____longjmp_chk.S b/sysdeps/unix/sysv/linux/sh/____longjmp_chk.S index f9aa33cb98..402c912078 100644 --- a/sysdeps/unix/sysv/linux/sh/____longjmp_chk.S +++ b/sysdeps/unix/sysv/linux/sh/____longjmp_chk.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2016 Free Software Foundation, Inc. +/* Copyright (C) 2009-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 diff --git a/sysdeps/unix/sysv/linux/sh/arch-fork.h b/sysdeps/unix/sysv/linux/sh/arch-fork.h deleted file mode 100644 index 4b1523daba..0000000000 --- a/sysdeps/unix/sysv/linux/sh/arch-fork.h +++ /dev/null @@ -1,28 +0,0 @@ -/* ARCH_FORK definition for Linux fork implementation. SH version. - 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/>. */ - -#include <sched.h> -#include <signal.h> -#include <sysdep.h> -#include <tls.h> - -/* TLS pointer argument is passed as the 5-th argument. */ -#define ARCH_FORK() \ - INLINE_SYSCALL (clone, 5, \ - CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, 0, \ - NULL, &THREAD_SELF->tid, NULL) diff --git a/sysdeps/unix/sysv/linux/sh/atomic-machine.h b/sysdeps/unix/sysv/linux/sh/atomic-machine.h index 0a8e083545..798735527b 100644 --- a/sysdeps/unix/sysv/linux/sh/atomic-machine.h +++ b/sysdeps/unix/sysv/linux/sh/atomic-machine.h @@ -1,5 +1,5 @@ /* Atomic operations used inside libc. Linux/SH version. - Copyright (C) 2003-2016 Free Software Foundation, Inc. + 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 @@ -47,6 +47,9 @@ typedef uintmax_t uatomic_max_t; #define __HAVE_64B_ATOMICS 0 #define USE_ATOMIC_COMPILER_BUILTINS 0 +/* XXX Is this actually correct? */ +#define ATOMIC_EXCHANGE_USES_CAS 1 + /* SH kernel has implemented a gUSA ("g" User Space Atomicity) support for the user space atomicity. The atomicity macros use this scheme. diff --git a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h index 6c989576fe..60478a94d2 100644 --- a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/SH. - Copyright (C) 1995-2016 Free Software Foundation, Inc. + Copyright (C) 1995-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 diff --git a/sysdeps/unix/sysv/linux/sh/bits/mman.h b/sysdeps/unix/sysv/linux/sh/bits/mman.h index 45ea5b40f9..9015957e65 100644 --- a/sysdeps/unix/sysv/linux/sh/bits/mman.h +++ b/sysdeps/unix/sysv/linux/sh/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/SH version. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-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 @@ -34,6 +34,10 @@ # define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ # define MAP_STACK 0x20000 /* Allocation is for a stack. */ # define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +# define MAP_SYNC 0x80000 /* Perform synchronous page + faults for the mapping. */ +# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ #endif /* Include generic Linux declarations. */ diff --git a/sysdeps/unix/sysv/linux/sh/bits/shm.h b/sysdeps/unix/sysv/linux/sh/bits/shm.h index 0bbea7c582..25ca3a2abb 100644 --- a/sysdeps/unix/sysv/linux/sh/bits/shm.h +++ b/sysdeps/unix/sysv/linux/sh/bits/shm.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2016 Free Software Foundation, Inc. +/* Copyright (C) 1995-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 @@ -66,6 +66,7 @@ struct shmid_ds /* ipcs ctl commands */ # define SHM_STAT 13 # define SHM_INFO 14 +# define SHM_STAT_ANY 15 /* shm_mode upper byte flags */ # define SHM_DEST 01000 /* segment will be destroyed on last detach */ diff --git a/sysdeps/unix/sysv/linux/sh/brk.c b/sysdeps/unix/sysv/linux/sh/brk.c index 9ee79e92f5..f29199c6e8 100644 --- a/sysdeps/unix/sysv/linux/sh/brk.c +++ b/sysdeps/unix/sysv/linux/sh/brk.c @@ -1,5 +1,5 @@ /* brk system call for Linux/SH. - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-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 diff --git a/sysdeps/unix/sysv/linux/sh/clone.S b/sysdeps/unix/sysv/linux/sh/clone.S index 53cc08b61e..4c39c99940 100644 --- a/sysdeps/unix/sysv/linux/sh/clone.S +++ b/sysdeps/unix/sysv/linux/sh/clone.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2016 Free Software Foundation, Inc. +/* Copyright (C) 1999-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 @@ -66,61 +66,22 @@ ENTRY(__clone) 2: /* terminate the stack frame */ mov #0, r14 - mov r4, r0 - shlr16 r0 - tst #1, r0 // CLONE_THREAD = (1 << 16) - bf/s 4f - mov r4, r0 - /* new pid */ - shlr8 r0 - tst #1, r0 // CLONE_VM = (1 << 8) - bf/s 3f - mov #-1, r0 - mov #+SYS_ify(getpid), r3 - trapa #0x15 -3: - stc gbr, r1 - mov.w .Lpidoff, r2 - add r1, r2 - mov.l r0, @r2 - mov.w .Ltidoff, r2 - add r1, r2 - mov.l r0, @r2 -4: + /* thread starts */ mov.l @r15, r1 jsr @r1 mov.l @(4,r15), r4 /* we are done, passing the return value through r0 */ - mov.l .L3, r1 -#ifdef SHARED - mov.l r12, @-r15 - sts.l pr, @-r15 - mov r0, r4 - mova .LG, r0 - mov.l .LG, r12 - add r0, r12 - mova .L3, r0 - add r0, r1 - jsr @r1 - nop - lds.l @r15+, pr - rts - mov.l @r15+, r12 -#else - jmp @r1 - mov r0, r4 -#endif + mov r0, r4 + mov #+SYS_ify(exit), r3 + trapa #0x15 .align 2 .LG: .long _GLOBAL_OFFSET_TABLE_ .L3: .long PLTJMP(C_SYMBOL_NAME(_exit)) -.Lpidoff: - .word PID - TLS_PRE_TCB_SIZE -.Ltidoff: - .word TID - TLS_PRE_TCB_SIZE PSEUDO_END (__clone) +libc_hidden_def (__clone) weak_alias (__clone, clone) diff --git a/sysdeps/unix/sysv/linux/sh/fcntl.c b/sysdeps/unix/sysv/linux/sh/fcntl.c deleted file mode 100644 index ea951bc4f9..0000000000 --- a/sysdeps/unix/sysv/linux/sh/fcntl.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/fcntl.c> diff --git a/sysdeps/unix/sysv/linux/sh/getrlimit64.c b/sysdeps/unix/sysv/linux/sh/getrlimit64.c deleted file mode 100644 index fef018f471..0000000000 --- a/sysdeps/unix/sysv/linux/sh/getrlimit64.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/getrlimit64.c> diff --git a/sysdeps/unix/sysv/linux/sh/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/sh/jmp_buf-macros.h new file mode 100644 index 0000000000..b2bc30db5d --- /dev/null +++ b/sysdeps/unix/sysv/linux/sh/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 192 +#define SIGJMP_BUF_SIZE 192 +#define JMP_BUF_ALIGN 4 +#define SIGJMP_BUF_ALIGN 4 +#define MASK_WAS_SAVED_OFFSET 60 +#define SAVED_MASK_OFFSET 64 diff --git a/sysdeps/unix/sysv/linux/sh/kernel-features.h b/sysdeps/unix/sysv/linux/sh/kernel-features.h index 037d6ff0d6..b8ccb01518 100644 --- a/sysdeps/unix/sysv/linux/sh/kernel-features.h +++ b/sysdeps/unix/sysv/linux/sh/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. SH version. - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-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 @@ -17,52 +17,46 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#ifndef __KERNEL_FEATURES_SH__ +# define __KERNEL_FEATURES_SH__ + /* SH uses socketcall. */ #define __ASSUME_SOCKETCALL 1 /* These syscalls were added for SH in 2.6.37. */ -#if __LINUX_KERNEL_VERSION >= 0x020625 -# define __ASSUME_SOCKET_SYSCALL 1 -# define __ASSUME_BIND_SYSCALL 1 -# define __ASSUME_CONNECT_SYSCALL 1 -# define __ASSUME_LISTEN_SYSCALL 1 -# define __ASSUME_ACCEPT_SYSCALL 1 -# define __ASSUME_GETSOCKNAME_SYSCALL 1 -# define __ASSUME_GETPEERNAME_SYSCALL 1 -# define __ASSUME_SOCKETPAIR_SYSCALL 1 -# define __ASSUME_SEND_SYSCALL 1 -# define __ASSUME_SENDTO_SYSCALL 1 -# define __ASSUME_RECV_SYSCALL 1 -# define __ASSUME_RECVFROM_SYSCALL 1 -# define __ASSUME_SHUTDOWN_SYSCALL 1 -# define __ASSUME_GETSOCKOPT_SYSCALL 1 -# define __ASSUME_SETSOCKOPT_SYSCALL 1 -# define __ASSUME_SENDMSG_SYSCALL 1 -# define __ASSUME_RECVMSG_SYSCALL 1 -#endif - -/* The accept4 syscall was added for SH in 2.6.37. */ -#if __LINUX_KERNEL_VERSION >= 0x020625 -# define __ASSUME_ACCEPT4_SYSCALL 1 -#endif - -/* The recvmmsg syscall was added for SH in 2.6.37. */ -#if __LINUX_KERNEL_VERSION >= 0x020625 -# define __ASSUME_RECVMMSG_SYSCALL 1 -#endif - -/* The sendmmsg syscall was added for SH in 3.0. */ -#if __LINUX_KERNEL_VERSION >= 0x030000 -# define __ASSUME_SENDMMSG_SYSCALL 1 -#endif -#define __ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL 1 +#define __ASSUME_SOCKET_SYSCALL 1 +#define __ASSUME_BIND_SYSCALL 1 +#define __ASSUME_CONNECT_SYSCALL 1 +#define __ASSUME_LISTEN_SYSCALL 1 +#define __ASSUME_GETSOCKNAME_SYSCALL 1 +#define __ASSUME_GETPEERNAME_SYSCALL 1 +#define __ASSUME_SOCKETPAIR_SYSCALL 1 +#define __ASSUME_SEND_SYSCALL 1 +#define __ASSUME_RECV_SYSCALL 1 +#define __ASSUME_SHUTDOWN_SYSCALL 1 +#define __ASSUME_GETSOCKOPT_SYSCALL 1 +#define __ASSUME_SETSOCKOPT_SYSCALL 1 #include_next <kernel-features.h> /* SH does not have a 64-bit inode field. */ #undef __ASSUME_ST_INO_64_BIT +#define __ASSUME_ST_INO_64_BIT 0 + +/* SH4 ABI does not really require argument alignment for 64-bits, but + the kernel interface for p{read,write}64 adds a dummy long argument + before the offset. */ +#define __ASSUME_PRW_DUMMY_ARG 1 + +/* sh only supports ipc syscall. */ +#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS + +/* Support for the renameat2 syscall was added in 4.8. */ +#if __LINUX_KERNEL_VERSION < 0x040800 +# undef __ASSUME_RENAMEAT2 +#endif + +/* sh does not support the statx system call. */ +#undef __ASSUME_STATX -/* The prlimit64 syscall was added for SH in 2.6.37. */ -#if __LINUX_KERNEL_VERSION < 0x020625 -# undef __ASSUME_PRLIMIT64 #endif diff --git a/sysdeps/unix/sysv/linux/sh/kernel_sigaction.h b/sysdeps/unix/sysv/linux/sh/kernel_sigaction.h new file mode 100644 index 0000000000..7ebcd08d62 --- /dev/null +++ b/sysdeps/unix/sysv/linux/sh/kernel_sigaction.h @@ -0,0 +1,8 @@ +/* SH uses the generic Linux UAPI but defines SA_RESTORER. */ +#define SA_RESTORER 0x04000000 +#include <sysdeps/unix/sysv/linux/kernel_sigaction.h> + +#define SET_SA_RESTORER(kact, act) \ + (kact)->sa_restorer = (act)->sa_restorer +#define RESET_SA_RESTORER(act, kact) \ + (act)->sa_restorer = (kact)->sa_restorer diff --git a/sysdeps/unix/sysv/linux/sh/ld.abilist b/sysdeps/unix/sysv/linux/sh/ld.abilist index dc3ebf48c5..0387614d8f 100644 --- a/sysdeps/unix/sysv/linux/sh/ld.abilist +++ b/sysdeps/unix/sysv/linux/sh/ld.abilist @@ -1,5 +1,3 @@ -GLIBC_2.2 GLIBC_2.2 A -GLIBC_2.2 __libc_memalign F GLIBC_2.2 __libc_stack_end D 0x4 GLIBC_2.2 _dl_mcount F GLIBC_2.2 _r_debug D 0x14 @@ -7,7 +5,5 @@ GLIBC_2.2 calloc F GLIBC_2.2 free F GLIBC_2.2 malloc F GLIBC_2.2 realloc 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 0x4 diff --git a/sysdeps/unix/sysv/linux/sh/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/sh/libBrokenLocale.abilist index 21343df781..0e4d814909 100644 --- a/sysdeps/unix/sysv/linux/sh/libBrokenLocale.abilist +++ b/sysdeps/unix/sysv/linux/sh/libBrokenLocale.abilist @@ -1,2 +1 @@ -GLIBC_2.2 GLIBC_2.2 A GLIBC_2.2 __ctype_get_mb_cur_max F diff --git a/sysdeps/unix/sysv/linux/sh/libanl.abilist b/sysdeps/unix/sysv/linux/sh/libanl.abilist index edabfb436e..d9a5ed015d 100644 --- a/sysdeps/unix/sysv/linux/sh/libanl.abilist +++ b/sysdeps/unix/sysv/linux/sh/libanl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.2.3 GLIBC_2.2.3 A GLIBC_2.2.3 gai_cancel F GLIBC_2.2.3 gai_error F GLIBC_2.2.3 gai_suspend F diff --git a/sysdeps/unix/sysv/linux/sh/libc.abilist b/sysdeps/unix/sysv/linux/sh/libc.abilist index e1286921e5..1f4e648baa 100644 --- a/sysdeps/unix/sysv/linux/sh/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/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.10 GLIBC_2.10 A GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F GLIBC_2.10 accept4 F @@ -29,7 +27,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 @@ -37,25 +34,21 @@ 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 _sys_errlist D 0x21c GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x21c GLIBC_2.12 sys_nerr D 0x4 -GLIBC_2.13 GLIBC_2.13 A GLIBC_2.13 fanotify_init 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 @@ -64,7 +57,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 @@ -76,16 +68,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 0x98 GLIBC_2.2 _IO_2_1_stdin_ D 0x98 @@ -1830,33 +1819,71 @@ GLIBC_2.2 xdrstdio_create F GLIBC_2.2 xencrypt F GLIBC_2.2 xprt_register F GLIBC_2.2 xprt_unregister 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 strfromf32 F +GLIBC_2.27 strfromf32x F +GLIBC_2.27 strfromf64 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 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.28 fcntl 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 @@ -1950,7 +1977,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 @@ -1963,7 +1989,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 0x104 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -1984,7 +2009,6 @@ GLIBC_2.3.3 sched_setaffinity F GLIBC_2.3.3 semtimedop F GLIBC_2.3.3 sys_sigabbrev D 0x104 GLIBC_2.3.3 sys_siglist D 0x104 -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 @@ -2014,7 +2038,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 @@ -2091,7 +2114,6 @@ GLIBC_2.4 sys_errlist D 0x210 GLIBC_2.4 sys_nerr D 0x4 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 @@ -2109,7 +2131,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 @@ -2117,7 +2138,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 @@ -2144,7 +2164,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 @@ -2155,7 +2174,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/sh/libcrypt.abilist b/sysdeps/unix/sysv/linux/sh/libcrypt.abilist index 4db2639336..cd6ba95280 100644 --- a/sysdeps/unix/sysv/linux/sh/libcrypt.abilist +++ b/sysdeps/unix/sysv/linux/sh/libcrypt.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 GLIBC_2.0 A GLIBC_2.0 crypt F GLIBC_2.0 crypt_r F GLIBC_2.0 encrypt F diff --git a/sysdeps/unix/sysv/linux/sh/libdl.abilist b/sysdeps/unix/sysv/linux/sh/libdl.abilist index 5536f6e0a9..7826fde951 100644 --- a/sysdeps/unix/sysv/linux/sh/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sh/libdl.abilist @@ -1,14 +1,10 @@ -GLIBC_2.0 GLIBC_2.0 A GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F -GLIBC_2.1 GLIBC_2.1 A GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 GLIBC_2.3.3 A GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 GLIBC_2.3.4 A GLIBC_2.3.4 dlmopen F diff --git a/sysdeps/unix/sysv/linux/sh/libm.abilist b/sysdeps/unix/sysv/linux/sh/libm.abilist index 93b84713d8..43525fccf6 100644 --- a/sysdeps/unix/sysv/linux/sh/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/libm.abilist @@ -1,4 +1,3 @@ -GLIBC_2.15 GLIBC_2.15 A GLIBC_2.15 __acos_finite F GLIBC_2.15 __acosf_finite F GLIBC_2.15 __acosh_finite F @@ -53,10 +52,8 @@ GLIBC_2.15 __y1_finite F GLIBC_2.15 __y1f_finite F GLIBC_2.15 __yn_finite F GLIBC_2.15 __ynf_finite F -GLIBC_2.18 GLIBC_2.18 A GLIBC_2.18 __issignaling F GLIBC_2.18 __issignalingf F -GLIBC_2.2 GLIBC_2.2 A GLIBC_2.2 _LIB_VERSION D 0x4 GLIBC_2.2 __clog10 F GLIBC_2.2 __clog10f F @@ -368,10 +365,403 @@ GLIBC_2.2 y1l F GLIBC_2.2 yn F GLIBC_2.2 ynf F GLIBC_2.2 ynl F -GLIBC_2.23 GLIBC_2.23 A GLIBC_2.23 __signgam D 0x4 GLIBC_2.23 lgamma F GLIBC_2.23 lgammaf F GLIBC_2.23 lgammal F -GLIBC_2.4 GLIBC_2.4 A +GLIBC_2.24 nextdown F +GLIBC_2.24 nextdownf F +GLIBC_2.24 nextdownl F +GLIBC_2.24 nextup F +GLIBC_2.24 nextupf F +GLIBC_2.24 nextupl F +GLIBC_2.25 __iseqsig F +GLIBC_2.25 __iseqsigf F +GLIBC_2.25 canonicalize F +GLIBC_2.25 canonicalizef F +GLIBC_2.25 canonicalizel F +GLIBC_2.25 fegetmode F +GLIBC_2.25 fesetexcept F +GLIBC_2.25 fesetmode F +GLIBC_2.25 fetestexceptflag F +GLIBC_2.25 fmaxmag F +GLIBC_2.25 fmaxmagf F +GLIBC_2.25 fmaxmagl F +GLIBC_2.25 fminmag F +GLIBC_2.25 fminmagf F +GLIBC_2.25 fminmagl F +GLIBC_2.25 fromfp F +GLIBC_2.25 fromfpf F +GLIBC_2.25 fromfpl F +GLIBC_2.25 fromfpx F +GLIBC_2.25 fromfpxf F +GLIBC_2.25 fromfpxl F +GLIBC_2.25 getpayload F +GLIBC_2.25 getpayloadf F +GLIBC_2.25 getpayloadl F +GLIBC_2.25 llogb F +GLIBC_2.25 llogbf F +GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F +GLIBC_2.25 setpayload F +GLIBC_2.25 setpayloadf F +GLIBC_2.25 setpayloadl F +GLIBC_2.25 setpayloadsig F +GLIBC_2.25 setpayloadsigf F +GLIBC_2.25 setpayloadsigl F +GLIBC_2.25 totalorder F +GLIBC_2.25 totalorderf F +GLIBC_2.25 totalorderl F +GLIBC_2.25 totalordermag F +GLIBC_2.25 totalordermagf F +GLIBC_2.25 totalordermagl F +GLIBC_2.25 ufromfp F +GLIBC_2.25 ufromfpf F +GLIBC_2.25 ufromfpl F +GLIBC_2.25 ufromfpx F +GLIBC_2.25 ufromfpxf F +GLIBC_2.25 ufromfpxl F +GLIBC_2.27 acosf32 F +GLIBC_2.27 acosf32x F +GLIBC_2.27 acosf64 F +GLIBC_2.27 acoshf32 F +GLIBC_2.27 acoshf32x F +GLIBC_2.27 acoshf64 F +GLIBC_2.27 asinf32 F +GLIBC_2.27 asinf32x F +GLIBC_2.27 asinf64 F +GLIBC_2.27 asinhf32 F +GLIBC_2.27 asinhf32x F +GLIBC_2.27 asinhf64 F +GLIBC_2.27 atan2f32 F +GLIBC_2.27 atan2f32x F +GLIBC_2.27 atan2f64 F +GLIBC_2.27 atanf32 F +GLIBC_2.27 atanf32x F +GLIBC_2.27 atanf64 F +GLIBC_2.27 atanhf32 F +GLIBC_2.27 atanhf32x F +GLIBC_2.27 atanhf64 F +GLIBC_2.27 cabsf32 F +GLIBC_2.27 cabsf32x F +GLIBC_2.27 cabsf64 F +GLIBC_2.27 cacosf32 F +GLIBC_2.27 cacosf32x F +GLIBC_2.27 cacosf64 F +GLIBC_2.27 cacoshf32 F +GLIBC_2.27 cacoshf32x F +GLIBC_2.27 cacoshf64 F +GLIBC_2.27 canonicalizef32 F +GLIBC_2.27 canonicalizef32x F +GLIBC_2.27 canonicalizef64 F +GLIBC_2.27 cargf32 F +GLIBC_2.27 cargf32x F +GLIBC_2.27 cargf64 F +GLIBC_2.27 casinf32 F +GLIBC_2.27 casinf32x F +GLIBC_2.27 casinf64 F +GLIBC_2.27 casinhf32 F +GLIBC_2.27 casinhf32x F +GLIBC_2.27 casinhf64 F +GLIBC_2.27 catanf32 F +GLIBC_2.27 catanf32x F +GLIBC_2.27 catanf64 F +GLIBC_2.27 catanhf32 F +GLIBC_2.27 catanhf32x F +GLIBC_2.27 catanhf64 F +GLIBC_2.27 cbrtf32 F +GLIBC_2.27 cbrtf32x F +GLIBC_2.27 cbrtf64 F +GLIBC_2.27 ccosf32 F +GLIBC_2.27 ccosf32x F +GLIBC_2.27 ccosf64 F +GLIBC_2.27 ccoshf32 F +GLIBC_2.27 ccoshf32x F +GLIBC_2.27 ccoshf64 F +GLIBC_2.27 ceilf32 F +GLIBC_2.27 ceilf32x F +GLIBC_2.27 ceilf64 F +GLIBC_2.27 cexpf32 F +GLIBC_2.27 cexpf32x F +GLIBC_2.27 cexpf64 F +GLIBC_2.27 cimagf32 F +GLIBC_2.27 cimagf32x F +GLIBC_2.27 cimagf64 F +GLIBC_2.27 clog10f32 F +GLIBC_2.27 clog10f32x F +GLIBC_2.27 clog10f64 F +GLIBC_2.27 clogf32 F +GLIBC_2.27 clogf32x F +GLIBC_2.27 clogf64 F +GLIBC_2.27 conjf32 F +GLIBC_2.27 conjf32x F +GLIBC_2.27 conjf64 F +GLIBC_2.27 copysignf32 F +GLIBC_2.27 copysignf32x F +GLIBC_2.27 copysignf64 F +GLIBC_2.27 cosf32 F +GLIBC_2.27 cosf32x F +GLIBC_2.27 cosf64 F +GLIBC_2.27 coshf32 F +GLIBC_2.27 coshf32x F +GLIBC_2.27 coshf64 F +GLIBC_2.27 cpowf32 F +GLIBC_2.27 cpowf32x F +GLIBC_2.27 cpowf64 F +GLIBC_2.27 cprojf32 F +GLIBC_2.27 cprojf32x F +GLIBC_2.27 cprojf64 F +GLIBC_2.27 crealf32 F +GLIBC_2.27 crealf32x F +GLIBC_2.27 crealf64 F +GLIBC_2.27 csinf32 F +GLIBC_2.27 csinf32x F +GLIBC_2.27 csinf64 F +GLIBC_2.27 csinhf32 F +GLIBC_2.27 csinhf32x F +GLIBC_2.27 csinhf64 F +GLIBC_2.27 csqrtf32 F +GLIBC_2.27 csqrtf32x F +GLIBC_2.27 csqrtf64 F +GLIBC_2.27 ctanf32 F +GLIBC_2.27 ctanf32x F +GLIBC_2.27 ctanf64 F +GLIBC_2.27 ctanhf32 F +GLIBC_2.27 ctanhf32x F +GLIBC_2.27 ctanhf64 F +GLIBC_2.27 erfcf32 F +GLIBC_2.27 erfcf32x F +GLIBC_2.27 erfcf64 F +GLIBC_2.27 erff32 F +GLIBC_2.27 erff32x F +GLIBC_2.27 erff64 F +GLIBC_2.27 exp10f32 F +GLIBC_2.27 exp10f32x F +GLIBC_2.27 exp10f64 F +GLIBC_2.27 exp2f F +GLIBC_2.27 exp2f32 F +GLIBC_2.27 exp2f32x F +GLIBC_2.27 exp2f64 F +GLIBC_2.27 expf F +GLIBC_2.27 expf32 F +GLIBC_2.27 expf32x F +GLIBC_2.27 expf64 F +GLIBC_2.27 expm1f32 F +GLIBC_2.27 expm1f32x F +GLIBC_2.27 expm1f64 F +GLIBC_2.27 fabsf32 F +GLIBC_2.27 fabsf32x F +GLIBC_2.27 fabsf64 F +GLIBC_2.27 fdimf32 F +GLIBC_2.27 fdimf32x F +GLIBC_2.27 fdimf64 F +GLIBC_2.27 floorf32 F +GLIBC_2.27 floorf32x F +GLIBC_2.27 floorf64 F +GLIBC_2.27 fmaf32 F +GLIBC_2.27 fmaf32x F +GLIBC_2.27 fmaf64 F +GLIBC_2.27 fmaxf32 F +GLIBC_2.27 fmaxf32x F +GLIBC_2.27 fmaxf64 F +GLIBC_2.27 fmaxmagf32 F +GLIBC_2.27 fmaxmagf32x F +GLIBC_2.27 fmaxmagf64 F +GLIBC_2.27 fminf32 F +GLIBC_2.27 fminf32x F +GLIBC_2.27 fminf64 F +GLIBC_2.27 fminmagf32 F +GLIBC_2.27 fminmagf32x F +GLIBC_2.27 fminmagf64 F +GLIBC_2.27 fmodf32 F +GLIBC_2.27 fmodf32x F +GLIBC_2.27 fmodf64 F +GLIBC_2.27 frexpf32 F +GLIBC_2.27 frexpf32x F +GLIBC_2.27 frexpf64 F +GLIBC_2.27 fromfpf32 F +GLIBC_2.27 fromfpf32x F +GLIBC_2.27 fromfpf64 F +GLIBC_2.27 fromfpxf32 F +GLIBC_2.27 fromfpxf32x F +GLIBC_2.27 fromfpxf64 F +GLIBC_2.27 getpayloadf32 F +GLIBC_2.27 getpayloadf32x F +GLIBC_2.27 getpayloadf64 F +GLIBC_2.27 hypotf32 F +GLIBC_2.27 hypotf32x F +GLIBC_2.27 hypotf64 F +GLIBC_2.27 ilogbf32 F +GLIBC_2.27 ilogbf32x F +GLIBC_2.27 ilogbf64 F +GLIBC_2.27 j0f32 F +GLIBC_2.27 j0f32x F +GLIBC_2.27 j0f64 F +GLIBC_2.27 j1f32 F +GLIBC_2.27 j1f32x F +GLIBC_2.27 j1f64 F +GLIBC_2.27 jnf32 F +GLIBC_2.27 jnf32x F +GLIBC_2.27 jnf64 F +GLIBC_2.27 ldexpf32 F +GLIBC_2.27 ldexpf32x F +GLIBC_2.27 ldexpf64 F +GLIBC_2.27 lgammaf32 F +GLIBC_2.27 lgammaf32_r F +GLIBC_2.27 lgammaf32x F +GLIBC_2.27 lgammaf32x_r F +GLIBC_2.27 lgammaf64 F +GLIBC_2.27 lgammaf64_r F +GLIBC_2.27 llogbf32 F +GLIBC_2.27 llogbf32x F +GLIBC_2.27 llogbf64 F +GLIBC_2.27 llrintf32 F +GLIBC_2.27 llrintf32x F +GLIBC_2.27 llrintf64 F +GLIBC_2.27 llroundf32 F +GLIBC_2.27 llroundf32x F +GLIBC_2.27 llroundf64 F +GLIBC_2.27 log10f32 F +GLIBC_2.27 log10f32x F +GLIBC_2.27 log10f64 F +GLIBC_2.27 log1pf32 F +GLIBC_2.27 log1pf32x F +GLIBC_2.27 log1pf64 F +GLIBC_2.27 log2f F +GLIBC_2.27 log2f32 F +GLIBC_2.27 log2f32x F +GLIBC_2.27 log2f64 F +GLIBC_2.27 logbf32 F +GLIBC_2.27 logbf32x F +GLIBC_2.27 logbf64 F +GLIBC_2.27 logf F +GLIBC_2.27 logf32 F +GLIBC_2.27 logf32x F +GLIBC_2.27 logf64 F +GLIBC_2.27 lrintf32 F +GLIBC_2.27 lrintf32x F +GLIBC_2.27 lrintf64 F +GLIBC_2.27 lroundf32 F +GLIBC_2.27 lroundf32x F +GLIBC_2.27 lroundf64 F +GLIBC_2.27 modff32 F +GLIBC_2.27 modff32x F +GLIBC_2.27 modff64 F +GLIBC_2.27 nanf32 F +GLIBC_2.27 nanf32x F +GLIBC_2.27 nanf64 F +GLIBC_2.27 nearbyintf32 F +GLIBC_2.27 nearbyintf32x F +GLIBC_2.27 nearbyintf64 F +GLIBC_2.27 nextafterf32 F +GLIBC_2.27 nextafterf32x F +GLIBC_2.27 nextafterf64 F +GLIBC_2.27 nextdownf32 F +GLIBC_2.27 nextdownf32x F +GLIBC_2.27 nextdownf64 F +GLIBC_2.27 nextupf32 F +GLIBC_2.27 nextupf32x F +GLIBC_2.27 nextupf64 F +GLIBC_2.27 powf F +GLIBC_2.27 powf32 F +GLIBC_2.27 powf32x F +GLIBC_2.27 powf64 F +GLIBC_2.27 remainderf32 F +GLIBC_2.27 remainderf32x F +GLIBC_2.27 remainderf64 F +GLIBC_2.27 remquof32 F +GLIBC_2.27 remquof32x F +GLIBC_2.27 remquof64 F +GLIBC_2.27 rintf32 F +GLIBC_2.27 rintf32x F +GLIBC_2.27 rintf64 F +GLIBC_2.27 roundevenf32 F +GLIBC_2.27 roundevenf32x F +GLIBC_2.27 roundevenf64 F +GLIBC_2.27 roundf32 F +GLIBC_2.27 roundf32x F +GLIBC_2.27 roundf64 F +GLIBC_2.27 scalblnf32 F +GLIBC_2.27 scalblnf32x F +GLIBC_2.27 scalblnf64 F +GLIBC_2.27 scalbnf32 F +GLIBC_2.27 scalbnf32x F +GLIBC_2.27 scalbnf64 F +GLIBC_2.27 setpayloadf32 F +GLIBC_2.27 setpayloadf32x F +GLIBC_2.27 setpayloadf64 F +GLIBC_2.27 setpayloadsigf32 F +GLIBC_2.27 setpayloadsigf32x F +GLIBC_2.27 setpayloadsigf64 F +GLIBC_2.27 sincosf32 F +GLIBC_2.27 sincosf32x F +GLIBC_2.27 sincosf64 F +GLIBC_2.27 sinf32 F +GLIBC_2.27 sinf32x F +GLIBC_2.27 sinf64 F +GLIBC_2.27 sinhf32 F +GLIBC_2.27 sinhf32x F +GLIBC_2.27 sinhf64 F +GLIBC_2.27 sqrtf32 F +GLIBC_2.27 sqrtf32x F +GLIBC_2.27 sqrtf64 F +GLIBC_2.27 tanf32 F +GLIBC_2.27 tanf32x F +GLIBC_2.27 tanf64 F +GLIBC_2.27 tanhf32 F +GLIBC_2.27 tanhf32x F +GLIBC_2.27 tanhf64 F +GLIBC_2.27 tgammaf32 F +GLIBC_2.27 tgammaf32x F +GLIBC_2.27 tgammaf64 F +GLIBC_2.27 totalorderf32 F +GLIBC_2.27 totalorderf32x F +GLIBC_2.27 totalorderf64 F +GLIBC_2.27 totalordermagf32 F +GLIBC_2.27 totalordermagf32x F +GLIBC_2.27 totalordermagf64 F +GLIBC_2.27 truncf32 F +GLIBC_2.27 truncf32x F +GLIBC_2.27 truncf64 F +GLIBC_2.27 ufromfpf32 F +GLIBC_2.27 ufromfpf32x F +GLIBC_2.27 ufromfpf64 F +GLIBC_2.27 ufromfpxf32 F +GLIBC_2.27 ufromfpxf32x F +GLIBC_2.27 ufromfpxf64 F +GLIBC_2.27 y0f32 F +GLIBC_2.27 y0f32x F +GLIBC_2.27 y0f64 F +GLIBC_2.27 y1f32 F +GLIBC_2.27 y1f32x F +GLIBC_2.27 y1f64 F +GLIBC_2.27 ynf32 F +GLIBC_2.27 ynf32x F +GLIBC_2.27 ynf64 F +GLIBC_2.28 daddl F +GLIBC_2.28 ddivl F +GLIBC_2.28 dmull F +GLIBC_2.28 dsubl F +GLIBC_2.28 f32addf32x F +GLIBC_2.28 f32addf64 F +GLIBC_2.28 f32divf32x F +GLIBC_2.28 f32divf64 F +GLIBC_2.28 f32mulf32x F +GLIBC_2.28 f32mulf64 F +GLIBC_2.28 f32subf32x F +GLIBC_2.28 f32subf64 F +GLIBC_2.28 f32xaddf64 F +GLIBC_2.28 f32xdivf64 F +GLIBC_2.28 f32xmulf64 F +GLIBC_2.28 f32xsubf64 F +GLIBC_2.28 fadd F +GLIBC_2.28 faddl F +GLIBC_2.28 fdiv F +GLIBC_2.28 fdivl F +GLIBC_2.28 fmul F +GLIBC_2.28 fmull F +GLIBC_2.28 fsub F +GLIBC_2.28 fsubl F GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/sh/libnsl.abilist b/sysdeps/unix/sysv/linux/sh/libnsl.abilist index a23db2aeaf..add3d66a7a 100644 --- a/sysdeps/unix/sysv/linux/sh/libnsl.abilist +++ b/sysdeps/unix/sysv/linux/sh/libnsl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 GLIBC_2.0 A GLIBC_2.0 __yp_check F GLIBC_2.0 xdr_domainname F GLIBC_2.0 xdr_keydat F @@ -42,7 +41,6 @@ GLIBC_2.0 yp_update F GLIBC_2.0 ypbinderr_string F GLIBC_2.0 yperr_string F GLIBC_2.0 ypprot_err F -GLIBC_2.1 GLIBC_2.1 A GLIBC_2.1 __free_fdresult F GLIBC_2.1 __nis_default_access F GLIBC_2.1 __nis_default_group F @@ -120,5 +118,4 @@ GLIBC_2.1 readColdStartFile F GLIBC_2.1 writeColdStartFile F GLIBC_2.1 xdr_cback_data F GLIBC_2.1 xdr_obj_p F -GLIBC_2.2 GLIBC_2.2 A GLIBC_2.2 xdr_ypall F diff --git a/sysdeps/unix/sysv/linux/sh/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/libpthread.abilist index a73aa43c55..bcba07f575 100644 --- a/sysdeps/unix/sysv/linux/sh/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/libpthread.abilist @@ -1,15 +1,11 @@ -GLIBC_2.11 GLIBC_2.11 A GLIBC_2.11 pthread_sigqueue F -GLIBC_2.12 GLIBC_2.12 A GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F -GLIBC_2.18 GLIBC_2.18 A GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 GLIBC_2.2 A GLIBC_2.2 _IO_flockfile F GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F @@ -200,18 +196,35 @@ GLIBC_2.2 vfork F GLIBC_2.2 wait F GLIBC_2.2 waitpid F GLIBC_2.2 write F -GLIBC_2.2.3 GLIBC_2.2.3 A GLIBC_2.2.3 pthread_getattr_np F -GLIBC_2.2.6 GLIBC_2.2.6 A GLIBC_2.2.6 __nanosleep F -GLIBC_2.3.2 GLIBC_2.3.2 A +GLIBC_2.28 call_once F +GLIBC_2.28 cnd_broadcast F +GLIBC_2.28 cnd_destroy F +GLIBC_2.28 cnd_init F +GLIBC_2.28 cnd_signal F +GLIBC_2.28 cnd_timedwait F +GLIBC_2.28 cnd_wait F +GLIBC_2.28 mtx_destroy F +GLIBC_2.28 mtx_init F +GLIBC_2.28 mtx_lock F +GLIBC_2.28 mtx_timedlock F +GLIBC_2.28 mtx_trylock F +GLIBC_2.28 mtx_unlock F +GLIBC_2.28 thrd_create F +GLIBC_2.28 thrd_detach F +GLIBC_2.28 thrd_exit F +GLIBC_2.28 thrd_join F +GLIBC_2.28 tss_create F +GLIBC_2.28 tss_delete F +GLIBC_2.28 tss_get F +GLIBC_2.28 tss_set F GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_destroy F GLIBC_2.3.2 pthread_cond_init F 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.3 GLIBC_2.3.3 A GLIBC_2.3.3 __pthread_cleanup_routine F GLIBC_2.3.3 __pthread_register_cancel F GLIBC_2.3.3 __pthread_register_cancel_defer F @@ -227,13 +240,11 @@ GLIBC_2.3.3 pthread_getaffinity_np F GLIBC_2.3.3 pthread_setaffinity_np F GLIBC_2.3.3 pthread_timedjoin_np F GLIBC_2.3.3 pthread_tryjoin_np F -GLIBC_2.3.4 GLIBC_2.3.4 A GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_attr_setaffinity_np F GLIBC_2.3.4 pthread_getaffinity_np F GLIBC_2.3.4 pthread_setaffinity_np F GLIBC_2.3.4 pthread_setschedprio F -GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F diff --git a/sysdeps/unix/sysv/linux/sh/libresolv.abilist b/sysdeps/unix/sysv/linux/sh/libresolv.abilist index 4d50e7c8c6..157a33ce35 100644 --- a/sysdeps/unix/sysv/linux/sh/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/sh/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/sh/librt.abilist b/sysdeps/unix/sysv/linux/sh/librt.abilist index 15e4418863..595f1b712a 100644 --- a/sysdeps/unix/sysv/linux/sh/librt.abilist +++ b/sysdeps/unix/sysv/linux/sh/librt.abilist @@ -1,4 +1,3 @@ -GLIBC_2.1 GLIBC_2.1 A GLIBC_2.1 aio_cancel F GLIBC_2.1 aio_cancel64 F GLIBC_2.1 aio_error F @@ -16,7 +15,6 @@ GLIBC_2.1 aio_write F GLIBC_2.1 aio_write64 F GLIBC_2.1 lio_listio F GLIBC_2.1 lio_listio64 F -GLIBC_2.2 GLIBC_2.2 A GLIBC_2.2 clock_getcpuclockid F GLIBC_2.2 clock_getres F GLIBC_2.2 clock_gettime F @@ -29,7 +27,6 @@ GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F GLIBC_2.2 timer_settime F -GLIBC_2.3.4 GLIBC_2.3.4 A GLIBC_2.3.4 mq_close F GLIBC_2.3.4 mq_getattr F GLIBC_2.3.4 mq_notify F @@ -40,8 +37,6 @@ GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 mq_timedreceive F GLIBC_2.3.4 mq_timedsend F GLIBC_2.3.4 mq_unlink F -GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 lio_listio F GLIBC_2.4 lio_listio64 F -GLIBC_2.7 GLIBC_2.7 A GLIBC_2.7 __mq_open_2 F diff --git a/sysdeps/unix/sysv/linux/sh/libthread_db.abilist b/sysdeps/unix/sysv/linux/sh/libthread_db.abilist index a8a8c2c68d..2db0992737 100644 --- a/sysdeps/unix/sysv/linux/sh/libthread_db.abilist +++ b/sysdeps/unix/sysv/linux/sh/libthread_db.abilist @@ -1,4 +1,3 @@ -GLIBC_2.1.3 GLIBC_2.1.3 A GLIBC_2.1.3 td_init F GLIBC_2.1.3 td_log F GLIBC_2.1.3 td_ta_clear_event F @@ -36,9 +35,6 @@ GLIBC_2.1.3 td_thr_setxregs F GLIBC_2.1.3 td_thr_sigsetmask F GLIBC_2.1.3 td_thr_tsd F GLIBC_2.1.3 td_thr_validate F -GLIBC_2.2.3 GLIBC_2.2.3 A GLIBC_2.2.3 td_symbol_list F -GLIBC_2.3 GLIBC_2.3 A GLIBC_2.3 td_thr_tls_get_addr F -GLIBC_2.3.3 GLIBC_2.3.3 A GLIBC_2.3.3 td_thr_tlsbase F diff --git a/sysdeps/unix/sysv/linux/sh/libutil.abilist b/sysdeps/unix/sysv/linux/sh/libutil.abilist index 89c67755c4..aa2d35b323 100644 --- a/sysdeps/unix/sysv/linux/sh/libutil.abilist +++ b/sysdeps/unix/sysv/linux/sh/libutil.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 GLIBC_2.0 A GLIBC_2.0 forkpty F GLIBC_2.0 login F GLIBC_2.0 login_tty F diff --git a/sysdeps/unix/sysv/linux/sh/localplt.data b/sysdeps/unix/sysv/linux/sh/localplt.data new file mode 100644 index 0000000000..babb19d717 --- /dev/null +++ b/sysdeps/unix/sysv/linux/sh/localplt.data @@ -0,0 +1,25 @@ +# See scripts/check-localplt.awk for how this file is processed. +# PLT use is required for the malloc family and for matherr because +# users can define their own functions and have library internals call them. +libc.so: calloc +libc.so: free +libc.so: malloc +libc.so: memalign +libc.so: realloc +libc.so: _Unwind_Find_FDE +libc.so: _exit +libc.so: __errno_location +libm.so: matherr +# Generated by the compiler because there is no trap insn pattern. +libc.so: abort ? +# The main malloc is interposed into the dynamic linker, for +# allocations after the initial link (when dlopen is used). +ld.so: malloc +ld.so: calloc +ld.so: realloc +ld.so: free +# The TLS-enabled version of these functions is interposed from libc.so. +ld.so: _dl_signal_error +ld.so: _dl_catch_error +ld.so: _dl_signal_exception +ld.so: _dl_catch_exception diff --git a/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h b/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h index 0fbc456e19..d6fd1cbef9 100644 --- a/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h +++ b/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2003-2016 Free Software Foundation, Inc. +/* 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 diff --git a/sysdeps/unix/sysv/linux/sh/makecontext.S b/sysdeps/unix/sysv/linux/sh/makecontext.S index bd5990dcd5..d55792a177 100644 --- a/sysdeps/unix/sysv/linux/sh/makecontext.S +++ b/sysdeps/unix/sysv/linux/sh/makecontext.S @@ -1,5 +1,5 @@ /* Create new context. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-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 @@ -21,7 +21,7 @@ #include "ucontext_i.h" -/* void __makecontext (struct ucontext *ucp, void (*func)(), int argc, ...); +/* void __makecontext (ucontext_t *ucp, void (*func)(), int argc, ...); __makecontext sets up a stack and registers for context to run a given function. The registers are set up like this: r4-r7: parameters 1 to 4 diff --git a/sysdeps/unix/sysv/linux/sh/pipe.S b/sysdeps/unix/sysv/linux/sh/pipe.S index 36bee9acde..0f6409a1ef 100644 --- a/sysdeps/unix/sysv/linux/sh/pipe.S +++ b/sysdeps/unix/sysv/linux/sh/pipe.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2016 Free Software Foundation, Inc. +/* Copyright (C) 1999-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 diff --git a/sysdeps/unix/sysv/linux/sh/pread.c b/sysdeps/unix/sysv/linux/sh/pread.c deleted file mode 100644 index 8afada56d2..0000000000 --- a/sysdeps/unix/sysv/linux/sh/pread.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1997-2016 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. - - 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/>. */ - -#include <assert.h> -#include <errno.h> -#include <unistd.h> -#include <endian.h> - -#include <sysdep-cancel.h> -#include <sys/syscall.h> - -#ifdef __NR_pread64 /* Newer kernels renamed but it's the same. */ -# ifdef __NR_pread -# error "__NR_pread and __NR_pread64 both defined???" -# endif -# define __NR_pread __NR_pread64 -#endif - - -ssize_t -__libc_pread (int fd, void *buf, size_t count, off_t offset) -{ - return SYSCALL_CANCEL (pread, fd, buf, count, 0, - __LONG_LONG_PAIR (offset >> 31, offset)); -} - -strong_alias (__libc_pread, __pread) -weak_alias (__libc_pread, pread) diff --git a/sysdeps/unix/sysv/linux/sh/pread64.c b/sysdeps/unix/sysv/linux/sh/pread64.c deleted file mode 100644 index cfc751d811..0000000000 --- a/sysdeps/unix/sysv/linux/sh/pread64.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1997-2016 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. - - 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/>. */ - -#include <errno.h> -#include <unistd.h> -#include <endian.h> - -#include <sysdep-cancel.h> -#include <sys/syscall.h> - -#ifdef __NR_pread64 /* Newer kernels renamed but it's the same. */ -# ifdef __NR_pread -# error "__NR_pread and __NR_pread64 both defined???" -# endif -# define __NR_pread __NR_pread64 -#endif - - -ssize_t -__libc_pread64 (int fd, void *buf, size_t count, off64_t offset) -{ - return SYSCALL_CANCEL (pread, fd, buf, count, 0, - __LONG_LONG_PAIR ((off_t) (offset >> 32), - (off_t) (offset & 0xffffffff))); -} - -weak_alias (__libc_pread64, __pread64) -weak_alias (__libc_pread64, pread64) diff --git a/sysdeps/unix/sysv/linux/sh/profil-counter.h b/sysdeps/unix/sysv/linux/sh/profil-counter.h index a9df613a72..8c7545bef5 100644 --- a/sysdeps/unix/sysv/linux/sh/profil-counter.h +++ b/sysdeps/unix/sysv/linux/sh/profil-counter.h @@ -1,5 +1,5 @@ /* Low-level statistical profiling support function. Linux/SH version. - Copyright (C) 1996-2016 Free Software Foundation, Inc. + Copyright (C) 1996-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 diff --git a/sysdeps/unix/sysv/linux/sh/pwrite.c b/sysdeps/unix/sysv/linux/sh/pwrite.c deleted file mode 100644 index c27d356cce..0000000000 --- a/sysdeps/unix/sysv/linux/sh/pwrite.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1997-2016 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. - - 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/>. */ - -#include <assert.h> -#include <errno.h> -#include <unistd.h> -#include <endian.h> - -#include <sysdep-cancel.h> -#include <sys/syscall.h> - -#ifdef __NR_pwrite64 /* Newer kernels renamed but it's the same. */ -# ifdef __NR_pwrite -# error "__NR_pwrite and __NR_pwrite64 both defined???" -# endif -# define __NR_pwrite __NR_pwrite64 -#endif - - -ssize_t -__libc_pwrite (int fd, const void *buf, size_t count, off_t offset) -{ - return SYSCALL_CANCEL (pwrite, fd, buf, count, 0, - __LONG_LONG_PAIR (offset >> 31, offset)); -} - -strong_alias (__libc_pwrite, __pwrite) -weak_alias (__libc_pwrite, pwrite) diff --git a/sysdeps/unix/sysv/linux/sh/pwrite64.c b/sysdeps/unix/sysv/linux/sh/pwrite64.c deleted file mode 100644 index 7948cefd63..0000000000 --- a/sysdeps/unix/sysv/linux/sh/pwrite64.c +++ /dev/null @@ -1,44 +0,0 @@ -/* Copyright (C) 1997-2016 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ralf Baechle <ralf@gnu.org>, 1998. - - 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/>. */ - -#include <errno.h> -#include <unistd.h> -#include <endian.h> - -#include <sysdep-cancel.h> -#include <sys/syscall.h> - -#ifdef __NR_pwrite64 /* Newer kernels renamed but it's the same. */ -# ifdef __NR_pwrite -# error "__NR_pwrite and __NR_pwrite64 both defined???" -# endif -# define __NR_pwrite __NR_pwrite64 -#endif - - -ssize_t -__libc_pwrite64 (int fd, const void *buf, size_t count, off64_t offset) -{ - return SYSCALL_CANCEL (pwrite, fd, buf, count, 0, - __LONG_LONG_PAIR ((off_t) (offset >> 32), - (off_t) (offset & 0xffffffff))); -} - -weak_alias (__libc_pwrite64, __pwrite64) -libc_hidden_weak (__pwrite64) -weak_alias (__libc_pwrite64, pwrite64) diff --git a/sysdeps/unix/sysv/linux/sh/setegid.c b/sysdeps/unix/sysv/linux/sh/setegid.c deleted file mode 100644 index 2e3a54c893..0000000000 --- a/sysdeps/unix/sysv/linux/sh/setegid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setegid.c> diff --git a/sysdeps/unix/sysv/linux/sh/seteuid.c b/sysdeps/unix/sysv/linux/sh/seteuid.c deleted file mode 100644 index 18e41d08c1..0000000000 --- a/sysdeps/unix/sysv/linux/sh/seteuid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/seteuid.c> diff --git a/sysdeps/unix/sysv/linux/sh/setgid.c b/sysdeps/unix/sysv/linux/sh/setgid.c deleted file mode 100644 index 377021d9ec..0000000000 --- a/sysdeps/unix/sysv/linux/sh/setgid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setgid.c> diff --git a/sysdeps/unix/sysv/linux/sh/setgroups.c b/sysdeps/unix/sysv/linux/sh/setgroups.c deleted file mode 100644 index 0e7086278f..0000000000 --- a/sysdeps/unix/sysv/linux/sh/setgroups.c +++ /dev/null @@ -1,2 +0,0 @@ -/* We also have to rewrite the kernel gid_t to the user land type. */ -#include <sysdeps/unix/sysv/linux/i386/setgroups.c> diff --git a/sysdeps/unix/sysv/linux/sh/setregid.c b/sysdeps/unix/sysv/linux/sh/setregid.c deleted file mode 100644 index 99c57ad20f..0000000000 --- a/sysdeps/unix/sysv/linux/sh/setregid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setregid.c> diff --git a/sysdeps/unix/sysv/linux/sh/setresgid.c b/sysdeps/unix/sysv/linux/sh/setresgid.c deleted file mode 100644 index daca1a4833..0000000000 --- a/sysdeps/unix/sysv/linux/sh/setresgid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setresgid.c> diff --git a/sysdeps/unix/sysv/linux/sh/setresuid.c b/sysdeps/unix/sysv/linux/sh/setresuid.c deleted file mode 100644 index 3aeabe9ad7..0000000000 --- a/sysdeps/unix/sysv/linux/sh/setresuid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setresuid.c> diff --git a/sysdeps/unix/sysv/linux/sh/setreuid.c b/sysdeps/unix/sysv/linux/sh/setreuid.c deleted file mode 100644 index 8ad61226e9..0000000000 --- a/sysdeps/unix/sysv/linux/sh/setreuid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setreuid.c> diff --git a/sysdeps/unix/sysv/linux/sh/setuid.c b/sysdeps/unix/sysv/linux/sh/setuid.c deleted file mode 100644 index de394379be..0000000000 --- a/sysdeps/unix/sysv/linux/sh/setuid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setuid.c> diff --git a/sysdeps/unix/sysv/linux/sh/sh3/getcontext.S b/sysdeps/unix/sysv/linux/sh/sh3/getcontext.S index 951790a17d..acbd905ae8 100644 --- a/sysdeps/unix/sysv/linux/sh/sh3/getcontext.S +++ b/sysdeps/unix/sysv/linux/sh/sh3/getcontext.S @@ -1,5 +1,5 @@ /* Save current context. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-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 diff --git a/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h b/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h index a4f325cfbd..e4296f749b 100644 --- a/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h +++ b/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h @@ -1,5 +1,5 @@ /* Dump registers. - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-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 diff --git a/sysdeps/unix/sysv/linux/sh/sh3/setcontext.S b/sysdeps/unix/sysv/linux/sh/sh3/setcontext.S index 95506bbf8a..634e4a4e6f 100644 --- a/sysdeps/unix/sysv/linux/sh/sh3/setcontext.S +++ b/sysdeps/unix/sysv/linux/sh/sh3/setcontext.S @@ -1,5 +1,5 @@ /* Install given context. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-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 diff --git a/sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S b/sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S index 5c983a6536..2eaa6fd328 100644 --- a/sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S +++ b/sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S @@ -1,5 +1,5 @@ /* Save current context and install the given one. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-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 diff --git a/sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym b/sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym index 17397c5511..25f914a93b 100644 --- a/sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym +++ b/sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym @@ -13,22 +13,22 @@ SIG_SETMASK oLINK ucontext (uc_link) oSS_SP ucontext (uc_stack.ss_sp) oSS_SIZE ucontext (uc_stack.ss_size) -oR0 mcontext (gregs[R0]) -oR1 mcontext (gregs[R1]) -oR2 mcontext (gregs[R2]) -oR3 mcontext (gregs[R3]) -oR4 mcontext (gregs[R4]) -oR5 mcontext (gregs[R5]) -oR6 mcontext (gregs[R6]) -oR7 mcontext (gregs[R7]) -oR8 mcontext (gregs[R8]) -oR9 mcontext (gregs[R9]) -oR10 mcontext (gregs[R10]) -oR11 mcontext (gregs[R11]) -oR12 mcontext (gregs[R12]) -oR13 mcontext (gregs[R13]) -oR14 mcontext (gregs[R14]) -oR15 mcontext (gregs[R15]) +oR0 mcontext (gregs[REG_R0]) +oR1 mcontext (gregs[REG_R1]) +oR2 mcontext (gregs[REG_R2]) +oR3 mcontext (gregs[REG_R3]) +oR4 mcontext (gregs[REG_R4]) +oR5 mcontext (gregs[REG_R5]) +oR6 mcontext (gregs[REG_R6]) +oR7 mcontext (gregs[REG_R7]) +oR8 mcontext (gregs[REG_R8]) +oR9 mcontext (gregs[REG_R9]) +oR10 mcontext (gregs[REG_R10]) +oR11 mcontext (gregs[REG_R11]) +oR12 mcontext (gregs[REG_R12]) +oR13 mcontext (gregs[REG_R13]) +oR14 mcontext (gregs[REG_R14]) +oR15 mcontext (gregs[REG_R15]) oPC mcontext (pc) oPR mcontext (pr) oSR mcontext (sr) diff --git a/sysdeps/unix/sysv/linux/sh/sh4/getcontext.S b/sysdeps/unix/sysv/linux/sh/sh4/getcontext.S index 4862a68134..972d0c92ed 100644 --- a/sysdeps/unix/sysv/linux/sh/sh4/getcontext.S +++ b/sysdeps/unix/sysv/linux/sh/sh4/getcontext.S @@ -1,5 +1,5 @@ /* Save current context. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-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 diff --git a/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h b/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h index 4a642abed9..4a742ca9d0 100644 --- a/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h +++ b/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h @@ -1,5 +1,5 @@ /* Dump registers. - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-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 @@ -56,7 +56,6 @@ static void register_dump (int fd, struct sigcontext *ctx) { char regs[22][8]; - char fpregs[34][8]; struct iovec iov[22 * 2 + 34 * 2 + 2]; size_t nr = 0; @@ -144,6 +143,7 @@ register_dump (int fd, struct sigcontext *ctx) ADD_STRING ("\n"); #ifdef __SH_FPU_ANY__ + char fpregs[34][8]; if (ctx->sc_ownedfp != 0) { hexvalue (ctx->sc_fpregs[0], fpregs[0], 8); diff --git a/sysdeps/unix/sysv/linux/sh/sh4/setcontext.S b/sysdeps/unix/sysv/linux/sh/sh4/setcontext.S index a517f87f87..050e8ade16 100644 --- a/sysdeps/unix/sysv/linux/sh/sh4/setcontext.S +++ b/sysdeps/unix/sysv/linux/sh/sh4/setcontext.S @@ -1,5 +1,5 @@ /* Install given context. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-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 diff --git a/sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S b/sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S index 35869ff4e0..015e9b19d7 100644 --- a/sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S +++ b/sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S @@ -1,5 +1,5 @@ /* Save current context and install the given one. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-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 diff --git a/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym b/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym index 65633fbcf4..130f60cd96 100644 --- a/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym +++ b/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym @@ -13,22 +13,22 @@ SIG_SETMASK oLINK ucontext (uc_link) oSS_SP ucontext (uc_stack.ss_sp) oSS_SIZE ucontext (uc_stack.ss_size) -oR0 mcontext (gregs[R0]) -oR1 mcontext (gregs[R1]) -oR2 mcontext (gregs[R2]) -oR3 mcontext (gregs[R3]) -oR4 mcontext (gregs[R4]) -oR5 mcontext (gregs[R5]) -oR6 mcontext (gregs[R6]) -oR7 mcontext (gregs[R7]) -oR8 mcontext (gregs[R8]) -oR9 mcontext (gregs[R9]) -oR10 mcontext (gregs[R10]) -oR11 mcontext (gregs[R11]) -oR12 mcontext (gregs[R12]) -oR13 mcontext (gregs[R13]) -oR14 mcontext (gregs[R14]) -oR15 mcontext (gregs[R15]) +oR0 mcontext (gregs[REG_R0]) +oR1 mcontext (gregs[REG_R1]) +oR2 mcontext (gregs[REG_R2]) +oR3 mcontext (gregs[REG_R3]) +oR4 mcontext (gregs[REG_R4]) +oR5 mcontext (gregs[REG_R5]) +oR6 mcontext (gregs[REG_R6]) +oR7 mcontext (gregs[REG_R7]) +oR8 mcontext (gregs[REG_R8]) +oR9 mcontext (gregs[REG_R9]) +oR10 mcontext (gregs[REG_R10]) +oR11 mcontext (gregs[REG_R11]) +oR12 mcontext (gregs[REG_R12]) +oR13 mcontext (gregs[REG_R13]) +oR14 mcontext (gregs[REG_R14]) +oR15 mcontext (gregs[REG_R15]) oPC mcontext (pc) oPR mcontext (pr) oSR mcontext (sr) diff --git a/sysdeps/unix/sysv/linux/sh/sigcontextinfo.h b/sysdeps/unix/sysv/linux/sh/sigcontextinfo.h index aa7d67607d..3f33b7f11c 100644 --- a/sysdeps/unix/sysv/linux/sh/sigcontextinfo.h +++ b/sysdeps/unix/sysv/linux/sh/sigcontextinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2016 Free Software Foundation, Inc. +/* Copyright (C) 1999-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Philip Blundell <philb@gnu.org>, 1999. @@ -18,9 +18,4 @@ #define SIGCONTEXT int _a2, int _a3, int _a4, struct sigcontext -#define SIGCONTEXT_EXTRA_ARGS _a2, _a3, _a4, #define GET_PC(ctx) ((void *) ctx.sc_pc) -#define GET_FRAME(ctx) ((void *) ctx.sc_regs[14]) -#define GET_STACK(ctx) ((void *) ctx.sc_regs[15]) -#define CALL_SIGHANDLER(handler, signo, ctx) \ - (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx)) diff --git a/sysdeps/unix/sysv/linux/sh/smp.h b/sysdeps/unix/sysv/linux/sh/smp.h index 12d44fe24c..5db99ab8c1 100644 --- a/sysdeps/unix/sysv/linux/sh/smp.h +++ b/sysdeps/unix/sysv/linux/sh/smp.h @@ -1,5 +1,5 @@ /* Determine whether the host has multiple processors. SH version. - Copyright (C) 2002-2016 Free Software Foundation, Inc. + Copyright (C) 2002-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 diff --git a/sysdeps/unix/sysv/linux/sh/sys/procfs.h b/sysdeps/unix/sysv/linux/sh/sys/procfs.h index 4b1b29eb6b..43a42fa2bd 100644 --- a/sysdeps/unix/sysv/linux/sh/sys/procfs.h +++ b/sysdeps/unix/sysv/linux/sh/sys/procfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2016 Free Software Foundation, Inc. +/* Copyright (C) 1996-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 @@ -55,7 +55,7 @@ struct elf_prstatus unsigned long int pr_sigpend; /* Set of pending signals. */ unsigned long int pr_sighold; /* Set of held signals. */ #if 0 - struct sigaltstack pr_altstack; /* Alternate stack info. */ + stack_t pr_altstack; /* Alternate stack info. */ struct sigaction pr_action; /* Signal action for current sig. */ #endif __pid_t pr_pid; diff --git a/sysdeps/unix/sysv/linux/sh/sys/ucontext.h b/sysdeps/unix/sysv/linux/sh/sys/ucontext.h index ab9a7e66bf..17c5d68086 100644 --- a/sysdeps/unix/sysv/linux/sh/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/sh/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2016 Free Software Foundation, Inc. +/* Copyright (C) 1999-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 @@ -21,109 +21,106 @@ #define _SYS_UCONTEXT_H 1 #include <features.h> -#include <signal.h> -/* We need the signal context definitions even if they are not used - included in <signal.h>. */ -#include <bits/sigcontext.h> +#include <bits/types/sigset_t.h> +#include <bits/types/stack_t.h> typedef int greg_t; /* Number of general registers. */ -#define NGPREG 16 +#define __NGREG 16 +#ifdef __USE_MISC +# define NGREG __NGREG +#endif /* Container for all general registers. */ -typedef greg_t gregset_t[NGPREG]; +typedef greg_t gregset_t[__NGREG]; -#ifdef __USE_GNU +#ifdef __USE_MISC /* Number of each register is the `gregset_t' array. */ enum { - R0 = 0, -#define R0 R0 - R1 = 1, -#define R1 R1 - R2 = 2, -#define R2 R2 - R3 = 3, -#define R3 R3 - R4 = 4, -#define R4 R4 - R5 = 5, -#define R5 R5 - R6 = 6, -#define R6 R6 - R7 = 7, -#define R7 R7 - R8 = 8, -#define R8 R8 - R9 = 9, -#define R9 R9 - R10 = 10, -#define R10 R10 - R11 = 11, -#define R11 R11 - R12 = 12, -#define R12 R12 - R13 = 13, -#define R13 R13 - R14 = 14, -#define R14 R14 - R15 = 15, -#define R15 R15 + REG_R0 = 0, +# define REG_R0 REG_R0 + REG_R1 = 1, +# define REG_R1 REG_R1 + REG_R2 = 2, +# define REG_R2 REG_R2 + REG_R3 = 3, +# define REG_R3 REG_R3 + REG_R4 = 4, +# define REG_R4 REG_R4 + REG_R5 = 5, +# define REG_R5 REG_R5 + REG_R6 = 6, +# define REG_R6 REG_R6 + REG_R7 = 7, +# define REG_R7 REG_R7 + REG_R8 = 8, +# define REG_R8 REG_R8 + REG_R9 = 9, +# define REG_R9 REG_R9 + REG_R10 = 10, +# define REG_R10 REG_R10 + REG_R11 = 11, +# define REG_R11 REG_R11 + REG_R12 = 12, +# define REG_R12 REG_R12 + REG_R13 = 13, +# define REG_R13 REG_R13 + REG_R14 = 14, +# define REG_R14 REG_R14 + REG_R15 = 15, +# define REG_R15 REG_R15 }; #endif -#if (defined(__SH4__) || defined(__SH4A__)) typedef int freg_t; /* Number of FPU registers. */ -#define NFPREG 16 +#define __NFPREG 16 +#ifdef __USE_MISC +# define NFPREG __NFPREG +#endif /* Structure to describe FPU registers. */ -typedef freg_t fpregset_t[NFPREG]; +typedef freg_t fpregset_t[__NFPREG]; -/* Context to describe whole processor state. */ -typedef struct - { - unsigned int oldmask; - gregset_t gregs; - unsigned int pc; - unsigned int pr; - unsigned int sr; - unsigned int gbr; - unsigned int mach; - unsigned int macl; - fpregset_t fpregs; - fpregset_t xfpregs; - unsigned int fpscr; - unsigned int fpul; - unsigned int ownedfp; - } mcontext_t; +#ifdef __USE_MISC +# define __ctx(fld) fld #else +# define __ctx(fld) __ ## fld +#endif + /* Context to describe whole processor state. */ typedef struct { - unsigned int oldmask; - gregset_t gregs; - unsigned int pc; - unsigned int pr; - unsigned int sr; - unsigned int gbr; - unsigned int mach; - unsigned int macl; + unsigned int __ctx(oldmask); + gregset_t __ctx(gregs); + unsigned int __ctx(pc); + unsigned int __ctx(pr); + unsigned int __ctx(sr); + unsigned int __ctx(gbr); + unsigned int __ctx(mach); + unsigned int __ctx(macl); + fpregset_t __ctx(fpregs); + fpregset_t __ctx(xfpregs); + unsigned int __ctx(fpscr); + unsigned int __ctx(fpul); + unsigned int __ctx(ownedfp); } mcontext_t; -#endif /* __SH_FPU_ANY__ */ /* Userlevel context. */ -typedef struct ucontext +typedef struct ucontext_t { - unsigned long int uc_flags; - struct ucontext *uc_link; + unsigned long int __ctx(uc_flags); + struct ucontext_t *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; - __sigset_t uc_sigmask; + sigset_t uc_sigmask; } ucontext_t; +#undef __ctx + #endif /* sys/ucontext.h */ diff --git a/sysdeps/unix/sysv/linux/sh/sys/user.h b/sysdeps/unix/sysv/linux/sh/sys/user.h index 47b87aede9..6bfe49240c 100644 --- a/sysdeps/unix/sysv/linux/sh/sys/user.h +++ b/sysdeps/unix/sysv/linux/sh/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2016 Free Software Foundation, Inc. +/* Copyright (C) 1998-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 @@ -19,6 +19,7 @@ #define _SYS_USER_H 1 #include <asm/ptrace.h> +#include <stddef.h> /* asm/ptrace.h polutes the namespace. */ #undef PTRACE_GETREGS diff --git a/sysdeps/unix/sysv/linux/sh/syscall.S b/sysdeps/unix/sysv/linux/sh/syscall.S index 2263e25938..1990b203ee 100644 --- a/sysdeps/unix/sysv/linux/sh/syscall.S +++ b/sysdeps/unix/sysv/linux/sh/syscall.S @@ -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 diff --git a/sysdeps/unix/sysv/linux/sh/syscalls.list b/sysdeps/unix/sysv/linux/sh/syscalls.list index 169d40f074..32badd1ee0 100644 --- a/sysdeps/unix/sysv/linux/sh/syscalls.list +++ b/sysdeps/unix/sysv/linux/sh/syscalls.list @@ -15,8 +15,6 @@ getgroups - getgroups32 i:ip __getgroups getgroups setfsgid - setfsgid32 Ei:i setfsgid setfsuid - setfsuid32 Ei:i setfsuid -waitpid - waitpid Ci:ipi __waitpid waitpid - prlimit64 EXTRA prlimit64 i:iipp prlimit64 fanotify_mark EXTRA fanotify_mark i:iiiiis __fanotify_mark fanotify_mark@@GLIBC_2.16 diff --git a/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h b/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h deleted file mode 100644 index 15fc85cbbe..0000000000 --- a/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h +++ /dev/null @@ -1,169 +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/>. */ - -#include <sysdep.h> -#include <tls.h> -#ifndef __ASSEMBLER__ -# include <nptl/pthreadP.h> -#endif - -#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt) - -# define _IMM12 #-12 -# define _IMM16 #-16 -# define _IMP16 #16 -# undef PSEUDO -# define PSEUDO(name, syscall_name, args) \ - .text; \ - ENTRY (name); \ - .Lpseudo_start: \ - SINGLE_THREAD_P; \ - bf .Lpseudo_cancel; \ - .type __##syscall_name##_nocancel,@function; \ - .globl __##syscall_name##_nocancel; \ - __##syscall_name##_nocancel: \ - DO_CALL (syscall_name, args); \ - mov r0,r1; \ - mov _IMM12,r2; \ - shad r2,r1; \ - not r1,r1; \ - tst r1,r1; \ - bt .Lsyscall_error; \ - bra .Lpseudo_end; \ - nop; \ - .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \ - .Lpseudo_cancel: \ - sts.l pr,@-r15; \ - cfi_adjust_cfa_offset (4); \ - cfi_rel_offset (pr, 0); \ - add _IMM16,r15; \ - cfi_adjust_cfa_offset (16); \ - SAVE_ARGS_##args; \ - CENABLE; \ - LOAD_ARGS_##args; \ - add _IMP16,r15; \ - cfi_adjust_cfa_offset (-16); \ - lds.l @r15+,pr; \ - cfi_adjust_cfa_offset (-4); \ - cfi_restore (pr); \ - DO_CALL(syscall_name, args); \ - SYSCALL_INST_PAD; \ - sts.l pr,@-r15; \ - cfi_adjust_cfa_offset (4); \ - cfi_rel_offset (pr, 0); \ - mov.l r0,@-r15; \ - cfi_adjust_cfa_offset (4); \ - cfi_rel_offset (r0, 0); \ - CDISABLE; \ - mov.l @r15+,r0; \ - cfi_adjust_cfa_offset (-4); \ - cfi_restore (r0); \ - lds.l @r15+,pr; \ - cfi_adjust_cfa_offset (-4); \ - cfi_restore (pr); \ - mov r0,r1; \ - mov _IMM12,r2; \ - shad r2,r1; \ - not r1,r1; \ - tst r1,r1; \ - bf .Lpseudo_end; \ - .Lsyscall_error: \ - SYSCALL_ERROR_HANDLER; \ - .Lpseudo_end: - -# undef PSEUDO_END -# define PSEUDO_END(sym) \ - END (sym) - -# define SAVE_ARGS_0 /* Nothing. */ -# define SAVE_ARGS_1 SAVE_ARGS_0; mov.l r4,@(0,r15); cfi_offset (r4,-4) -# define SAVE_ARGS_2 SAVE_ARGS_1; mov.l r5,@(4,r15); cfi_offset (r5,-8) -# define SAVE_ARGS_3 SAVE_ARGS_2; mov.l r6,@(8,r15); cfi_offset (r6,-12) -# define SAVE_ARGS_4 SAVE_ARGS_3; mov.l r7,@(12,r15); cfi_offset (r7,-16) -# define SAVE_ARGS_5 SAVE_ARGS_4 -# define SAVE_ARGS_6 SAVE_ARGS_5 - -# define LOAD_ARGS_0 /* Nothing. */ -# define LOAD_ARGS_1 LOAD_ARGS_0; mov.l @(0,r15),r4; cfi_restore (r4) -# define LOAD_ARGS_2 LOAD_ARGS_1; mov.l @(4,r15),r5; cfi_restore (r5) -# define LOAD_ARGS_3 LOAD_ARGS_2; mov.l @(8,r15),r6; cfi_restore (r6) -# define LOAD_ARGS_4 LOAD_ARGS_3; mov.l @(12,r15),r7; cfi_restore (r7) -# define LOAD_ARGS_5 LOAD_ARGS_4 -# define LOAD_ARGS_6 LOAD_ARGS_5 - -# if IS_IN (libpthread) -# define __local_enable_asynccancel __pthread_enable_asynccancel -# define __local_disable_asynccancel __pthread_disable_asynccancel -# elif IS_IN (libc) -# define __local_enable_asynccancel __libc_enable_asynccancel -# define __local_disable_asynccancel __libc_disable_asynccancel -# elif IS_IN (librt) -# define __local_enable_asynccancel __librt_enable_asynccancel -# define __local_disable_asynccancel __librt_disable_asynccancel -# else -# error Unsupported library -# endif - -# define CENABLE \ - mov.l 1f,r0; \ - bsrf r0; \ - nop; \ - 0: bra 2f; \ - mov r0,r2; \ - .align 2; \ - 1: .long __local_enable_asynccancel - 0b; \ - 2: - -# define CDISABLE \ - mov.l 1f,r0; \ - bsrf r0; \ - mov r2,r4; \ - 0: bra 2f; \ - nop; \ - .align 2; \ - 1: .long __local_disable_asynccancel - 0b; \ - 2: - -# ifndef __ASSEMBLER__ -# define SINGLE_THREAD_P \ - __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ - header.multiple_threads) == 0, 1) -# else -# define SINGLE_THREAD_P \ - stc gbr,r0; \ - mov.w 0f,r1; \ - sub r1,r0; \ - mov.l @(MULTIPLE_THREADS_OFFSET,r0),r0; \ - bra 1f; \ - tst r0,r0; \ - 0: .word TLS_PRE_TCB_SIZE; \ - 1: - -# endif - -#elif !defined __ASSEMBLER__ - -# define SINGLE_THREAD_P (1) -# define NO_CANCELLATION 1 - -#endif - -#ifndef __ASSEMBLER__ -# define RTLD_SINGLE_THREAD_P \ - __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ - header.multiple_threads) == 0, 1) -#endif diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S index 0024d79402..c4e28ffb98 100644 --- a/sysdeps/unix/sysv/linux/sh/sysdep.S +++ b/sysdeps/unix/sysv/linux/sh/sysdep.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2016 Free Software Foundation, Inc. +/* Copyright (C) 1995-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 diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.h b/sysdeps/unix/sysv/linux/sh/sysdep.h index 8618d12f5a..b521e788b6 100644 --- a/sysdeps/unix/sysv/linux/sh/sysdep.h +++ b/sysdeps/unix/sysv/linux/sh/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2016 Free Software Foundation, Inc. +/* Copyright (C) 1992-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. Changed by Kaz Kojima, <kkojima@rr.iij4u.or.jp>. diff --git a/sysdeps/unix/sysv/linux/sh/vfork.S b/sysdeps/unix/sysv/linux/sh/vfork.S index 6895bc5491..7b556cf68f 100644 --- a/sysdeps/unix/sysv/linux/sh/vfork.S +++ b/sysdeps/unix/sysv/linux/sh/vfork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2016 Free Software Foundation, Inc. +/* Copyright (C) 2004-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 @@ -26,30 +26,11 @@ and the process ID of the new process to the old process. */ ENTRY (__libc_vfork) - /* Save the PID value. */ - stc gbr, r2 - mov.w .L2, r0 - mov.l @(r0,r2), r4 - neg r4, r1 - tst r1, r1 - bf 1f - mov #1, r1 - rotr r1 -1: - mov.l r1, @(r0,r2) mov.w .L1, r3 trapa #0x10 mov r0, r1 - /* Restore the old PID value in the parent. */ - tst r0, r0 - bt.s 2f - stc gbr, r2 - mov.w .L2, r0 - mov.l r4, @(r0,r2) - mov r1, r0 -2: mov #-12, r2 shad r2, r1 not r1, r1 // r1=0 means r0 = -1 to -4095 @@ -61,8 +42,6 @@ ENTRY (__libc_vfork) nop .L1: .word __NR_vfork -.L2: - .word PID - TLS_PRE_TCB_SIZE .align 2 PSEUDO_END (__libc_vfork) |