aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2019-09-04 08:18:57 +0200
committerFlorian Weimer <fweimer@redhat.com>2019-09-04 14:39:38 +0200
commit7b5af2d8f2a2b858319a792678b15a0db08764c7 (patch)
tree014a27968a65aaadedc097d9fe9bd1fb62c45896
parentb5367a08ae810e3c648fb036f2e5766204f9d83f (diff)
downloadglibc-7b5af2d8f2a2b858319a792678b15a0db08764c7.tar.xz
glibc-7b5af2d8f2a2b858319a792678b15a0db08764c7.zip
Finish move of clock_* functions to libc. [BZ #24959]
In glibc 2.17, the functions clock_getcpuclockid, clock_getres, clock_gettime, clock_nanosleep, and clock_settime were moved from librt.so to libc.so, leaving compatibility stubs behind. Now that the dynamic linker no longer insists on finding versioned symbols in the same library that originally defined them, we do not need the stubs anymore, and this means we don't need GLIBC_PRIVATE __-prefix aliases for most of the functions anymore either. (clock_gettime still needs one.) For ports added before 2.17, libc.so needs to provide two symbol versions for each, the default at GLIBC_2.17 plus a compat version matching what librt had. While I'm at it, move the clock_*.c files and their tests from rt/ to time/.
-rw-r--r--ChangeLog104
-rw-r--r--include/time.h4
-rw-r--r--rt/Makefile15
-rw-r--r--rt/Versions16
-rw-r--r--rt/clock-compat.c63
-rw-r--r--sysdeps/mach/hurd/i386/libc.abilist5
-rw-r--r--sysdeps/mach/hurd/i386/librt.abilist5
-rw-r--r--sysdeps/posix/clock_getres.c11
-rw-r--r--sysdeps/unix/clock_gettime.c26
-rw-r--r--sysdeps/unix/clock_nanosleep.c10
-rw-r--r--sysdeps/unix/clock_settime.c13
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/alpha/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/clock_getcpuclockid.c10
-rw-r--r--sysdeps/unix/sysv/linux/clock_getres.c11
-rw-r--r--sysdeps/unix/sysv/linux/clock_gettime.c11
-rw-r--r--sysdeps/unix/sysv/linux/clock_nanosleep.c10
-rw-r--r--sysdeps/unix/sysv/linux/clock_settime.c11
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/hppa/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/i386/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/ia64/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/librt.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist5
-rw-r--r--time/Makefile8
-rw-r--r--time/Versions13
-rw-r--r--time/clock_getcpuclockid.c (renamed from rt/clock_getcpuclockid.c)9
-rw-r--r--time/clock_getres.c (renamed from rt/clock_getres.c)11
-rw-r--r--time/clock_gettime.c (renamed from rt/clock_gettime.c)11
-rw-r--r--time/clock_nanosleep.c (renamed from rt/clock_nanosleep.c)11
-rw-r--r--time/clock_settime.c (renamed from rt/clock_settime.c)12
-rw-r--r--time/tst-clock.c (renamed from rt/tst-clock.c)0
-rw-r--r--time/tst-clock2.c (renamed from rt/tst-clock2.c)0
-rw-r--r--time/tst-clock_nanosleep.c (renamed from rt/tst-clock_nanosleep.c)0
-rw-r--r--time/tst-cpuclock1.c (renamed from rt/tst-cpuclock1.c)0
72 files changed, 382 insertions, 243 deletions
diff --git a/ChangeLog b/ChangeLog
index 46fd5f2a24..7903eb9556 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,107 @@
+2019-09-04 Zack Weinberg <zackw@panix.com>
+
+ [BZ #24959]
+ * rt/clock_getcpuclockid.c: Move to time/clock_getcpuclockid.c.
+ * rt/clock_getres.c: Move to time/clock_getres.c.
+ * rt/clock_gettime.c: Move to time/clock_gettime.c.
+ * rt/clock_nanosleep.c: Move to time/clock_nanosleep.c.
+ * rt/clock_settime.c: Move to time/clock_settime.c.
+ * rt/tst-clock.c: Move to time/tst-clock.c.
+ * rt/tst-clock2.c: Move to time/tst-clock2.c.
+ * rt/tst-clock_nanosleep.c: Move to time/tst-clock_nanosleep.c.
+ * rt/tst-cpuclock1.c: Move to time/tst-cpuclock1.c.
+ * rt/clock-compat.c: Delete file.
+
+ * time/clock_getcpuclockid.c
+ * time/clock_getres.c
+ * time/clock_gettime.c
+ * time/clock_nanosleep.c
+ * time/clock_settime.c
+ * sysdeps/posix/clock_getres.c
+ * sysdeps/unix/clock_gettime.c
+ * sysdeps/unix/clock_nanosleep.c
+ * sysdeps/unix/clock_settime.c
+ * sysdeps/unix/sysv/linux/clock_getcpuclockid.c
+ * sysdeps/unix/sysv/linux/clock_getres.c
+ * sysdeps/unix/sysv/linux/clock_gettime.c
+ * sysdeps/unix/sysv/linux/clock_nanosleep.c
+ * sysdeps/unix/sysv/linux/clock_settime.c: Define the function
+ defined by this file with default symbol version GLIBC_2_17,
+ and optionally a compatibility alias at symbol version GLIBC_2_2.
+ * include/time.h: Remove internal prototypes for clock_getres,
+ clock_nanosleep, and clock_getcpuclockid.
+
+ * sysdeps/unix/sysv/linux/clock_gettime.c: Prune includes.
+ Remove unused function realtime_gettime.
+
+ * rt/Makefile (clock-routines, routines): Remove variable.
+ (librt-routines): Remove clock-compat.
+ (tests): Remove tst-clock, tst-clock2, tst-clock_nanosleep,
+ and tst-cpuclock1.
+ * time/Makefile (routines): Add clock_getres, clock_gettime,
+ clock_settime, clock_getcpuclockid, and clock_nanosleep.
+ (tests): Add tst-clock, tst-clock2, tst-clock_nanosleep,
+ and tst-cpuclock1.
+
+ * rt/Versions (libc): Remove entire stanza.
+ (librt GLIBC_2.2): Remove all clock_* functions.
+ * time/Versions (libc GLIBC_2.2, libc GLIBC_2.17):
+ Add clock_getres, clock_gettime, clock_settime,
+ clock_getcpuclockid, and clock_nanosleep.
+ (libc GLIBC_PRIVATE): Add __clock_gettime.
+
+ * sysdeps/mach/hurd/i386/librt.abilist
+ * sysdeps/unix/sysv/linux/alpha/librt.abilist
+ * sysdeps/unix/sysv/linux/arm/be/librt.abilist
+ * sysdeps/unix/sysv/linux/arm/le/librt.abilist
+ * sysdeps/unix/sysv/linux/hppa/librt.abilist
+ * sysdeps/unix/sysv/linux/i386/librt.abilist
+ * sysdeps/unix/sysv/linux/ia64/librt.abilist
+ * sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
+ * sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
+ * sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
+ * sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
+ * sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
+ * sysdeps/unix/sysv/linux/mips/mips64/librt.abilist
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
+ * sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
+ * sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
+ * sysdeps/unix/sysv/linux/sh/librt.abilist
+ * sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
+ * sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
+ * sysdeps/unix/sysv/linux/x86_64/64/librt.abilist