1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-09-01 05:02:03 +03:00

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.
This commit is contained in:
Adhemerval Zanella
2021-03-12 16:42:39 -03:00
parent 4d2e9ef806
commit 78d1724d53
40 changed files with 21 additions and 76 deletions

View File

@@ -409,6 +409,7 @@ GLIBC_2.21 __sched_getscheduler F
GLIBC_2.21 __sched_setscheduler F
GLIBC_2.21 __sched_yield F
GLIBC_2.21 __select F
GLIBC_2.21 __send F
GLIBC_2.21 __setmntent F
GLIBC_2.21 __setpgid F
GLIBC_2.21 __sigaction F

View File

@@ -37,7 +37,6 @@ GLIBC_2.21 __pthread_unregister_cancel_restore F
GLIBC_2.21 __pthread_unwind_next F
GLIBC_2.21 __pwrite64 F
GLIBC_2.21 __res_state F
GLIBC_2.21 __send F
GLIBC_2.21 __sigaction F
GLIBC_2.21 _pthread_cleanup_pop F
GLIBC_2.21 _pthread_cleanup_pop_restore F
@@ -164,7 +163,6 @@ GLIBC_2.21 sem_timedwait F
GLIBC_2.21 sem_trywait F
GLIBC_2.21 sem_unlink F
GLIBC_2.21 sem_wait F
GLIBC_2.21 send F
GLIBC_2.21 sigaction F
GLIBC_2.21 siglongjmp F
GLIBC_2.28 call_once F

View File

@@ -0,0 +1,9 @@
#include <shlib-compat.h>
#include <sysdeps/unix/sysv/linux/send.c>
#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_21, GLIBC_2_34)
/* libpthread compat symbol: Nios2 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_21);
#endif

View File

@@ -140,10 +140,6 @@
/* In order to get __set_errno() definition in INLINE_SYSCALL. */
#include <errno.h>
/* Previously Nios2 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
#undef INTERNAL_SYSCALL_RAW
#define INTERNAL_SYSCALL_RAW(name, nr, args...) \
({ unsigned int _sys_result; \