]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Linux: Move timer_settime, __timer_settime64 from librt to libc
authorFlorian Weimer <fweimer@redhat.com>
Mon, 28 Jun 2021 07:51:01 +0000 (09:51 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Mon, 28 Jun 2021 07:51:01 +0000 (09:51 +0200)
The symbols were moved using scripts/move-symbol-to-libc.py.

The way the ABI intransition is implemented is changed with this
commit: the implementation is now consolidated in one file with a
TIMER_T_WAS_INT_COMPAT check.

The shared librt is now empty, so this commit adds a placeholder
symbol at the base version, GLIBC_2.2, and potentially at the
GLIBC_2.3.3 version as well (the leftover from the int/timer_t ABI
transition).

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
84 files changed:
include/time.h
rt/Makefile
rt/Versions
rt/librt-compat.c
sysdeps/unix/sysv/linux/Versions
sysdeps/unix/sysv/linux/aarch64/libc.abilist
sysdeps/unix/sysv/linux/aarch64/librt.abilist
sysdeps/unix/sysv/linux/alpha/Versions
sysdeps/unix/sysv/linux/alpha/libc.abilist
sysdeps/unix/sysv/linux/alpha/librt-compat.c
sysdeps/unix/sysv/linux/alpha/librt.abilist
sysdeps/unix/sysv/linux/alpha/timer_settime.c [deleted file]
sysdeps/unix/sysv/linux/arc/libc.abilist
sysdeps/unix/sysv/linux/arc/librt.abilist
sysdeps/unix/sysv/linux/arm/be/libc.abilist
sysdeps/unix/sysv/linux/arm/be/librt.abilist
sysdeps/unix/sysv/linux/arm/le/libc.abilist
sysdeps/unix/sysv/linux/arm/le/librt.abilist
sysdeps/unix/sysv/linux/csky/libc.abilist
sysdeps/unix/sysv/linux/csky/librt.abilist
sysdeps/unix/sysv/linux/hppa/libc.abilist
sysdeps/unix/sysv/linux/hppa/librt.abilist
sysdeps/unix/sysv/linux/i386/libc.abilist
sysdeps/unix/sysv/linux/i386/librt.abilist
sysdeps/unix/sysv/linux/ia64/Versions
sysdeps/unix/sysv/linux/ia64/libc.abilist
sysdeps/unix/sysv/linux/ia64/librt.abilist
sysdeps/unix/sysv/linux/ia64/timer_settime.c [deleted file]
sysdeps/unix/sysv/linux/librt-compat.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
sysdeps/unix/sysv/linux/nios2/libc.abilist
sysdeps/unix/sysv/linux/nios2/librt.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c [deleted file]
sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
sysdeps/unix/sysv/linux/s390/s390-64/Versions
sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
sysdeps/unix/sysv/linux/s390/s390-64/timer_settime.c [deleted file]
sysdeps/unix/sysv/linux/sh/be/libc.abilist
sysdeps/unix/sysv/linux/sh/be/librt.abilist
sysdeps/unix/sysv/linux/sh/le/libc.abilist
sysdeps/unix/sysv/linux/sh/le/librt.abilist
sysdeps/unix/sysv/linux/sparc/librt-compat.c
sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
sysdeps/unix/sysv/linux/sparc/sparc64/Versions
sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c [deleted file]
sysdeps/unix/sysv/linux/timer_settime.c
sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
sysdeps/unix/sysv/linux/x86_64/Versions
sysdeps/unix/sysv/linux/x86_64/compat-timer.h [deleted file]
sysdeps/unix/sysv/linux/x86_64/timer_settime.c [deleted file]
sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist

index 3f4ff44ac3baee4077afc1050d0d4cae9d33e225..22b29ca583549488a0e5395cb820f55ec6e38e5f 100644 (file)
@@ -236,7 +236,11 @@ extern int __timer_settime64 (timer_t timerid, int flags,
 extern int __timerfd_settime64 (int fd, int flags,
                                 const struct __itimerspec64 *value,
                                 struct __itimerspec64 *ovalue);
-librt_hidden_proto (__timer_settime64);
+# if PTHREAD_IN_LIBC
+libc_hidden_proto (__timer_settime64)
+#else
+librt_hidden_proto (__timer_settime64)
+#endif
 libc_hidden_proto (__timerfd_settime64);
 #endif
 
index 1cb22596292f4ca803d8affd88983d2697cafe44..f8a47622d0f72b28a7284e0641c453e81bac1e01 100644 (file)
@@ -30,7 +30,6 @@ routines = \
 
 librt-routines = \
   librt-compat \
-  timer_settime \
 
 librt-shared-only-routines = librt-compat
 
@@ -63,6 +62,7 @@ $(librt-routines-var) += \
   timer_delete \
   timer_getoverr \
   timer_gettime \
+  timer_settime \
 
 tests := tst-shm tst-timer tst-timer2 \
         tst-aio tst-aio64 tst-aio2 tst-aio3 tst-aio4 tst-aio5 tst-aio6 \
index d1f05af0133dccd0ff438cb7e8d37e63e68ef2ee..7e41beae06c31c06cea74005d916235c1d2fbe0b 100644 (file)
@@ -26,6 +26,7 @@ libc {
     timer_delete;
     timer_getoverrun;
     timer_gettime;
+    timer_settime;
 %endif
     shm_open;
     shm_unlink;
@@ -89,6 +90,7 @@ libc {
     timer_delete;
     timer_getoverrun;
     timer_gettime;
+    timer_settime;
 %endif
     shm_open;
     shm_unlink;
@@ -132,13 +134,15 @@ librt {
 %endif
   }
   GLIBC_2.2 {
-%if !PTHREAD_IN_LIBC
+%if PTHREAD_IN_LIBC
+    __librt_version_placeholder;
+%else
     timer_create;
     timer_delete;
     timer_getoverrun;
     timer_gettime;
-%endif
     timer_settime;
+%endif
   }
   GLIBC_2.3.4 {
 %if PTHREAD_IN_LIBC
index 24c2ed9db44beb7730d91b1756e28f442b1d2b6f..84f50c82a92191fcb792617e24d0198d02ec9840 100644 (file)
@@ -20,6 +20,7 @@
 # include <shlib-compat.h>
 # include <sys/cdefs.h>
 
+# if SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_34)
 void
 attribute_compat_text_section
 __attribute_used__
@@ -27,25 +28,26 @@ __librt_version_placeholder_1 (void)
 {
 }
 
-# if SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_2)
 compat_symbol (librt, __librt_version_placeholder_1,
                __librt_version_placeholder, GLIBC_2_1);
 # endif
 
-# if SHLIB_COMPAT (librt, GLIBC_2_4, GLIBC_2_34) \
-  && ABI_librt_GLIBC_2_3_4 != ABI_librt_GLIBC_2_1
+# if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (librt, __librt_version_placeholder_1,
+               __librt_version_placeholder, GLIBC_2_2);
+# endif
+
+# if SHLIB_COMPAT (librt, GLIBC_2_3_4, GLIBC_2_34)
 compat_symbol (librt, __librt_version_placeholder_1,
                __librt_version_placeholder, GLIBC_2_3_4);
 # endif
 
-# if SHLIB_COMPAT (librt, GLIBC_2_4, GLIBC_2_34)        \
-  && ABI_librt_GLIBC_2_4 != ABI_librt_GLIBC_2_1
+# if SHLIB_COMPAT (librt, GLIBC_2_4, GLIBC_2_34)
 compat_symbol (librt, __librt_version_placeholder_1,
                __librt_version_placeholder, GLIBC_2_4);
 # endif
 
-# if SHLIB_COMPAT (librt, GLIBC_2_7, GLIBC_2_34) \
-  && ABI_librt_GLIBC_2_7 != ABI_librt_GLIBC_2_4
+# if SHLIB_COMPAT (librt, GLIBC_2_7, GLIBC_2_34)
 compat_symbol (librt, __librt_version_placeholder_1,
                __librt_version_placeholder, GLIBC_2_7);
 # endif
index 9bb9d955a5fbfdc3011942b729c479f3f1d3b079..578d55e7fde9ad9a5ef124b47d888a12d23894b7 100644 (file)
@@ -127,6 +127,7 @@ libc {
     timer_delete;
     timer_getoverrun;
     timer_gettime;
+    timer_settime;
   }
   GLIBC_2.3.4 {
     sched_getaffinity; sched_setaffinity;
@@ -269,6 +270,7 @@ libc {
     __time64;
     __timegm64;
     __timer_gettime64;
+    __timer_settime64;
     __timerfd_gettime64;
     __timerfd_settime64;
     __timespec_get64;
@@ -300,18 +302,18 @@ libc {
   }
 }
 
-ld {
-  GLIBC_PRIVATE {
-    __nptl_change_stack_perm;
+librt {
+  GLIBC_2.3.3 {
+    # Leftover from the int -> timer_t transition.  For ABIs that came later
+    # and do not have the symbol version, this version node is merged with
+    # the baseline version.
+    __librt_version_placeholder;
   }
 }
 
-librt {
-  GLIBC_2.34 {
-%ifdef TIME64_NON_DEFAULT
-    # 64-bit time_t support
-    __timer_settime64;
-%endif
+ld {
+  GLIBC_PRIVATE {
+    __nptl_change_stack_perm;
   }
 }
 
index 23130c3c9ef48b99a2dcc28868754b3a8bc020f5..5ff33f63e320f3ab063f0fe89d3b2aa40badcb95 100644 (file)
@@ -2010,6 +2010,7 @@ GLIBC_2.17 timer_create F
 GLIBC_2.17 timer_delete F
 GLIBC_2.17 timer_getoverrun F
 GLIBC_2.17 timer_gettime F
+GLIBC_2.17 timer_settime F
 GLIBC_2.17 timerfd_create F
 GLIBC_2.17 timerfd_gettime F
 GLIBC_2.17 timerfd_settime F
@@ -2537,6 +2538,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 2cb1369ddb9612faeb3258a3dccffe78b31a2fa3..88d0fc382fa2456539764fcf784fc7086fc81c9b 100644 (file)
@@ -1 +1 @@
-GLIBC_2.17 timer_settime F
+GLIBC_2.17 __librt_version_placeholder F
index 0359822d6db51ed6d741e72cfa0a1b10793b5e6e..87ef61437dfbf95bd9878aeef1da2a5b0233b461 100644 (file)
@@ -102,8 +102,4 @@ librt {
   GLIBC_2.3 {
     __librt_version_placeholder;
   }
-  GLIBC_2.3.3 {
-    # Changed timer_t.
-    timer_settime;
-  }
 }
index 1f2fff3443af4888ebf542d0548a2a55f5b959a3..503a96b255956afc7a6012c00a371506c6db00e0 100644 (file)
@@ -2097,6 +2097,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 ungetwc F
 GLIBC_2.2 vfwprintf F
 GLIBC_2.2 vfwscanf F
@@ -2361,6 +2362,7 @@ GLIBC_2.3.3 timer_create F
 GLIBC_2.3.3 timer_delete F
 GLIBC_2.3.3 timer_getoverrun F
 GLIBC_2.3.3 timer_gettime F
+GLIBC_2.3.3 timer_settime F
 GLIBC_2.3.4 _OtsAddX F
 GLIBC_2.3.4 _OtsConvertFloatTX F
 GLIBC_2.3.4 _OtsConvertFloatXT F
@@ -2635,6 +2637,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 96e92e1637dff7ae8360789b78f034c0073a1c88..7c699d33959ce35da1f3c882d852f0f935d02119 100644 (file)
@@ -16,7 +16,7 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#include <rt/librt-compat.c>
+#include <sysdeps/unix/sysv/linux/librt-compat.c>
 
 #if SHLIB_COMPAT (librt, GLIBC_2_3, GLIBC_2_34)
 compat_symbol (librt, __librt_version_placeholder_1,
index a2de1ecd94411c6cb03f7073f784847b7fbf0e01..f68e03dfde7dd0a2e5cf625f859def792d8601ca 100644 (file)
@@ -1,7 +1,7 @@
 GLIBC_2.1 __librt_version_placeholder F
-GLIBC_2.2 timer_settime F
+GLIBC_2.2 __librt_version_placeholder F
 GLIBC_2.3 __librt_version_placeholder F
-GLIBC_2.3.3 timer_settime F
+GLIBC_2.3.3 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/alpha/timer_settime.c b/sysdeps/unix/sysv/linux/alpha/timer_settime.c
deleted file mode 100644 (file)
index fa23114..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/x86_64/timer_settime.c>
index 8ece5c40fbaaa95424afd445a79e5f8c18d0fb21..e29bd7cd5583d55c2fec5be70c7bd5d2f7fce70c 100644 (file)
@@ -1944,6 +1944,7 @@ GLIBC_2.32 timer_create F
 GLIBC_2.32 timer_delete F
 GLIBC_2.32 timer_getoverrun F
 GLIBC_2.32 timer_gettime F
+GLIBC_2.32 timer_settime F
 GLIBC_2.32 timerfd_create F
 GLIBC_2.32 timerfd_gettime F
 GLIBC_2.32 timerfd_settime F
@@ -2296,6 +2297,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 0023244be6e422e4127e78dd6e62f35b0e22564d..f77591fa3e179ae4de99cc582cea88ffdb509079 100644 (file)
@@ -1 +1 @@
-GLIBC_2.32 timer_settime F
+GLIBC_2.32 __librt_version_placeholder F
index 515c3a224a6f1c0c70315d8b8e236276c67e9391..ac89f19c0ac552193a5957218d90cad78a1ae8ad 100644 (file)
@@ -272,6 +272,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -439,6 +440,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -2359,6 +2361,7 @@ GLIBC_2.4 timer_create F
 GLIBC_2.4 timer_delete F
 GLIBC_2.4 timer_getoverrun F
 GLIBC_2.4 timer_gettime F
+GLIBC_2.4 timer_settime F
 GLIBC_2.4 times F
 GLIBC_2.4 timezone D 0x4
 GLIBC_2.4 tmpfile F
index 2f841625583a5e5a81012f15d46db57d53bac741..0010b34d5c23a28b2f4606829703d8036d18676e 100644 (file)
@@ -1,3 +1,2 @@
-GLIBC_2.34 __timer_settime64 F
-GLIBC_2.4 timer_settime F
+GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index 7b7ca7d34834de30ffcee852dfbaccd6a582eaab..07fce73516068d99d04eb0cda75a7fd29b948940 100644 (file)
@@ -269,6 +269,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -436,6 +437,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -2356,6 +2358,7 @@ GLIBC_2.4 timer_create F
 GLIBC_2.4 timer_delete F
 GLIBC_2.4 timer_getoverrun F
 GLIBC_2.4 timer_gettime F
+GLIBC_2.4 timer_settime F
 GLIBC_2.4 times F
 GLIBC_2.4 timezone D 0x4
 GLIBC_2.4 tmpfile F
index 2f841625583a5e5a81012f15d46db57d53bac741..0010b34d5c23a28b2f4606829703d8036d18676e 100644 (file)
@@ -1,3 +1,2 @@
-GLIBC_2.34 __timer_settime64 F
-GLIBC_2.4 timer_settime F
+GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index d53acb2c083fdd4425c278662940e762be0f5e62..d06f38eba0c9b4e63baadfe8ed607ff0aa7821f2 100644 (file)
@@ -2034,6 +2034,7 @@ GLIBC_2.29 timer_create F
 GLIBC_2.29 timer_delete F
 GLIBC_2.29 timer_getoverrun F
 GLIBC_2.29 timer_gettime F
+GLIBC_2.29 timer_settime F
 GLIBC_2.29 timerfd_create F
 GLIBC_2.29 timerfd_gettime F
 GLIBC_2.29 timerfd_settime F
@@ -2393,6 +2394,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2560,6 +2562,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 52b2819a7d92272d0ed686e63e51282a8f27f03c..1a55315b8755348eee57aea553723aec17712ab5 100644 (file)
@@ -1,2 +1 @@
-GLIBC_2.29 timer_settime F
-GLIBC_2.34 __timer_settime64 F
+GLIBC_2.29 __librt_version_placeholder F
index a592e3f62829d0cca6719bd68305458e9a47f2c2..2f5dfd66ad92afda37d6c829a9d9ab3bc447e7ce 100644 (file)
@@ -1748,6 +1748,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 times F
 GLIBC_2.2 timezone D 0x4
 GLIBC_2.2 tmpfile F
@@ -2346,6 +2347,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2513,6 +2515,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 179d1d53da7a8697fefaa38cd8ecacdd64d7de7a..6d24ce527da60321d09d93f5ea2d2d97a33e2b13 100644 (file)
@@ -1,6 +1,5 @@
 GLIBC_2.1 __librt_version_placeholder F
-GLIBC_2.2 timer_settime F
+GLIBC_2.2 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
-GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index bd3824cb88171bb9957a5d416dd2fa918103e58c..1accf0a9c1b7a82ffa98a08fdef2e6792cf82476 100644 (file)
@@ -2110,6 +2110,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 ungetwc F
 GLIBC_2.2 versionsort64 F
 GLIBC_2.2 vfwprintf F
@@ -2530,6 +2531,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2697,6 +2699,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 179d1d53da7a8697fefaa38cd8ecacdd64d7de7a..6d24ce527da60321d09d93f5ea2d2d97a33e2b13 100644 (file)
@@ -1,6 +1,5 @@
 GLIBC_2.1 __librt_version_placeholder F
-GLIBC_2.2 timer_settime F
+GLIBC_2.2 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
-GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index 9a7faf067af98859e6ef5b61a527397ec05a6982..9900916a6c637cfb8d41d6f386f0bf6d39ebd130 100644 (file)
@@ -27,9 +27,3 @@ libc {
     recvmsg; sendmsg;
   }
 }
-librt {
-  GLIBC_2.3.3 {
-    # Changed timer_t.
-    timer_settime;
-  }
-}
index d589ce16d68930e3ab0b0493bf369fde1fa0b5bf..79b4153e63d1bb2f1228dad2791f025e3d158a6d 100644 (file)
@@ -1769,6 +1769,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 times F
 GLIBC_2.2 timezone D 0x8
 GLIBC_2.2 tmpfile F
@@ -2226,6 +2227,7 @@ GLIBC_2.3.3 timer_create F
 GLIBC_2.3.3 timer_delete F
 GLIBC_2.3.3 timer_getoverrun F
 GLIBC_2.3.3 timer_gettime F
+GLIBC_2.3.3 timer_settime F
 GLIBC_2.3.4 __chk_fail F
 GLIBC_2.3.4 __fprintf_chk F
 GLIBC_2.3.4 __gets_chk F
@@ -2473,6 +2475,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 7d8e91b0d9047c50e8ed551a23b8feb230d56845..ff77c0d32e04f41cd7cee4cadda48befa0e6db75 100644 (file)
@@ -1,6 +1,6 @@
 GLIBC_2.1 __librt_version_placeholder F
-GLIBC_2.2 timer_settime F
-GLIBC_2.3.3 timer_settime F
+GLIBC_2.2 __librt_version_placeholder F
+GLIBC_2.3.3 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/ia64/timer_settime.c b/sysdeps/unix/sysv/linux/ia64/timer_settime.c
deleted file mode 100644 (file)
index fa23114..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/x86_64/timer_settime.c>
diff --git a/sysdeps/unix/sysv/linux/librt-compat.c b/sysdeps/unix/sysv/linux/librt-compat.c
new file mode 100644 (file)
index 0000000..f8b0990
--- /dev/null
@@ -0,0 +1,26 @@
+/* Placeholder definitions to pull in removed symbol versions.  Linux version.
+   Copyright (C) 2021 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <rt/librt-compat.c>
+#include <kernel-posix-timers.h>
+
+/* GLIBC_2.3.3 symbols were added for the int -> timer_t ABI transition.  */
+#if TIMER_T_WAS_INT_COMPAT
+compat_symbol (librt, __librt_version_placeholder_1,
+               __librt_version_placeholder, GLIBC_2_3_3);
+#endif
index 7e986dcfd57e1242d0094ffa7a5502904a615801..ddbaeb3660b5f7782cfb5fbb4033d2cd71986958 100644 (file)
@@ -273,6 +273,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -440,6 +441,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -2339,6 +2341,7 @@ GLIBC_2.4 timer_create F
 GLIBC_2.4 timer_delete F
 GLIBC_2.4 timer_getoverrun F
 GLIBC_2.4 timer_gettime F
+GLIBC_2.4 timer_settime F
 GLIBC_2.4 times F
 GLIBC_2.4 timezone D 0x4
 GLIBC_2.4 tmpfile F
index 2f841625583a5e5a81012f15d46db57d53bac741..0010b34d5c23a28b2f4606829703d8036d18676e 100644 (file)
@@ -1,3 +1,2 @@
-GLIBC_2.34 __timer_settime64 F
-GLIBC_2.4 timer_settime F
+GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index 97fe827b8de54fb3f572db4990e710ce7870b0bb..3295de3102e67fdb86a694b5a868acdce0ab1e31 100644 (file)
@@ -2066,6 +2066,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 ungetwc F
 GLIBC_2.2 versionsort64 F
 GLIBC_2.2 vfwprintf F
@@ -2473,6 +2474,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2640,6 +2642,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 179d1d53da7a8697fefaa38cd8ecacdd64d7de7a..6d24ce527da60321d09d93f5ea2d2d97a33e2b13 100644 (file)
@@ -1,6 +1,5 @@
 GLIBC_2.1 __librt_version_placeholder F
-GLIBC_2.2 timer_settime F
+GLIBC_2.2 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
-GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index 56b5f885b70bfc75a604fd53b8d02ced6aa90521..18d8e9d748e6b82b63d6b598b730436ac6a2ca46 100644 (file)
@@ -2014,6 +2014,7 @@ GLIBC_2.18 timer_create F
 GLIBC_2.18 timer_delete F
 GLIBC_2.18 timer_getoverrun F
 GLIBC_2.18 timer_gettime F
+GLIBC_2.18 timer_settime F
 GLIBC_2.18 timerfd_create F
 GLIBC_2.18 timerfd_gettime F
 GLIBC_2.18 timerfd_settime F
@@ -2444,6 +2445,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2611,6 +2613,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 8a4faf155cfdda094a538d5c7cc291cacf4993f6..825b445ef732b981efb3f6979c2ac4bdf0b13ddb 100644 (file)
@@ -1,2 +1 @@
-GLIBC_2.18 timer_settime F
-GLIBC_2.34 __timer_settime64 F
+GLIBC_2.18 __librt_version_placeholder F
index 8910180ff84f711901d5fc9cd1c0c83e5e9d9b96..2de03396ddf9c73bcec2b139a19fe0af36671737 100644 (file)
@@ -2014,6 +2014,7 @@ GLIBC_2.18 timer_create F
 GLIBC_2.18 timer_delete F
 GLIBC_2.18 timer_getoverrun F
 GLIBC_2.18 timer_gettime F
+GLIBC_2.18 timer_settime F
 GLIBC_2.18 timerfd_create F
 GLIBC_2.18 timerfd_gettime F
 GLIBC_2.18 timerfd_settime F
@@ -2441,6 +2442,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2608,6 +2610,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 8a4faf155cfdda094a538d5c7cc291cacf4993f6..825b445ef732b981efb3f6979c2ac4bdf0b13ddb 100644 (file)
@@ -1,2 +1 @@
-GLIBC_2.18 timer_settime F
-GLIBC_2.34 __timer_settime64 F
+GLIBC_2.18 __librt_version_placeholder F
index e81456caf7598a19cbd4fd3f2dea19390b710723..302af0376d2320429a34c6f47d131f9ac985dfdf 100644 (file)
@@ -1997,6 +1997,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 tmpfile F
 GLIBC_2.2 tmpfile64 F
 GLIBC_2.2 truncate64 F
@@ -2438,6 +2439,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2605,6 +2607,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 211a60584c90b0e9f2cbcc0027f1de1acedccefb..a7f1518c0bc728ea95e53cc45a44ae94de3ae931 100644 (file)
@@ -1,5 +1,4 @@
-GLIBC_2.2 timer_settime F
+GLIBC_2.2 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
-GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index ecbad99217b9cbea998dbb9a9b6e72d30cd4f799..50e51bf15d9f0852fa2c5431a49a4ad89c63c0e2 100644 (file)
@@ -1995,6 +1995,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 tmpfile F
 GLIBC_2.2 tmpfile64 F
 GLIBC_2.2 truncate64 F
@@ -2436,6 +2437,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2603,6 +2605,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 986b16ece37ebd12b7885e18d5b99e55be3a07c7..99be006a91b3544b680fa99c9623d35494dfb727 100644 (file)
@@ -1993,6 +1993,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 tmpfile F
 GLIBC_2.2 tmpfile64 F
 GLIBC_2.2 truncate64 F
@@ -2444,6 +2445,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2611,6 +2613,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 211a60584c90b0e9f2cbcc0027f1de1acedccefb..a7f1518c0bc728ea95e53cc45a44ae94de3ae931 100644 (file)
@@ -1,5 +1,4 @@
-GLIBC_2.2 timer_settime F
+GLIBC_2.2 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
-GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index 141e1b295fe81310174c4486842cb67567567a86..f3c39841dd38384b8520023d34dd07966a51757c 100644 (file)
@@ -1989,6 +1989,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 tmpfile F
 GLIBC_2.2 tmpfile64 F
 GLIBC_2.2 truncate64 F
@@ -2525,6 +2526,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 406120e1d82f106c7d771d41712b589ca4090a66..a7f1518c0bc728ea95e53cc45a44ae94de3ae931 100644 (file)
@@ -1,4 +1,4 @@
-GLIBC_2.2 timer_settime F
+GLIBC_2.2 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index 71dc98ecf78e433c6fb935c343871eaf070f597d..55f3102cbf0b245e7863c3d09b4b8d289d4af6a3 100644 (file)
@@ -2056,6 +2056,7 @@ GLIBC_2.21 timer_create F
 GLIBC_2.21 timer_delete F
 GLIBC_2.21 timer_getoverrun F
 GLIBC_2.21 timer_gettime F
+GLIBC_2.21 timer_settime F
 GLIBC_2.21 timerfd_create F
 GLIBC_2.21 timerfd_gettime F
 GLIBC_2.21 timerfd_settime F
@@ -2483,6 +2484,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2650,6 +2652,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index c162738eaefd36a33f53ea8cbdd123c6b71ab4d0..834a4dcc7a4ca0f6f281889d67f5e3bf891f2dd6 100644 (file)
@@ -1,2 +1 @@
-GLIBC_2.21 timer_settime F
-GLIBC_2.34 __timer_settime64 F
+GLIBC_2.21 __librt_version_placeholder F
index 03a0a0579a0b5a1566485cb3aefee9b00a3310ac..82144c268ee96a861f6e1f471999ac0b1904e8fb 100644 (file)
@@ -2071,6 +2071,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 ungetwc F
 GLIBC_2.2 vfwprintf F
 GLIBC_2.2 vfwscanf F
@@ -2500,6 +2501,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2667,6 +2669,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 179d1d53da7a8697fefaa38cd8ecacdd64d7de7a..6d24ce527da60321d09d93f5ea2d2d97a33e2b13 100644 (file)
@@ -1,6 +1,5 @@
 GLIBC_2.1 __librt_version_placeholder F
-GLIBC_2.2 timer_settime F
+GLIBC_2.2 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
-GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index 793531d9c49a93ee8eab9090dcb8f41d93f6f6ae..4545f49ceedd7b1c9c3784f62024b4cd33b9d78c 100644 (file)
@@ -2075,6 +2075,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 ungetwc F
 GLIBC_2.2 vfwprintf F
 GLIBC_2.2 vfwscanf F
@@ -2533,6 +2534,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2700,6 +2702,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 8607ac10129538c1a7f918c5089af9e8ddc8f138..0cdda49402414c95d961a4cf39a9f2872d3db389 100644 (file)
@@ -25,10 +25,3 @@ libc {
     __ppc_get_timebase_freq;
   }
 }
-
-librt {
-  GLIBC_2.3.3 {
-    # Changed timer_t.
-    timer_settime;
-  }
-}
index 21763f0238de4f06bf188c9ea13ed34043622f82..d47efa98ffb2d86b0d3b632d17df449d98745e83 100644 (file)
@@ -1890,6 +1890,7 @@ GLIBC_2.3 timer_create F
 GLIBC_2.3 timer_delete F
 GLIBC_2.3 timer_getoverrun F
 GLIBC_2.3 timer_gettime F
+GLIBC_2.3 timer_settime F
 GLIBC_2.3 times F
 GLIBC_2.3 timezone D 0x8
 GLIBC_2.3 tmpfile F
@@ -2170,6 +2171,7 @@ GLIBC_2.3.3 timer_create F
 GLIBC_2.3.3 timer_delete F
 GLIBC_2.3.3 timer_getoverrun F
 GLIBC_2.3.3 timer_gettime F
+GLIBC_2.3.3 timer_settime F
 GLIBC_2.3.4 __chk_fail F
 GLIBC_2.3.4 __fprintf_chk F
 GLIBC_2.3.4 __gets_chk F
@@ -2437,6 +2439,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index bfaae8ac0e751b3d7644cebb2531a864dd1e4d5d..506870e3fdc27d4d0f0eb6f17ad4664cf1e847bf 100644 (file)
@@ -1,5 +1,5 @@
-GLIBC_2.3 timer_settime F
-GLIBC_2.3.3 timer_settime F
+GLIBC_2.3 __librt_version_placeholder F
+GLIBC_2.3.3 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index ec8a207385329289872c4700818db91f686fb3ff..e08cbf7b2a540085e416023c8d1ab4874d2c6fa8 100644 (file)
@@ -2098,6 +2098,7 @@ GLIBC_2.17 timer_create F
 GLIBC_2.17 timer_delete F
 GLIBC_2.17 timer_getoverrun F
 GLIBC_2.17 timer_gettime F
+GLIBC_2.17 timer_settime F
 GLIBC_2.17 timerfd_create F
 GLIBC_2.17 timerfd_gettime F
 GLIBC_2.17 timerfd_settime F
@@ -2733,6 +2734,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 2cb1369ddb9612faeb3258a3dccffe78b31a2fa3..88d0fc382fa2456539764fcf784fc7086fc81c9b 100644 (file)
@@ -1 +1 @@
-GLIBC_2.17 timer_settime F
+GLIBC_2.17 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c
deleted file mode 100644 (file)
index fa23114..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/x86_64/timer_settime.c>
index c7b749f6a7d37bb44c0b7d60a525dea6796aafaf..a8482733cd1e5d45c44618fb57f5f716e79af07f 100644 (file)
@@ -1954,6 +1954,7 @@ GLIBC_2.33 timer_create F
 GLIBC_2.33 timer_delete F
 GLIBC_2.33 timer_getoverrun F
 GLIBC_2.33 timer_gettime F
+GLIBC_2.33 timer_settime F
 GLIBC_2.33 timerfd_create F
 GLIBC_2.33 timerfd_gettime F
 GLIBC_2.33 timerfd_settime F
@@ -2298,6 +2299,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index c59f14490ea4e66b38a8bf231ce9aa2d1bff0783..b8af976642cd6599bf2f1a7d1b20021fe5d1ee57 100644 (file)
@@ -1 +1 @@
-GLIBC_2.33 timer_settime F
+GLIBC_2.33 __librt_version_placeholder F
index 33e13783fc17aa7c12c448638b8611ef34a708f8..a2448c1c749073eb4a4a5f24fb260ba11095656d 100644 (file)
@@ -2020,6 +2020,7 @@ GLIBC_2.27 timer_create F
 GLIBC_2.27 timer_delete F
 GLIBC_2.27 timer_getoverrun F
 GLIBC_2.27 timer_gettime F
+GLIBC_2.27 timer_settime F
 GLIBC_2.27 timerfd_create F
 GLIBC_2.27 timerfd_gettime F
 GLIBC_2.27 timerfd_settime F
@@ -2498,6 +2499,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 62ff23fd04436dcffd7281bcad7a885aefb41501..d7902a3ec75b4aa00d5fb1adb99dc733e1d76eda 100644 (file)
@@ -1 +1 @@
-GLIBC_2.27 timer_settime F
+GLIBC_2.27 __librt_version_placeholder F
index 6681f84af293b87f395657fc10eb42654a5c401a..5ee1e093911b31dc833b3ef9da084c9944cde337 100644 (file)
@@ -2069,6 +2069,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 ungetwc F
 GLIBC_2.2 versionsort64 F
 GLIBC_2.2 vfwprintf F
@@ -2498,6 +2499,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2665,6 +2667,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 179d1d53da7a8697fefaa38cd8ecacdd64d7de7a..6d24ce527da60321d09d93f5ea2d2d97a33e2b13 100644 (file)
@@ -1,6 +1,5 @@
 GLIBC_2.1 __librt_version_placeholder F
-GLIBC_2.2 timer_settime F
+GLIBC_2.2 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
-GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index 5c682764ad7755fb74555a75636905782dd26f66..83092db48ea20e4982f928e6701c5581429dadca 100644 (file)
@@ -5,10 +5,3 @@ libc {
     __frame_state_for; __register_frame_info_table;
   }
 }
-
-librt {
-  GLIBC_2.3.3 {
-    # Changed timer_t.
-    timer_settime;
-  }
-}
index e97c1134084fdd46af33e279a3ab4db666867ca4..1cd10e7e77f29fc34dad3c9db51e0656606d2f69 100644 (file)
@@ -1765,6 +1765,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 times F
 GLIBC_2.2 timezone D 0x8
 GLIBC_2.2 tmpfile F
@@ -2216,6 +2217,7 @@ GLIBC_2.3.3 timer_create F
 GLIBC_2.3.3 timer_delete F
 GLIBC_2.3.3 timer_getoverrun F
 GLIBC_2.3.3 timer_gettime F
+GLIBC_2.3.3 timer_settime F
 GLIBC_2.3.4 __chk_fail F
 GLIBC_2.3.4 __fprintf_chk F
 GLIBC_2.3.4 __gets_chk F
@@ -2474,6 +2476,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index f851eea81e58caa7c68de9ee1496a4b4f0602b04..7dac2342aca377135bbecac0d47b721ca5598bcf 100644 (file)
@@ -1,5 +1,5 @@
-GLIBC_2.2 timer_settime F
-GLIBC_2.3.3 timer_settime F
+GLIBC_2.2 __librt_version_placeholder F
+GLIBC_2.3.3 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/timer_settime.c b/sysdeps/unix/sysv/linux/s390/s390-64/timer_settime.c
deleted file mode 100644 (file)
index fa23114..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/x86_64/timer_settime.c>
index 360802cf78badddf7e12a8f522abcf888eb68d57..c621caae80a5ab2a4edd3b77dedfe847003229ba 100644 (file)
@@ -1752,6 +1752,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 times F
 GLIBC_2.2 timezone D 0x4
 GLIBC_2.2 tmpfile F
@@ -2353,6 +2354,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2520,6 +2522,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 179d1d53da7a8697fefaa38cd8ecacdd64d7de7a..6d24ce527da60321d09d93f5ea2d2d97a33e2b13 100644 (file)
@@ -1,6 +1,5 @@
 GLIBC_2.1 __librt_version_placeholder F
-GLIBC_2.2 timer_settime F
+GLIBC_2.2 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
-GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index e9cb3ff8f171cbccb0c2d8128dbc1f26a53d3363..ba459df43a3907588e143a770db9bfef7871b1e2 100644 (file)
@@ -1752,6 +1752,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 times F
 GLIBC_2.2 timezone D 0x4
 GLIBC_2.2 tmpfile F
@@ -2350,6 +2351,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2517,6 +2519,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 179d1d53da7a8697fefaa38cd8ecacdd64d7de7a..6d24ce527da60321d09d93f5ea2d2d97a33e2b13 100644 (file)
@@ -1,6 +1,5 @@
 GLIBC_2.1 __librt_version_placeholder F
-GLIBC_2.2 timer_settime F
+GLIBC_2.2 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
-GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index a3862ba127a1c3ef8eb18dc53c5ae0ed6077ba29..17a7895703b1fd25f303e7272ac038ce2322d569 100644 (file)
@@ -16,7 +16,7 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#include <rt/librt-compat.c>
+#include <sysdeps/unix/sysv/linux/librt-compat.c>
 
 #if SHLIB_COMPAT (librt, GLIBC_2_3, GLIBC_2_34)
 compat_symbol (librt, __librt_version_placeholder_1,
index 2af5948dd74755af2044b5d047ae2e104d5584b4..5e0eed47e34d19ba1a00413bb63d1fe1aba35778 100644 (file)
@@ -2064,6 +2064,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 ungetwc F
 GLIBC_2.2 vfwprintf F
 GLIBC_2.2 vfwscanf F
@@ -2493,6 +2494,7 @@ GLIBC_2.34 __thrd_sleep64 F
 GLIBC_2.34 __time64 F
 GLIBC_2.34 __timegm64 F
 GLIBC_2.34 __timer_gettime64 F
+GLIBC_2.34 __timer_settime64 F
 GLIBC_2.34 __timerfd_gettime64 F
 GLIBC_2.34 __timerfd_settime64 F
 GLIBC_2.34 __timespec_get64 F
@@ -2660,6 +2662,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index dc0a3c4dfb6daf82d00891c9437c90f8055f0f9b..7ff1ca83b1f72fb64c55cba3da73c5c7e97a6861 100644 (file)
@@ -1,7 +1,6 @@
 GLIBC_2.1 __librt_version_placeholder F
-GLIBC_2.2 timer_settime F
+GLIBC_2.2 __librt_version_placeholder F
 GLIBC_2.3 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
-GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index 5e8f59ceae7ed996cd0a00583b6a5befc4db4117..cc152489f6cc050294e1ea39d47f942e3cb1657c 100644 (file)
@@ -10,10 +10,3 @@ libc {
     wordexp;
   }
 }
-
-librt {
-  GLIBC_2.3.3 {
-    # Changed timer_t.
-    timer_settime;
-  }
-}
index fde5b780a67918bf637961889970d427525bdede..99e6181e24d265b2291e61d6bcc6b7bde0ba9276 100644 (file)
@@ -1795,6 +1795,7 @@ GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
 GLIBC_2.2 times F
 GLIBC_2.2 timezone D 0x8
 GLIBC_2.2 tmpfile F
@@ -2250,6 +2251,7 @@ GLIBC_2.3.3 timer_create F
 GLIBC_2.3.3 timer_delete F
 GLIBC_2.3.3 timer_getoverrun F
 GLIBC_2.3.3 timer_gettime F
+GLIBC_2.3.3 timer_settime F
 GLIBC_2.3.4 __chk_fail F
 GLIBC_2.3.4 __fprintf_chk F
 GLIBC_2.3.4 __gets_chk F
@@ -2496,6 +2498,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index a2de1ecd94411c6cb03f7073f784847b7fbf0e01..f68e03dfde7dd0a2e5cf625f859def792d8601ca 100644 (file)
@@ -1,7 +1,7 @@
 GLIBC_2.1 __librt_version_placeholder F
-GLIBC_2.2 timer_settime F
+GLIBC_2.2 __librt_version_placeholder F
 GLIBC_2.3 __librt_version_placeholder F
-GLIBC_2.3.3 timer_settime F
+GLIBC_2.3.3 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c b/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c
deleted file mode 100644 (file)
index fa23114..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/x86_64/timer_settime.c>
index f8bb16a4c24790b64fe05e1ba283e3e83529402c..8884abfdc6499f5711b690398686d675ca1e00fd 100644 (file)
 #include <sysdep.h>
 #include <kernel-features.h>
 #include "kernel-posix-timers.h"
+#include <shlib-compat.h>
 
+#if !TIMER_T_WAS_INT_COMPAT
 int
-__timer_settime64 (timer_t timerid, int flags,
+___timer_settime64 (timer_t timerid, int flags,
                    const struct __itimerspec64 *value,
                    struct __itimerspec64 *ovalue)
 {
   kernel_timer_t ktimerid = timerid_to_kernel_timer (timerid);
 
-#ifdef __ASSUME_TIME64_SYSCALLS
-# ifndef __NR_timer_settime64
-#  define __NR_timer_settime64 __NR_timer_settime
-# endif
+# ifdef __ASSUME_TIME64_SYSCALLS
+#  ifndef __NR_timer_settime64
+#   define __NR_timer_settime64 __NR_timer_settime
+#  endif
   return INLINE_SYSCALL_CALL (timer_settime64, ktimerid, flags, value,
                               ovalue);
-#else
-# ifdef __NR_timer_settime64
+# else
+#  ifdef __NR_timer_settime64
   int ret = INLINE_SYSCALL_CALL (timer_settime64, ktimerid, flags, value,
                                  ovalue);
   if (ret == 0 || errno != ENOSYS)
     return ret;
-# endif
+#  endif
   struct itimerspec its32, oits32;
 
   if (! in_time_t_range ((value->it_value).tv_sec)
@@ -64,11 +66,18 @@ __timer_settime64 (timer_t timerid, int flags,
     }
 
   return retval;
-#endif
+# endif
 }
 
-#if __TIMESIZE != 64
-librt_hidden_def (__timer_settime64)
+# if __TIMESIZE == 64
+versioned_symbol (libc, ___timer_settime64, timer_settime, GLIBC_2_34);
+#  if OTHER_SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (librt, ___timer_settime64, timer_settime, GLIBC_2_2);
+#  endif
+
+#else /* __TIMESIZE != 64 */
+libc_hidden_ver (___timer_settime64, __timer_settime64)
+versioned_symbol (libc, ___timer_settime64, __timer_settime64, GLIBC_2_34);
 
 int
 __timer_settime (timer_t timerid, int flags, const struct itimerspec *value,
@@ -89,5 +98,43 @@ __timer_settime (timer_t timerid, int flags, const struct itimerspec *value,
 
   return retval;
 }
-#endif
-weak_alias (__timer_settime, timer_settime)
+versioned_symbol (libc, __timer_settime, timer_settime, GLIBC_2_34);
+
+#  if OTHER_SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (librt, __timer_settime, timer_settime, GLIBC_2_2);
+#  endif
+# endif /* __TIMESIZE != 64 */
+
+#else /* TIMER_T_WAS_INT_COMPAT */
+
+extern __typeof (timer_settime) __timer_settime_new;
+libc_hidden_proto (__timer_settime_new)
+
+int
+___timer_settime_new (timer_t timerid, int flags,
+                      const struct itimerspec *value,
+                      struct itimerspec *ovalue)
+{
+  kernel_timer_t ktimerid = timerid_to_kernel_timer (timerid);
+
+  return INLINE_SYSCALL_CALL (timer_settime, ktimerid, flags, value, ovalue);
+}
+versioned_symbol (libc, ___timer_settime_new, timer_settime, GLIBC_2_34);
+libc_hidden_ver (___timer_settime_new, __timer_settime_new)
+
+# if OTHER_SHLIB_COMPAT (librt, GLIBC_2_3_3, GLIBC_2_34)
+compat_symbol (librt, ___timer_settime_new, timer_settime, GLIBC_2_3_3);
+# endif
+
+# if OTHER_SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3)
+int
+__timer_settime_old (int timerid, int flags, const struct itimerspec *value,
+                     struct itimerspec *ovalue)
+{
+  return __timer_settime_new (__timer_compat_list[timerid], flags,
+                              value, ovalue);
+}
+compat_symbol (librt, __timer_settime_old, timer_settime, GLIBC_2_2);
+# endif
+
+#endif /* TIMER_T_WAS_INT_COMPAT */
index 87dc534709adcb34ba67d95b9bc21e28a13bccb3..2460b47dc79396509ae79ac65ee3168fbbad6b3e 100644 (file)
@@ -1764,6 +1764,7 @@ GLIBC_2.2.5 timer_create F
 GLIBC_2.2.5 timer_delete F
 GLIBC_2.2.5 timer_getoverrun F
 GLIBC_2.2.5 timer_gettime F
+GLIBC_2.2.5 timer_settime F
 GLIBC_2.2.5 times F
 GLIBC_2.2.5 timezone D 0x8
 GLIBC_2.2.5 tmpfile F
@@ -2204,6 +2205,7 @@ GLIBC_2.3.3 timer_create F
 GLIBC_2.3.3 timer_delete F
 GLIBC_2.3.3 timer_getoverrun F
 GLIBC_2.3.3 timer_gettime F
+GLIBC_2.3.3 timer_settime F
 GLIBC_2.3.4 __chk_fail F
 GLIBC_2.3.4 __fprintf_chk F
 GLIBC_2.3.4 __gets_chk F
@@ -2452,6 +2454,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 913835d267c782975c2bb49d09b08b3d37179c7b..752a38a6df96ed40c6fd6fc2926e676162f220d7 100644 (file)
@@ -1,5 +1,5 @@
-GLIBC_2.2.5 timer_settime F
-GLIBC_2.3.3 timer_settime F
+GLIBC_2.2.5 __librt_version_placeholder F
+GLIBC_2.3.3 __librt_version_placeholder F
 GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
index 8deeb8908ab17d57cca28384e3ebcc5c65898f5d..fd1b3cc2960e7cb8028dbf68f34427108b4a0ed9 100644 (file)
@@ -7,10 +7,3 @@ libc {
     modify_ldt;
   }
 }
-
-librt {
-  GLIBC_2.3.3 {
-    # Changed timer_t.
-    timer_settime;
-  }
-}
diff --git a/sysdeps/unix/sysv/linux/x86_64/compat-timer.h b/sysdeps/unix/sysv/linux/x86_64/compat-timer.h
deleted file mode 100644 (file)
index c61eb40..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 2003-2021 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public License as
-   published by the Free Software Foundation; either version 2.1 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If
-   not, see <https://www.gnu.org/licenses/>.  */
-
-#include <signal.h>
-#include <time.h>
-#include <sys/types.h>
-
-extern int __timer_getoverrun_new (timer_t timerid);
-extern int __timer_gettime_new (timer_t timerid, struct itimerspec *value);
-extern int __timer_settime_new (timer_t timerid, int flags,
-                               const struct itimerspec *value,
-                               struct itimerspec *ovalue);
-
-
-extern int __timer_create_old (clockid_t clock_id, struct sigevent *evp,
-                              int *timerid);
-extern int __timer_delete_old (int timerid);
-extern int __timer_getoverrun_old (int timerid);
-extern int __timer_gettime_old (int timerid, struct itimerspec *value);
-extern int __timer_settime_old (int timerid, int flags,
-                               const struct itimerspec *value,
-                               struct itimerspec *ovalue);
diff --git a/sysdeps/unix/sysv/linux/x86_64/timer_settime.c b/sysdeps/unix/sysv/linux/x86_64/timer_settime.c
deleted file mode 100644 (file)
index 2dae16f..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright (C) 2003-2021 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public License as
-   published by the Free Software Foundation; either version 2.1 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If
-   not, see <https://www.gnu.org/licenses/>.  */
-
-#include <shlib-compat.h>
-#include <sysdep.h>
-#include "kernel-posix-timers.h"
-#include "compat-timer.h"
-
-int
-__timer_settime_new (timer_t timerid, int flags, const struct itimerspec *value,
-                     struct itimerspec *ovalue)
-{
-  kernel_timer_t ktimerid = timerid_to_kernel_timer (timerid);
-
-  return INLINE_SYSCALL_CALL (timer_settime, ktimerid, flags, value, ovalue);
-}
-versioned_symbol (librt, __timer_settime_new, timer_settime, GLIBC_2_3_3);
-
-
-#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3)
-int
-__timer_settime_old (int timerid, int flags, const struct itimerspec *value,
-                    struct itimerspec *ovalue)
-{
-  return __timer_settime_new (__timer_compat_list[timerid], flags,
-                             value, ovalue);
-}
-compat_symbol (librt, __timer_settime_old, timer_settime, GLIBC_2_2);
-#endif
index 143b8d602c3b6536b93ac5500b37fa7c730de536..8789b1edb2f42128163a1f26a577f96e03ffb4df 100644 (file)
@@ -2015,6 +2015,7 @@ GLIBC_2.16 timer_create F
 GLIBC_2.16 timer_delete F
 GLIBC_2.16 timer_getoverrun F
 GLIBC_2.16 timer_gettime F
+GLIBC_2.16 timer_settime F
 GLIBC_2.16 timerfd_create F
 GLIBC_2.16 timerfd_gettime F
 GLIBC_2.16 timerfd_settime F
@@ -2552,6 +2553,7 @@ GLIBC_2.34 timer_create F
 GLIBC_2.34 timer_delete F
 GLIBC_2.34 timer_getoverrun F
 GLIBC_2.34 timer_gettime F
+GLIBC_2.34 timer_settime F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
index 50f2032de752ff65960fe9566475d339a3182c34..a39d5383e4a3c94acc8ab391f712420cf855b324 100644 (file)
@@ -1 +1 @@
-GLIBC_2.16 timer_settime F
+GLIBC_2.16 __librt_version_placeholder F