diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2021-03-12 16:42:39 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2021-03-26 13:36:17 -0300 |
commit | 78d1724d53e23fcbbf4df832015aae269b98249c (patch) | |
tree | 0afd09f9c7536942ca5ffc23450d9427320914f6 /sysdeps/unix/sysv/linux/aarch64 | |
parent | 4d2e9ef806bd9edc9cf5e133983a4e86ddab381a (diff) | |
download | glibc-78d1724d53e23fcbbf4df832015aae269b98249c.zip glibc-78d1724d53e23fcbbf4df832015aae269b98249c.tar.gz glibc-78d1724d53e23fcbbf4df832015aae269b98249c.tar.bz2 |
nptl: Remove send from libpthread
The libc version is identical and built with same flags. Both aarch64
and nios2 also requires to export __send and tt was done previously with
the HAVE_INTERNAL_SEND_SYMBOL (which forced the symbol creation).
All __send callers are internal to libc and the original issue that
required the symbol export was due a missing libc_hidden_def. So
a compat symbol is added for __send and the libc_hidden_def is
defined regardless.
Checked on x86_64-linux-gnu and i686-linux-gnu.
Diffstat (limited to 'sysdeps/unix/sysv/linux/aarch64')
-rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/libc.abilist | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/libpthread.abilist | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/send.c | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/sysdep.h | 4 |
4 files changed, 10 insertions, 6 deletions
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index bac7952..29f41b7 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -371,6 +371,7 @@ GLIBC_2.17 __sched_getscheduler F GLIBC_2.17 __sched_setscheduler F GLIBC_2.17 __sched_yield F GLIBC_2.17 __select F +GLIBC_2.17 __send F GLIBC_2.17 __setmntent F GLIBC_2.17 __setpgid F GLIBC_2.17 __sigaction F diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index bbd24af..beeb6c6 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -37,7 +37,6 @@ GLIBC_2.17 __pthread_unregister_cancel_restore F GLIBC_2.17 __pthread_unwind_next F GLIBC_2.17 __pwrite64 F GLIBC_2.17 __res_state F -GLIBC_2.17 __send F GLIBC_2.17 __sigaction F GLIBC_2.17 _pthread_cleanup_pop F GLIBC_2.17 _pthread_cleanup_pop_restore F @@ -162,7 +161,6 @@ GLIBC_2.17 sem_timedwait F GLIBC_2.17 sem_trywait F GLIBC_2.17 sem_unlink F GLIBC_2.17 sem_wait F -GLIBC_2.17 send F GLIBC_2.17 sigaction F GLIBC_2.17 siglongjmp F GLIBC_2.18 pthread_getattr_default_np F diff --git a/sysdeps/unix/sysv/linux/aarch64/send.c b/sysdeps/unix/sysv/linux/aarch64/send.c new file mode 100644 index 0000000..db4d36b --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/send.c @@ -0,0 +1,9 @@ +#include <shlib-compat.h> + +#include <sysdeps/unix/sysv/linux/send.c> + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_17, GLIBC_2_34) +/* libpthread compat symbol: AArch64 used the generic version without the + libc_hidden_def which lead in a non existent __send symbol in libc.so. */ +compat_symbol (libc, __libc_send, __send, GLIBC_2_17); +#endif diff --git a/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/sysdeps/unix/sysv/linux/aarch64/sysdep.h index 3059b8a..b019112 100644 --- a/sysdeps/unix/sysv/linux/aarch64/sysdep.h +++ b/sysdeps/unix/sysv/linux/aarch64/sysdep.h @@ -164,10 +164,6 @@ # define HAVE_CLOCK_GETTIME64_VSYSCALL "__kernel_clock_gettime" # define HAVE_GETTIMEOFDAY_VSYSCALL "__kernel_gettimeofday" -/* Previously AArch64 used the generic version without the libc_hidden_def - which lead in a non existent __send symbol in libc.so. */ -# undef HAVE_INTERNAL_SEND_SYMBOL - # define SINGLE_THREAD_BY_GLOBAL 1 # undef INTERNAL_SYSCALL_RAW |