From b633cdff2cd7259baea4d115cce0a818542f6f98 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Wed, 13 Nov 2019 11:05:02 -0300 Subject: [PATCH] nptl: Move waitpid implementation to libc Checked on x86_64-linux-gnu and powerpc64le-linux-gnu. --- nptl/Makefile | 3 +-- nptl/Versions | 2 +- sysdeps/unix/sysv/linux/aarch64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/alpha/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/arm/be/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/arm/le/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/csky/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/hppa/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/i386/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/ia64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/nios2/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/sh/be/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/sh/le/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist | 1 - 29 files changed, 2 insertions(+), 30 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index 721030c..4a57213 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -47,7 +47,7 @@ pthread-compat-wrappers = \ sendto fsync lseek lseek64 \ msync open open64 pause \ pread pread64 pwrite pwrite64 \ - tcdrain waitpid msgrcv msgsnd \ + tcdrain msgrcv msgsnd \ sigwait sigsuspend \ recvmsg sendmsg @@ -206,7 +206,6 @@ CFLAGS-pread.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-pread64.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-pwrite.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-pwrite64.c += -fexceptions -fasynchronous-unwind-tables -CFLAGS-waitpid.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-sigwait.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-msgrcv.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-msgsnd.c += -fexceptions -fasynchronous-unwind-tables diff --git a/nptl/Versions b/nptl/Versions index 1dda4b9..ff6fc06 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -99,7 +99,7 @@ libpthread { close; __close; fcntl; __fcntl; read; __read; write; __write; accept; connect; __connect; recv; recvfrom; recvmsg; send; __send; sendmsg; sendto; fsync; lseek; __lseek; msync; open; __open; pause; tcdrain; - system; waitpid; + system; # Hidden entry point (through macros). _pthread_cleanup_push; _pthread_cleanup_pop; diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index cfa71ef..7fb670d 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -202,7 +202,6 @@ GLIBC_2.17 siglongjmp F GLIBC_2.17 sigwait F GLIBC_2.17 system F GLIBC_2.17 tcdrain F -GLIBC_2.17 waitpid F GLIBC_2.17 write F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 4a621cc..17d4ef5 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -102,7 +102,6 @@ GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F -GLIBC_2.0 waitpid F GLIBC_2.0 write F GLIBC_2.1 __libc_allocate_rtsig F GLIBC_2.1 __libc_current_sigrtmax F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index 428aac4..144ef99 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -231,5 +231,4 @@ GLIBC_2.4 siglongjmp F GLIBC_2.4 sigwait F GLIBC_2.4 system F GLIBC_2.4 tcdrain F -GLIBC_2.4 waitpid F GLIBC_2.4 write F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index 428aac4..144ef99 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -231,5 +231,4 @@ GLIBC_2.4 siglongjmp F GLIBC_2.4 sigwait F GLIBC_2.4 system F GLIBC_2.4 tcdrain F -GLIBC_2.4 waitpid F GLIBC_2.4 write F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index 7c17230..4edf765 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -218,7 +218,6 @@ GLIBC_2.29 tss_create F GLIBC_2.29 tss_delete F GLIBC_2.29 tss_get F GLIBC_2.29 tss_set F -GLIBC_2.29 waitpid F GLIBC_2.29 write F GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index a52648d..cc562f5 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -179,7 +179,6 @@ GLIBC_2.2 siglongjmp F GLIBC_2.2 sigwait F GLIBC_2.2 system F GLIBC_2.2 tcdrain F -GLIBC_2.2 waitpid F GLIBC_2.2 write F GLIBC_2.2.3 pthread_getattr_np F GLIBC_2.2.6 __libpthread_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index 04c28df..b90aa4b 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -102,7 +102,6 @@ GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F -GLIBC_2.0 waitpid F GLIBC_2.0 write F GLIBC_2.1 __libc_allocate_rtsig F GLIBC_2.1 __libc_current_sigrtmax F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index 8f49a20..8692ad0 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -179,7 +179,6 @@ GLIBC_2.2 siglongjmp F GLIBC_2.2 sigwait F GLIBC_2.2 system F GLIBC_2.2 tcdrain F -GLIBC_2.2 waitpid F GLIBC_2.2 write F GLIBC_2.2.3 pthread_getattr_np F GLIBC_2.2.6 __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 428aac4..144ef99 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -231,5 +231,4 @@ GLIBC_2.4 siglongjmp F GLIBC_2.4 sigwait F GLIBC_2.4 system F GLIBC_2.4 tcdrain F -GLIBC_2.4 waitpid F GLIBC_2.4 write F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index 04c28df..b90aa4b 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -102,7 +102,6 @@ GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F -GLIBC_2.0 waitpid F GLIBC_2.0 write F GLIBC_2.1 __libc_allocate_rtsig F GLIBC_2.1 __libc_current_sigrtmax F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index 50002eb..40dbd1e 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -204,7 +204,6 @@ GLIBC_2.18 siglongjmp F GLIBC_2.18 sigwait F GLIBC_2.18 system F GLIBC_2.18 tcdrain F -GLIBC_2.18 waitpid F GLIBC_2.18 write F GLIBC_2.28 call_once F GLIBC_2.28 cnd_broadcast F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index 50002eb..40dbd1e 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -204,7 +204,6 @@ GLIBC_2.18 siglongjmp F GLIBC_2.18 sigwait F GLIBC_2.18 system F GLIBC_2.18 tcdrain F -GLIBC_2.18 waitpid F GLIBC_2.18 write F GLIBC_2.28 call_once F GLIBC_2.28 cnd_broadcast F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index e9c95fc..885e880 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -102,7 +102,6 @@ GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F -GLIBC_2.0 waitpid F GLIBC_2.0 write F GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index e9c95fc..885e880 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -102,7 +102,6 @@ GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F -GLIBC_2.0 waitpid F GLIBC_2.0 write F GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index 226cf52..e787d88 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -204,7 +204,6 @@ GLIBC_2.21 siglongjmp F GLIBC_2.21 sigwait F GLIBC_2.21 system F GLIBC_2.21 tcdrain F -GLIBC_2.21 waitpid F GLIBC_2.21 write F GLIBC_2.28 call_once F GLIBC_2.28 cnd_broadcast F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index 40cc28a..4562654 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -102,7 +102,6 @@ GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F -GLIBC_2.0 waitpid F GLIBC_2.0 write F GLIBC_2.1 __libc_allocate_rtsig F GLIBC_2.1 __libc_current_sigrtmax F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index c97f8ee..f6ae27d 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -200,7 +200,6 @@ GLIBC_2.3 siglongjmp F GLIBC_2.3 sigwait F GLIBC_2.3 system F GLIBC_2.3 tcdrain F -GLIBC_2.3 waitpid F GLIBC_2.3 write F GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index cfa71ef..7fb670d 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -202,7 +202,6 @@ GLIBC_2.17 siglongjmp F GLIBC_2.17 sigwait F GLIBC_2.17 system F GLIBC_2.17 tcdrain F -GLIBC_2.17 waitpid F GLIBC_2.17 write F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index 0ed3f13..1581991 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -199,7 +199,6 @@ GLIBC_2.27 sendto F GLIBC_2.27 sigaction F GLIBC_2.27 sigwait F GLIBC_2.27 tcdrain F -GLIBC_2.27 waitpid F GLIBC_2.27 write 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 4840e57..2d1d9e7 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -102,7 +102,6 @@ GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F -GLIBC_2.0 waitpid F GLIBC_2.0 write F GLIBC_2.1 __libc_allocate_rtsig F GLIBC_2.1 __libc_current_sigrtmax F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index fa15eb6..575522b 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -181,7 +181,6 @@ GLIBC_2.2 siglongjmp F GLIBC_2.2 sigwait F GLIBC_2.2 system F GLIBC_2.2 tcdrain F -GLIBC_2.2 waitpid F GLIBC_2.2 write F GLIBC_2.2.3 pthread_getattr_np F GLIBC_2.2.6 __libpthread_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index a52648d..cc562f5 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -179,7 +179,6 @@ GLIBC_2.2 siglongjmp F GLIBC_2.2 sigwait F GLIBC_2.2 system F GLIBC_2.2 tcdrain F -GLIBC_2.2 waitpid F GLIBC_2.2 write F GLIBC_2.2.3 pthread_getattr_np F GLIBC_2.2.6 __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 a52648d..cc562f5 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -179,7 +179,6 @@ GLIBC_2.2 siglongjmp F GLIBC_2.2 sigwait F GLIBC_2.2 system F GLIBC_2.2 tcdrain F -GLIBC_2.2 waitpid F GLIBC_2.2 write F GLIBC_2.2.3 pthread_getattr_np F GLIBC_2.2.6 __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 4a621cc..17d4ef5 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -102,7 +102,6 @@ GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F -GLIBC_2.0 waitpid F GLIBC_2.0 write F GLIBC_2.1 __libc_allocate_rtsig F GLIBC_2.1 __libc_current_sigrtmax F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index 8f49a20..8692ad0 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -179,7 +179,6 @@ GLIBC_2.2 siglongjmp F GLIBC_2.2 sigwait F GLIBC_2.2 system F GLIBC_2.2 tcdrain F -GLIBC_2.2 waitpid F GLIBC_2.2 write F GLIBC_2.2.3 pthread_getattr_np F GLIBC_2.2.6 __libpthread_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index 512588d..91d0b8b 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -180,7 +180,6 @@ GLIBC_2.2.5 siglongjmp F GLIBC_2.2.5 sigwait F GLIBC_2.2.5 system F GLIBC_2.2.5 tcdrain F -GLIBC_2.2.5 waitpid F GLIBC_2.2.5 write F GLIBC_2.2.6 __libpthread_version_placeholder F GLIBC_2.28 call_once F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index ae748ed..6d8045d 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -202,7 +202,6 @@ GLIBC_2.16 siglongjmp F GLIBC_2.16 sigwait F GLIBC_2.16 system F GLIBC_2.16 tcdrain F -GLIBC_2.16 waitpid F GLIBC_2.16 write F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -- 2.7.4