From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qv1-xf32.google.com (mail-qv1-xf32.google.com [IPv6:2607:f8b0:4864:20::f32]) by sourceware.org (Postfix) with ESMTPS id 163EC386F403 for ; Fri, 19 Mar 2021 20:29:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 163EC386F403 Received: by mail-qv1-xf32.google.com with SMTP id j17so5649895qvo.13 for ; Fri, 19 Mar 2021 13:29:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BXZNvG3/HXAyN1D3UECEMGOMB43E/gTMylJJdQWyFgY=; b=me2EgDRZzsGndYJSZg4TV5lH9Ulneh9uETeMte6SCk1onKc2mpKTI3vJ+YsgfRNycD 6GrSPK8pTZGUf5gK0Q0iFuB5V3wvvw0hKv0fWDR6Rk/BV9gXADHJ+9DXmxisOEUFU/cO nXzOQuy1U5e5VlGQkHT2ESr8ooKcaSd9+499bDfNdX4FXLgfhTgMu/+24edpENYSEKju RKuNE3H8Z4zdTEYg4u1GlhOCT/m8vWxnemyF0d7HJL7XD4b0I4KbTyQ1eWQT1t0Udh7z u1oZP2GGvkO5/RJD+VPLTBQhhr8OC06a0k+GMAXywX4SB4mblNzlRiRzbSTELY6EuGRf iEpg== X-Gm-Message-State: AOAM531Wvt8Z3bYwz7OxneP/43dMy8V066za2hndhWFVzbQkSyvhDusq fWTI/mEKbGYbXT6Fa7NG5zlypW9OyxZUrDGw X-Google-Smtp-Source: ABdhPJzYk03SFUnwLcSiLBWRYhuuvHlv7kjpqY8RuUjNADDaUMMm3w/gao3rt6kfHFQyhYQWZcAbZQ== X-Received: by 2002:a0c:f890:: with SMTP id u16mr11200111qvn.21.1616185760988; Fri, 19 Mar 2021 13:29:20 -0700 (PDT) Received: from localhost.localdomain ([177.194.48.209]) by smtp.googlemail.com with ESMTPSA id i25sm5259747qka.38.2021.03.19.13.29.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Mar 2021 13:29:20 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH v2 02/14] nptl: Remove send from libpthread Date: Fri, 19 Mar 2021 17:29:02 -0300 Message-Id: <20210319202914.2475530-3-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210319202914.2475530-1-adhemerval.zanella@linaro.org> References: <20210319202914.2475530-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, URIBL_BLACK autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Mar 2021 20:29:25 -0000 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. --- nptl/Makefile | 2 -- nptl/Versions | 2 -- socket/Makefile | 1 + sysdeps/unix/sysv/linux/aarch64/libc.abilist | 1 + sysdeps/unix/sysv/linux/aarch64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/aarch64/send.c | 9 +++++++++ sysdeps/unix/sysv/linux/aarch64/sysdep.h | 4 ---- sysdeps/unix/sysv/linux/alpha/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/arc/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/arm/be/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/arm/le/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/csky/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/hppa/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/i386/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/ia64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/nios2/libc.abilist | 1 + sysdeps/unix/sysv/linux/nios2/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/nios2/send.c | 9 +++++++++ sysdeps/unix/sysv/linux/nios2/sysdep.h | 4 ---- .../unix/sysv/linux/powerpc/powerpc32/libpthread.abilist | 2 -- .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist | 2 -- .../sysv/linux/powerpc/powerpc64/le/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/send.c | 2 -- sysdeps/unix/sysv/linux/sh/be/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/sh/le/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/sysdep.h | 4 ---- sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist | 2 -- 40 files changed, 21 insertions(+), 76 deletions(-) create mode 100644 sysdeps/unix/sysv/linux/aarch64/send.c create mode 100644 sysdeps/unix/sysv/linux/nios2/send.c diff --git a/nptl/Makefile b/nptl/Makefile index b1948cc47a..3cf48c3042 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -81,7 +81,6 @@ static-only-routines = pthread_atfork # We need to provide certain routines for compatibility with existing # binaries. pthread-compat-wrappers = \ - send \ lseek lseek64 \ open open64 \ pread pread64 pwrite pwrite64 \ @@ -292,7 +291,6 @@ CFLAGS-msgrcv.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-msgsnd.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-open.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-open64.c += -fexceptions -fasynchronous-unwind-tables -CFLAGS-send.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-sigsuspend.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-fdatasync.c += -fexceptions -fasynchronous-unwind-tables diff --git a/nptl/Versions b/nptl/Versions index be7a8e68cc..6e80568e57 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -120,7 +120,6 @@ libpthread { __pthread_mutexattr_settype; __pthread_once; __pthread_setspecific; - __send; __sigaction; _exit; _pthread_cleanup_pop; @@ -170,7 +169,6 @@ libpthread { sem_post; sem_trywait; sem_wait; - send; sigaction; siglongjmp; } diff --git a/socket/Makefile b/socket/Makefile index 75582b1513..855510ad48 100644 --- a/socket/Makefile +++ b/socket/Makefile @@ -42,3 +42,4 @@ CFLAGS-recvfrom.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-sendto.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-recvmsg.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-sendmsg.c += -fexceptions -fasynchronous-unwind-tables +CFLAGS-send.c += -fexceptions -fasynchronous-unwind-tables diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index bac795262d..29f41b7ed5 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 bbd24afae2..beeb6c64c7 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 0000000000..db4d36b2b1 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/send.c @@ -0,0 +1,9 @@ +#include + +#include + +#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 3059b8a147..b01911247f 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 diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index ec2128b5ab..c8f1793ddf 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F -GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 _pthread_cleanup_pop F GLIBC_2.0 _pthread_cleanup_pop_restore F @@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 send F GLIBC_2.0 sigaction F GLIBC_2.0 siglongjmp F GLIBC_2.1 __libc_allocate_rtsig F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index 06e013f4a3..1d40b1c972 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -37,7 +37,6 @@ GLIBC_2.32 __pthread_unregister_cancel_restore F GLIBC_2.32 __pthread_unwind_next F GLIBC_2.32 __pwrite64 F GLIBC_2.32 __res_state F -GLIBC_2.32 __send F GLIBC_2.32 __sigaction F GLIBC_2.32 _pthread_cleanup_pop F GLIBC_2.32 _pthread_cleanup_pop_restore F @@ -182,7 +181,6 @@ GLIBC_2.32 sem_timedwait F GLIBC_2.32 sem_trywait F GLIBC_2.32 sem_unlink F GLIBC_2.32 sem_wait F -GLIBC_2.32 send F GLIBC_2.32 sigaction F GLIBC_2.32 thrd_create F GLIBC_2.32 thrd_detach F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index 6abba5736d..31fa48cb8a 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -72,7 +72,6 @@ GLIBC_2.4 __pthread_unregister_cancel_restore F GLIBC_2.4 __pthread_unwind_next F GLIBC_2.4 __pwrite64 F GLIBC_2.4 __res_state F -GLIBC_2.4 __send F GLIBC_2.4 __sigaction F GLIBC_2.4 _pthread_cleanup_pop F GLIBC_2.4 _pthread_cleanup_pop_restore F @@ -191,6 +190,5 @@ GLIBC_2.4 sem_timedwait F GLIBC_2.4 sem_trywait F GLIBC_2.4 sem_unlink F GLIBC_2.4 sem_wait F -GLIBC_2.4 send F GLIBC_2.4 sigaction F GLIBC_2.4 siglongjmp F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index 6abba5736d..31fa48cb8a 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -72,7 +72,6 @@ GLIBC_2.4 __pthread_unregister_cancel_restore F GLIBC_2.4 __pthread_unwind_next F GLIBC_2.4 __pwrite64 F GLIBC_2.4 __res_state F -GLIBC_2.4 __send F GLIBC_2.4 __sigaction F GLIBC_2.4 _pthread_cleanup_pop F GLIBC_2.4 _pthread_cleanup_pop_restore F @@ -191,6 +190,5 @@ GLIBC_2.4 sem_timedwait F GLIBC_2.4 sem_trywait F GLIBC_2.4 sem_unlink F GLIBC_2.4 sem_wait F -GLIBC_2.4 send F GLIBC_2.4 sigaction F GLIBC_2.4 siglongjmp F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index 9e1fbdb969..858fbaaf80 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -37,7 +37,6 @@ GLIBC_2.29 __pthread_unregister_cancel_restore F GLIBC_2.29 __pthread_unwind_next F GLIBC_2.29 __pwrite64 F GLIBC_2.29 __res_state F -GLIBC_2.29 __send F GLIBC_2.29 __sigaction F GLIBC_2.29 _pthread_cleanup_pop F GLIBC_2.29 _pthread_cleanup_pop_restore F @@ -176,7 +175,6 @@ GLIBC_2.29 sem_timedwait F GLIBC_2.29 sem_trywait F GLIBC_2.29 sem_unlink F GLIBC_2.29 sem_wait F -GLIBC_2.29 send F GLIBC_2.29 sigaction F GLIBC_2.29 thrd_create F GLIBC_2.29 thrd_detach F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index 8c729752d0..199f1244d0 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -39,7 +39,6 @@ GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F -GLIBC_2.2 __send F GLIBC_2.2 __sigaction F GLIBC_2.2 _pthread_cleanup_pop F GLIBC_2.2 _pthread_cleanup_pop_restore F @@ -142,7 +141,6 @@ GLIBC_2.2 sem_timedwait F GLIBC_2.2 sem_trywait F GLIBC_2.2 sem_unlink F GLIBC_2.2 sem_wait F -GLIBC_2.2 send F GLIBC_2.2 sigaction F GLIBC_2.2 siglongjmp F GLIBC_2.2.3 __libpthread_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index aa748acf8f..40685d5f51 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F -GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 _pthread_cleanup_pop F GLIBC_2.0 _pthread_cleanup_pop_restore F @@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 send F GLIBC_2.0 sigaction F GLIBC_2.0 siglongjmp F GLIBC_2.1 __libc_allocate_rtsig F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index 479dfb394d..2787631dca 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -39,7 +39,6 @@ GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F -GLIBC_2.2 __send F GLIBC_2.2 __sigaction F GLIBC_2.2 _pthread_cleanup_pop F GLIBC_2.2 _pthread_cleanup_pop_restore F @@ -142,7 +141,6 @@ GLIBC_2.2 sem_timedwait F GLIBC_2.2 sem_trywait F GLIBC_2.2 sem_unlink F GLIBC_2.2 sem_wait F -GLIBC_2.2 send F GLIBC_2.2 sigaction F GLIBC_2.2 siglongjmp F GLIBC_2.2.3 __libpthread_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index 6abba5736d..31fa48cb8a 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -72,7 +72,6 @@ GLIBC_2.4 __pthread_unregister_cancel_restore F GLIBC_2.4 __pthread_unwind_next F GLIBC_2.4 __pwrite64 F GLIBC_2.4 __res_state F -GLIBC_2.4 __send F GLIBC_2.4 __sigaction F GLIBC_2.4 _pthread_cleanup_pop F GLIBC_2.4 _pthread_cleanup_pop_restore F @@ -191,6 +190,5 @@ GLIBC_2.4 sem_timedwait F GLIBC_2.4 sem_trywait F GLIBC_2.4 sem_unlink F GLIBC_2.4 sem_wait F -GLIBC_2.4 send F GLIBC_2.4 sigaction F GLIBC_2.4 siglongjmp F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index aa748acf8f..40685d5f51 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F -GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 _pthread_cleanup_pop F GLIBC_2.0 _pthread_cleanup_pop_restore F @@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 send F GLIBC_2.0 sigaction F GLIBC_2.0 siglongjmp F GLIBC_2.1 __libc_allocate_rtsig F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index a1f250b9f5..83ad202e73 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -37,7 +37,6 @@ GLIBC_2.18 __pthread_unregister_cancel_restore F GLIBC_2.18 __pthread_unwind_next F GLIBC_2.18 __pwrite64 F GLIBC_2.18 __res_state F -GLIBC_2.18 __send F GLIBC_2.18 __sigaction F GLIBC_2.18 _pthread_cleanup_pop F GLIBC_2.18 _pthread_cleanup_pop_restore F @@ -164,7 +163,6 @@ GLIBC_2.18 sem_timedwait F GLIBC_2.18 sem_trywait F GLIBC_2.18 sem_unlink F GLIBC_2.18 sem_wait F -GLIBC_2.18 send F GLIBC_2.18 sigaction F GLIBC_2.18 siglongjmp F GLIBC_2.28 call_once F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index a1f250b9f5..83ad202e73 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -37,7 +37,6 @@ GLIBC_2.18 __pthread_unregister_cancel_restore F GLIBC_2.18 __pthread_unwind_next F GLIBC_2.18 __pwrite64 F GLIBC_2.18 __res_state F -GLIBC_2.18 __send F GLIBC_2.18 __sigaction F GLIBC_2.18 _pthread_cleanup_pop F GLIBC_2.18 _pthread_cleanup_pop_restore F @@ -164,7 +163,6 @@ GLIBC_2.18 sem_timedwait F GLIBC_2.18 sem_trywait F GLIBC_2.18 sem_unlink F GLIBC_2.18 sem_wait F -GLIBC_2.18 send F GLIBC_2.18 sigaction F GLIBC_2.18 siglongjmp F GLIBC_2.28 call_once F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index 9c35d0da80..88b6d3155c 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F -GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 _pthread_cleanup_pop F GLIBC_2.0 _pthread_cleanup_pop_restore F @@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 send F GLIBC_2.0 sigaction F GLIBC_2.0 siglongjmp F GLIBC_2.11 pthread_sigqueue F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 9c35d0da80..88b6d3155c 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F -GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 _pthread_cleanup_pop F GLIBC_2.0 _pthread_cleanup_pop_restore F @@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 send F GLIBC_2.0 sigaction F GLIBC_2.0 siglongjmp F GLIBC_2.11 pthread_sigqueue F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index 17f5609e06..3acb12c22f 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index afdbd3d286..3307186a3b 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/nios2/send.c b/sysdeps/unix/sysv/linux/nios2/send.c new file mode 100644 index 0000000000..c1621c8348 --- /dev/null +++ b/sysdeps/unix/sysv/linux/nios2/send.c @@ -0,0 +1,9 @@ +#include + +#include + +#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 diff --git a/sysdeps/unix/sysv/linux/nios2/sysdep.h b/sysdeps/unix/sysv/linux/nios2/sysdep.h index e37e66fe2e..bd802c40ff 100644 --- a/sysdeps/unix/sysv/linux/nios2/sysdep.h +++ b/sysdeps/unix/sysv/linux/nios2/sysdep.h @@ -140,10 +140,6 @@ /* In order to get __set_errno() definition in INLINE_SYSCALL. */ #include -/* 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; \ diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index 9c173663ab..72d5782419 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F -GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 _pthread_cleanup_pop F GLIBC_2.0 _pthread_cleanup_pop_restore F @@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 send F GLIBC_2.0 sigaction F GLIBC_2.0 siglongjmp F GLIBC_2.1 __libc_allocate_rtsig F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index 3d14cbccfe..31e636b59b 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -60,7 +60,6 @@ GLIBC_2.3 __pthread_rwlock_wrlock F GLIBC_2.3 __pthread_setspecific F GLIBC_2.3 __pwrite64 F GLIBC_2.3 __res_state F -GLIBC_2.3 __send F GLIBC_2.3 __sigaction F GLIBC_2.3 _pthread_cleanup_pop F GLIBC_2.3 _pthread_cleanup_pop_restore F @@ -162,7 +161,6 @@ GLIBC_2.3 sem_timedwait F GLIBC_2.3 sem_trywait F GLIBC_2.3 sem_unlink F GLIBC_2.3 sem_wait F -GLIBC_2.3 send F GLIBC_2.3 sigaction F GLIBC_2.3 siglongjmp F GLIBC_2.3.2 pthread_cond_broadcast F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index bbd24afae2..beeb6c64c7 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/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/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index 48c03fc081..b28f1fb468 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -37,7 +37,6 @@ GLIBC_2.33 __pthread_unregister_cancel_restore F GLIBC_2.33 __pthread_unwind_next F GLIBC_2.33 __pwrite64 F GLIBC_2.33 __res_state F -GLIBC_2.33 __send F GLIBC_2.33 __sigaction F GLIBC_2.33 _pthread_cleanup_pop F GLIBC_2.33 _pthread_cleanup_pop_restore F @@ -182,7 +181,6 @@ GLIBC_2.33 sem_timedwait F GLIBC_2.33 sem_trywait F GLIBC_2.33 sem_unlink F GLIBC_2.33 sem_wait F -GLIBC_2.33 send F GLIBC_2.33 sigaction F GLIBC_2.33 thrd_create F GLIBC_2.33 thrd_detach F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index b740081ba8..824f36adae 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -37,7 +37,6 @@ GLIBC_2.27 __pthread_unregister_cancel_restore F GLIBC_2.27 __pthread_unwind_next F GLIBC_2.27 __pwrite64 F GLIBC_2.27 __res_state F -GLIBC_2.27 __send F GLIBC_2.27 __sigaction F GLIBC_2.27 _pthread_cleanup_pop F GLIBC_2.27 _pthread_cleanup_pop_restore F @@ -163,7 +162,6 @@ GLIBC_2.27 sem_timedwait F GLIBC_2.27 sem_trywait F GLIBC_2.27 sem_unlink F GLIBC_2.27 sem_wait F -GLIBC_2.27 send F GLIBC_2.27 sigaction F GLIBC_2.28 call_once F GLIBC_2.28 cnd_broadcast F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index aeeeae51a3..f43c094983 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F -GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 _pthread_cleanup_pop F GLIBC_2.0 _pthread_cleanup_pop_restore F @@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 send F GLIBC_2.0 sigaction F GLIBC_2.0 siglongjmp F GLIBC_2.1 __libc_allocate_rtsig F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index 105842b87e..9958ecb259 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -41,7 +41,6 @@ GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F -GLIBC_2.2 __send F GLIBC_2.2 __sigaction F GLIBC_2.2 _pthread_cleanup_pop F GLIBC_2.2 _pthread_cleanup_pop_restore F @@ -144,7 +143,6 @@ GLIBC_2.2 sem_timedwait F GLIBC_2.2 sem_trywait F GLIBC_2.2 sem_unlink F GLIBC_2.2 sem_wait F -GLIBC_2.2 send F GLIBC_2.2 sigaction F GLIBC_2.2 siglongjmp F GLIBC_2.2.3 __libpthread_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/send.c b/sysdeps/unix/sysv/linux/send.c index 283e09e2f3..f29a7de349 100644 --- a/sysdeps/unix/sysv/linux/send.c +++ b/sysdeps/unix/sysv/linux/send.c @@ -32,6 +32,4 @@ __libc_send (int fd, const void *buf, size_t len, int flags) } weak_alias (__libc_send, send) weak_alias (__libc_send, __send) -#ifdef HAVE_INTERNAL_SEND_SYMBOL libc_hidden_def (__send) -#endif diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index 8c729752d0..199f1244d0 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -39,7 +39,6 @@ GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F -GLIBC_2.2 __send F GLIBC_2.2 __sigaction F GLIBC_2.2 _pthread_cleanup_pop F GLIBC_2.2 _pthread_cleanup_pop_restore F @@ -142,7 +141,6 @@ GLIBC_2.2 sem_timedwait F GLIBC_2.2 sem_trywait F GLIBC_2.2 sem_unlink F GLIBC_2.2 sem_wait F -GLIBC_2.2 send F GLIBC_2.2 sigaction F GLIBC_2.2 siglongjmp F GLIBC_2.2.3 __libpthread_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index 8c729752d0..199f1244d0 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -39,7 +39,6 @@ GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F -GLIBC_2.2 __send F GLIBC_2.2 __sigaction F GLIBC_2.2 _pthread_cleanup_pop F GLIBC_2.2 _pthread_cleanup_pop_restore F @@ -142,7 +141,6 @@ GLIBC_2.2 sem_timedwait F GLIBC_2.2 sem_trywait F GLIBC_2.2 sem_unlink F GLIBC_2.2 sem_wait F -GLIBC_2.2 send F GLIBC_2.2 sigaction F GLIBC_2.2 siglongjmp F GLIBC_2.2.3 __libpthread_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index ec2128b5ab..c8f1793ddf 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F -GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 _pthread_cleanup_pop F GLIBC_2.0 _pthread_cleanup_pop_restore F @@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 send F GLIBC_2.0 sigaction F GLIBC_2.0 siglongjmp F GLIBC_2.1 __libc_allocate_rtsig F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index 479dfb394d..2787631dca 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -39,7 +39,6 @@ GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F -GLIBC_2.2 __send F GLIBC_2.2 __sigaction F GLIBC_2.2 _pthread_cleanup_pop F GLIBC_2.2 _pthread_cleanup_pop_restore F @@ -142,7 +141,6 @@ GLIBC_2.2 sem_timedwait F GLIBC_2.2 sem_trywait F GLIBC_2.2 sem_unlink F GLIBC_2.2 sem_wait F -GLIBC_2.2 send F GLIBC_2.2 sigaction F GLIBC_2.2 siglongjmp F GLIBC_2.2.3 __libpthread_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/sysdep.h b/sysdeps/unix/sysv/linux/sysdep.h index bff83e5bcd..3ef72dc805 100644 --- a/sysdeps/unix/sysv/linux/sysdep.h +++ b/sysdeps/unix/sysv/linux/sysdep.h @@ -95,10 +95,6 @@ (long) (val), \ (long) (((uint64_t) (val)) >> 32) -/* Exports the __send symbol on send.c linux implementation (some ABI have - it missing due the usage of a old generic version without it). */ -#define HAVE_INTERNAL_SEND_SYMBOL 1 - /* Export the ___brk_addr symbol on brk.c implementation (some ABIs export it due and old crtstuff.c code). */ #define HAVE_INTERNAL_BRK_ADDR_SYMBOL 0 diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index 0211160097..b8d5fa3517 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -39,7 +39,6 @@ GLIBC_2.2.5 __pthread_rwlock_wrlock F GLIBC_2.2.5 __pthread_setspecific F GLIBC_2.2.5 __pwrite64 F GLIBC_2.2.5 __res_state F -GLIBC_2.2.5 __send F GLIBC_2.2.5 __sigaction F GLIBC_2.2.5 _pthread_cleanup_pop F GLIBC_2.2.5 _pthread_cleanup_pop_restore F @@ -142,7 +141,6 @@ GLIBC_2.2.5 sem_timedwait F GLIBC_2.2.5 sem_trywait F GLIBC_2.2.5 sem_unlink F GLIBC_2.2.5 sem_wait F -GLIBC_2.2.5 send F GLIBC_2.2.5 sigaction F GLIBC_2.2.5 siglongjmp F GLIBC_2.2.6 __libpthread_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index e79b5d6e28..86b646a608 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -37,7 +37,6 @@ GLIBC_2.16 __pthread_unregister_cancel_restore F GLIBC_2.16 __pthread_unwind_next F GLIBC_2.16 __pwrite64 F GLIBC_2.16 __res_state F -GLIBC_2.16 __send F GLIBC_2.16 __sigaction F GLIBC_2.16 _pthread_cleanup_pop F GLIBC_2.16 _pthread_cleanup_pop_restore F @@ -162,7 +161,6 @@ GLIBC_2.16 sem_timedwait F GLIBC_2.16 sem_trywait F GLIBC_2.16 sem_unlink F GLIBC_2.16 sem_wait F -GLIBC_2.16 send F GLIBC_2.16 sigaction F GLIBC_2.16 siglongjmp F GLIBC_2.18 pthread_getattr_default_np F -- 2.25.1