aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-11-05 19:59:36 +0000
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-11-06 14:36:07 -0300
commit79a547b162657b3fa34d31917cc29f0e7af19e4c (patch)
treefe596690c3323410adab38a762a1cab1f8732705
parent2a0356e1191804d57005e1cfe2a72f019b7a8cce (diff)
downloadglibc-79a547b162657b3fa34d31917cc29f0e7af19e4c.zip
glibc-79a547b162657b3fa34d31917cc29f0e7af19e4c.tar.gz
glibc-79a547b162657b3fa34d31917cc29f0e7af19e4c.tar.bz2
nptl: Move nanosleep implementation to libc
Checked on x86_64-linux-gnu and powerpc64le-linux-gnu. I also checked the libpthread.so .gnu.version_d entries for every ABI affected and all of them contains the required versions (including for architectures which exports __nanosleep with a different version). Reviewed-by: Florian Weimer <fweimer@redhat.com>
-rw-r--r--nptl/Makefile3
-rw-r--r--nptl/Versions5
-rw-r--r--nptl/libpthread-compat.c2
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/csky/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/i386/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist2
-rw-r--r--time/Makefile1
31 files changed, 5 insertions, 60 deletions
diff --git a/nptl/Makefile b/nptl/Makefile
index 73b2071..f9aadfd 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -44,7 +44,7 @@ pthread-compat-wrappers = \
write read close accept \
connect recv recvfrom send \
sendto fsync lseek lseek64 \
- msync nanosleep open open64 pause \
+ msync open open64 pause \
pread pread64 pwrite pwrite64 \
tcdrain wait waitpid msgrcv msgsnd \
sigwait sigsuspend \
@@ -225,7 +225,6 @@ CFLAGS-sendmsg.c += -fexceptions -fasynchronous-unwind-tables
CFLAGS-close.c += -fexceptions -fasynchronous-unwind-tables
CFLAGS-read.c += -fexceptions -fasynchronous-unwind-tables
CFLAGS-write.c += -fexceptions -fasynchronous-unwind-tables
-CFLAGS-nanosleep.c += -fexceptions -fasynchronous-unwind-tables
CFLAGS-sigsuspend.c += -fexceptions -fasynchronous-unwind-tables
CFLAGS-msync.c += -fexceptions -fasynchronous-unwind-tables
CFLAGS-fdatasync.c += -fexceptions -fasynchronous-unwind-tables
diff --git a/nptl/Versions b/nptl/Versions
index adbd4fa..5d6aedb 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -98,7 +98,7 @@ libpthread {
# Cancellation points.
close; __close; fcntl; __fcntl; read; __read; write; __write; accept;
connect; __connect; recv; recvfrom; recvmsg; send; __send; sendmsg; sendto;
- fsync; lseek; __lseek; msync; nanosleep; open; __open; pause; tcdrain;
+ fsync; lseek; __lseek; msync; open; __open; pause; tcdrain;
system; wait; __wait; waitpid;
# Hidden entry point (through macros).
@@ -193,8 +193,7 @@ libpthread {
}
GLIBC_2.2.6 {
- # Cancellation wrapper
- __nanosleep;
+ __libpthread_version_placeholder;
}
GLIBC_2.3.2 {
diff --git a/nptl/libpthread-compat.c b/nptl/libpthread-compat.c
index f1f0e09..7398f5e 100644
--- a/nptl/libpthread-compat.c
+++ b/nptl/libpthread-compat.c
@@ -26,7 +26,7 @@
version or later, the placeholder symbol is not needed because
there are plenty of other symbols which populate those later
versions. */
-#if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2))
+#if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2_6))
void
attribute_compat_text_section
__libpthread_version_placeholder (void)
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index e6e6489..98a8473 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -11,7 +11,6 @@ GLIBC_2.17 __libc_allocate_rtsig F
GLIBC_2.17 __libc_current_sigrtmax F
GLIBC_2.17 __libc_current_sigrtmin F
GLIBC_2.17 __lseek F
-GLIBC_2.17 __nanosleep F
GLIBC_2.17 __open F
GLIBC_2.17 __open64 F
GLIBC_2.17 __pread64 F
@@ -64,7 +63,6 @@ GLIBC_2.17 longjmp F
GLIBC_2.17 lseek F
GLIBC_2.17 lseek64 F
GLIBC_2.17 msync F
-GLIBC_2.17 nanosleep F
GLIBC_2.17 open F
GLIBC_2.17 open64 F
GLIBC_2.17 pause F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 89e129a..f42bcff 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.0 funlockfile F
GLIBC_2.0 longjmp F
GLIBC_2.0 lseek F
GLIBC_2.0 msync F
-GLIBC_2.0 nanosleep F
GLIBC_2.0 open F
GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
@@ -193,7 +192,6 @@ GLIBC_2.2 pwrite F
GLIBC_2.2 pwrite64 F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 pthread_getattr_np F
-GLIBC_2.2.6 __nanosleep F
GLIBC_2.28 call_once F
GLIBC_2.28 cnd_broadcast F
GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 1961bd0..c5b7aeb 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -46,7 +46,6 @@ GLIBC_2.4 __libc_allocate_rtsig F
GLIBC_2.4 __libc_current_sigrtmax F
GLIBC_2.4 __libc_current_sigrtmin F
GLIBC_2.4 __lseek F
-GLIBC_2.4 __nanosleep F
GLIBC_2.4 __open F
GLIBC_2.4 __open64 F
GLIBC_2.4 __pread64 F
@@ -99,7 +98,6 @@ GLIBC_2.4 longjmp F
GLIBC_2.4 lseek F
GLIBC_2.4 lseek64 F
GLIBC_2.4 msync F
-GLIBC_2.4 nanosleep F
GLIBC_2.4 open F
GLIBC_2.4 open64 F
GLIBC_2.4 pause F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 1961bd0..c5b7aeb 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -46,7 +46,6 @@ GLIBC_2.4 __libc_allocate_rtsig F
GLIBC_2.4 __libc_current_sigrtmax F
GLIBC_2.4 __libc_current_sigrtmin F
GLIBC_2.4 __lseek F
-GLIBC_2.4 __nanosleep F
GLIBC_2.4 __open F
GLIBC_2.4 __open64 F
GLIBC_2.4 __pread64 F
@@ -99,7 +98,6 @@ GLIBC_2.4 longjmp F
GLIBC_2.4 lseek F
GLIBC_2.4 lseek64 F
GLIBC_2.4 msync F
-GLIBC_2.4 nanosleep F
GLIBC_2.4 open F
GLIBC_2.4 open64 F
GLIBC_2.4 pause F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 259f6a8..edbdea3 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -9,7 +9,6 @@ GLIBC_2.29 __libc_allocate_rtsig F
GLIBC_2.29 __libc_current_sigrtmax F
GLIBC_2.29 __libc_current_sigrtmin F
GLIBC_2.29 __lseek F
-GLIBC_2.29 __nanosleep F
GLIBC_2.29 __open F
GLIBC_2.29 __open64 F
GLIBC_2.29 __pread64 F
@@ -72,7 +71,6 @@ GLIBC_2.29 mtx_lock F
GLIBC_2.29 mtx_timedlock F
GLIBC_2.29 mtx_trylock F
GLIBC_2.29 mtx_unlock F
-GLIBC_2.29 nanosleep F
GLIBC_2.29 open F
GLIBC_2.29 open64 F
GLIBC_2.29 pause F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index c03a4a6..a8ddcca 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -65,7 +65,6 @@ GLIBC_2.2 longjmp F
GLIBC_2.2 lseek F
GLIBC_2.2 lseek64 F
GLIBC_2.2 msync F
-GLIBC_2.2 nanosleep F
GLIBC_2.2 open F
GLIBC_2.2 open64 F
GLIBC_2.2 pause F
@@ -185,7 +184,6 @@ GLIBC_2.2 wait F
GLIBC_2.2 waitpid F
GLIBC_2.2 write F
GLIBC_2.2.3 pthread_getattr_np F
-GLIBC_2.2.6 __nanosleep F
GLIBC_2.28 call_once F
GLIBC_2.28 cnd_broadcast F
GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 831cdec..5d1bf0f 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.0 funlockfile F
GLIBC_2.0 longjmp F
GLIBC_2.0 lseek F
GLIBC_2.0 msync F
-GLIBC_2.0 nanosleep F
GLIBC_2.0 open F
GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
@@ -193,7 +192,6 @@ GLIBC_2.2 pwrite F
GLIBC_2.2 pwrite64 F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 pthread_getattr_np F
-GLIBC_2.2.6 __nanosleep F
GLIBC_2.28 call_once F
GLIBC_2.28 cnd_broadcast F
GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 7609d56..db3da66 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -65,7 +65,6 @@ GLIBC_2.2 longjmp F
GLIBC_2.2 lseek F
GLIBC_2.2 lseek64 F
GLIBC_2.2 msync F
-GLIBC_2.2 nanosleep F
GLIBC_2.2 open F
GLIBC_2.2 open64 F
GLIBC_2.2 pause F
@@ -185,7 +184,6 @@ GLIBC_2.2 wait F
GLIBC_2.2 waitpid F
GLIBC_2.2 write F
GLIBC_2.2.3 pthread_getattr_np F
-GLIBC_2.2.6 __nanosleep F
GLIBC_2.28 call_once F
GLIBC_2.28 cnd_broadcast F
GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 1961bd0..c5b7aeb 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -46,7 +46,6 @@ GLIBC_2.4 __libc_allocate_rtsig F
GLIBC_2.4 __libc_current_sigrtmax F
GLIBC_2.4 __libc_current_sigrtmin F
GLIBC_2.4 __lseek F
-GLIBC_2.4 __nanosleep F
GLIBC_2.4 __open F
GLIBC_2.4 __open64 F
GLIBC_2.4 __pread64 F
@@ -99,7 +98,6 @@ GLIBC_2.4 longjmp F
GLIBC_2.4 lseek F
GLIBC_2.4 lseek64 F
GLIBC_2.4 msync F
-GLIBC_2.4 nanosleep F
GLIBC_2.4 open F
GLIBC_2.4 open64 F
GLIBC_2.4 pause F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 831cdec..5d1bf0f 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.0 funlockfile F
GLIBC_2.0 longjmp F
GLIBC_2.0 lseek F
GLIBC_2.0 msync F
-GLIBC_2.0 nanosleep F
GLIBC_2.0 open F
GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
@@ -193,7 +192,6 @@ GLIBC_2.2 pwrite F
GLIBC_2.2 pwrite64 F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 pthread_getattr_np F
-GLIBC_2.2.6 __nanosleep F
GLIBC_2.28 call_once F
GLIBC_2.28 cnd_broadcast F
GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 269cd09..bf777df 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -11,7 +11,6 @@ GLIBC_2.18 __libc_allocate_rtsig F
GLIBC_2.18 __libc_current_sigrtmax F
GLIBC_2.18 __libc_current_sigrtmin F
GLIBC_2.18 __lseek F
-GLIBC_2.18 __nanosleep F
GLIBC_2.18 __open F
GLIBC_2.18 __open64 F
GLIBC_2.18 __pread64 F
@@ -64,7 +63,6 @@ GLIBC_2.18 longjmp F
GLIBC_2.18 lseek F
GLIBC_2.18 lseek64 F
GLIBC_2.18 msync F
-GLIBC_2.18 nanosleep F
GLIBC_2.18 open F
GLIBC_2.18 open64 F
GLIBC_2.18 pause F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 269cd09..bf777df 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -11,7 +11,6 @@ GLIBC_2.18 __libc_allocate_rtsig F
GLIBC_2.18 __libc_current_sigrtmax F
GLIBC_2.18 __libc_current_sigrtmin F
GLIBC_2.18 __lseek F
-GLIBC_2.18 __nanosleep F
GLIBC_2.18 __open F
GLIBC_2.18 __open64 F
GLIBC_2.18 __pread64 F
@@ -64,7 +63,6 @@ GLIBC_2.18 longjmp F
GLIBC_2.18 lseek F
GLIBC_2.18 lseek64 F
GLIBC_2.18 msync F
-GLIBC_2.18 nanosleep F
GLIBC_2.18 open F
GLIBC_2.18 open64 F
GLIBC_2.18 pause F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index d3288b4..6229568 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.0 funlockfile F
GLIBC_2.0 longjmp F
GLIBC_2.0 lseek F
GLIBC_2.0 msync F
-GLIBC_2.0 nanosleep F
GLIBC_2.0 open F
GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
@@ -192,7 +191,6 @@ GLIBC_2.2 sem_trywait F
GLIBC_2.2 sem_unlink F
GLIBC_2.2 sem_wait F
GLIBC_2.2.3 pthread_getattr_np F
-GLIBC_2.2.6 __nanosleep F
GLIBC_2.28 call_once F
GLIBC_2.28 cnd_broadcast F
GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index d3288b4..6229568 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.0 funlockfile F
GLIBC_2.0 longjmp F
GLIBC_2.0 lseek F
GLIBC_2.0 msync F
-GLIBC_2.0 nanosleep F
GLIBC_2.0 open F
GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
@@ -192,7 +191,6 @@ GLIBC_2.2 sem_trywait F
GLIBC_2.2 sem_unlink F
GLIBC_2.2 sem_wait F
GLIBC_2.2.3 pthread_getattr_np F
-GLIBC_2.2.6 __nanosleep F
GLIBC_2.28 call_once F
GLIBC_2.28 cnd_broadcast F
GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 961cd4a..03a462e 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -11,7 +11,6 @@ GLIBC_2.21 __libc_allocate_rtsig F
GLIBC_2.21 __libc_current_sigrtmax F
GLIBC_2.21 __libc_current_sigrtmin F
GLIBC_2.21 __lseek F
-GLIBC_2.21 __nanosleep F
GLIBC_2.21 __open F
GLIBC_2.21 __open64 F
GLIBC_2.21 __pread64 F
@@ -64,7 +63,6 @@ GLIBC_2.21 longjmp F
GLIBC_2.21 lseek F
GLIBC_2.21 lseek64 F
GLIBC_2.21 msync F
-GLIBC_2.21 nanosleep F
GLIBC_2.21 open F
GLIBC_2.21 open64 F
GLIBC_2.21 pause F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 66845c2..0245103 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.0 funlockfile F
GLIBC_2.0 longjmp F
GLIBC_2.0 lseek F
GLIBC_2.0 msync F
-GLIBC_2.0 nanosleep F
GLIBC_2.0 open F
GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
@@ -193,7 +192,6 @@ GLIBC_2.2 pwrite F
GLIBC_2.2 pwrite64 F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 pthread_getattr_np F
-GLIBC_2.2.6 __nanosleep F
GLIBC_2.28 call_once F
GLIBC_2.28 cnd_broadcast F
GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 143ed2d..618004a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -40,7 +40,6 @@ GLIBC_2.3 __libc_allocate_rtsig F
GLIBC_2.3 __libc_current_sigrtmax F
GLIBC_2.3 __libc_current_sigrtmin F
GLIBC_2.3 __lseek F
-GLIBC_2.3 __nanosleep F
GLIBC_2.3 __open F
GLIBC_2.3 __open64 F
GLIBC_2.3 __pread64 F
@@ -87,7 +86,6 @@ GLIBC_2.3 longjmp F
GLIBC_2.3 lseek F
GLIBC_2.3 lseek64 F
GLIBC_2.3 msync F
-GLIBC_2.3 nanosleep F
GLIBC_2.3 open F
GLIBC_2.3 open64 F
GLIBC_2.3 pause F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index e6e6489..98a8473 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -11,7 +11,6 @@ GLIBC_2.17 __libc_allocate_rtsig F
GLIBC_2.17 __libc_current_sigrtmax F
GLIBC_2.17 __libc_current_sigrtmin F
GLIBC_2.17 __lseek F
-GLIBC_2.17 __nanosleep F
GLIBC_2.17 __open F
GLIBC_2.17 __open64 F
GLIBC_2.17 __pread64 F
@@ -64,7 +63,6 @@ GLIBC_2.17 longjmp F
GLIBC_2.17 lseek F
GLIBC_2.17 lseek64 F
GLIBC_2.17 msync F
-GLIBC_2.17 nanosleep F
GLIBC_2.17 open F
GLIBC_2.17 open64 F
GLIBC_2.17 pause F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index b52721c..d44217a 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -10,7 +10,6 @@ GLIBC_2.27 __libc_allocate_rtsig F
GLIBC_2.27 __libc_current_sigrtmax F
GLIBC_2.27 __libc_current_sigrtmin F
GLIBC_2.27 __lseek F
-GLIBC_2.27 __nanosleep F
GLIBC_2.27 __open F
GLIBC_2.27 __open64 F
GLIBC_2.27 __pread64 F
@@ -61,7 +60,6 @@ GLIBC_2.27 funlockfile F
GLIBC_2.27 lseek F
GLIBC_2.27 lseek64 F
GLIBC_2.27 msync F
-GLIBC_2.27 nanosleep F
GLIBC_2.27 open F
GLIBC_2.27 open64 F
GLIBC_2.27 pause F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index caf7f79..429d8b6 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.0 funlockfile F
GLIBC_2.0 longjmp F
GLIBC_2.0 lseek F
GLIBC_2.0 msync F
-GLIBC_2.0 nanosleep F
GLIBC_2.0 open F
GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
@@ -195,7 +194,6 @@ GLIBC_2.2 pwrite F
GLIBC_2.2 pwrite64 F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 pthread_getattr_np F
-GLIBC_2.2.6 __nanosleep F
GLIBC_2.28 call_once F
GLIBC_2.28 cnd_broadcast F
GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 9e12e9b..4a9bffe 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -67,7 +67,6 @@ GLIBC_2.2 longjmp F
GLIBC_2.2 lseek F
GLIBC_2.2 lseek64 F
GLIBC_2.2 msync F
-GLIBC_2.2 nanosleep F
GLIBC_2.2 open F
GLIBC_2.2 open64 F
GLIBC_2.2 pause F
@@ -187,7 +186,6 @@ GLIBC_2.2 wait F
GLIBC_2.2 waitpid F
GLIBC_2.2 write F
GLIBC_2.2.3 pthread_getattr_np F
-GLIBC_2.2.6 __nanosleep F
GLIBC_2.28 call_once F
GLIBC_2.28 cnd_broadcast F
GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index c03a4a6..a8ddcca 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -65,7 +65,6 @@ GLIBC_2.2 longjmp F
GLIBC_2.2 lseek F
GLIBC_2.2 lseek64 F
GLIBC_2.2 msync F
-GLIBC_2.2 nanosleep F
GLIBC_2.2 open F
GLIBC_2.2 open64 F
GLIBC_2.2 pause F
@@ -185,7 +184,6 @@ GLIBC_2.2 wait F
GLIBC_2.2 waitpid F
GLIBC_2.2 write F
GLIBC_2.2.3 pthread_getattr_np F
-GLIBC_2.2.6 __nanosleep F
GLIBC_2.28 call_once F
GLIBC_2.28 cnd_broadcast F
GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index c03a4a6..a8ddcca 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -65,7 +65,6 @@ GLIBC_2.2 longjmp F
GLIBC_2.2 lseek F
GLIBC_2.2 lseek64 F
GLIBC_2.2 msync F
-GLIBC_2.2 nanosleep F
GLIBC_2.2 open F
GLIBC_2.2 open64 F
GLIBC_2.2 pause F
@@ -185,7 +184,6 @@ GLIBC_2.2 wait F
GLIBC_2.2 waitpid F
GLIBC_2.2 write F
GLIBC_2.2.3 pthread_getattr_np F
-GLIBC_2.2.6 __nanosleep F
GLIBC_2.28 call_once F
GLIBC_2.28 cnd_broadcast F
GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 89e129a..f42bcff 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -42,7 +42,6 @@ GLIBC_2.0 funlockfile F
GLIBC_2.0 longjmp F
GLIBC_2.0 lseek F
GLIBC_2.0 msync F
-GLIBC_2.0 nanosleep F
GLIBC_2.0 open F
GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
@@ -193,7 +192,6 @@ GLIBC_2.2 pwrite F
GLIBC_2.2 pwrite64 F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 pthread_getattr_np F
-GLIBC_2.2.6 __nanosleep F
GLIBC_2.28 call_once F
GLIBC_2.28 cnd_broadcast F
GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 7609d56..db3da66 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -65,7 +65,6 @@ GLIBC_2.2 longjmp F
GLIBC_2.2 lseek F
GLIBC_2.2 lseek64 F
GLIBC_2.2 msync F
-GLIBC_2.2 nanosleep F
GLIBC_2.2 open F
GLIBC_2.2 open64 F
GLIBC_2.2 pause F
@@ -185,7 +184,6 @@ GLIBC_2.2 wait F
GLIBC_2.2 waitpid F
GLIBC_2.2 write F
GLIBC_2.2.3 pthread_getattr_np F
-GLIBC_2.2.6 __nanosleep F
GLIBC_2.28 call_once F
GLIBC_2.28 cnd_broadcast F
GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 39f807b..e13f81e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -65,7 +65,6 @@ GLIBC_2.2.5 longjmp F
GLIBC_2.2.5 lseek F
GLIBC_2.2.5 lseek64 F
GLIBC_2.2.5 msync F
-GLIBC_2.2.5 nanosleep F
GLIBC_2.2.5 open F
GLIBC_2.2.5 open64 F
GLIBC_2.2.5 pause F
@@ -185,7 +184,6 @@ GLIBC_2.2.5 tcdrain F
GLIBC_2.2.5 wait F
GLIBC_2.2.5 waitpid F
GLIBC_2.2.5 write F
-GLIBC_2.2.6 __nanosleep F
GLIBC_2.28 call_once F
GLIBC_2.28 cnd_broadcast F
GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 21191a7..aadd9eb 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -11,7 +11,6 @@ GLIBC_2.16 __libc_allocate_rtsig F
GLIBC_2.16 __libc_current_sigrtmax F
GLIBC_2.16 __libc_current_sigrtmin F
GLIBC_2.16 __lseek F
-GLIBC_2.16 __nanosleep F
GLIBC_2.16 __open F
GLIBC_2.16 __open64 F
GLIBC_2.16 __pread64 F
@@ -64,7 +63,6 @@ GLIBC_2.16 longjmp F
GLIBC_2.16 lseek F
GLIBC_2.16 lseek64 F
GLIBC_2.16 msync F
-GLIBC_2.16 nanosleep F
GLIBC_2.16 open F
GLIBC_2.16 open64 F
GLIBC_2.16 pause F
diff --git a/time/Makefile b/time/Makefile
index 6de4e41..23630ae 100644
--- a/time/Makefile
+++ b/time/Makefile
@@ -73,6 +73,7 @@ CFLAGS-tzfile.c += $(tz-cflags)
CFLAGS-tzset.c += $(tz-cflags)
CFLAGS-getdate.c += -fexceptions
CFLAGS-clock_nanosleep.c += -fexceptions -fasynchronous-unwind-tables
+CFLAGS-nanosleep.c += -fexceptions -fasynchronous-unwind-tables
# Don't warn about Y2k problem in strftime format string.
CFLAGS-test_time.c += -Wno-format