aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/time.h6
-rw-r--r--rt/Makefile2
-rw-r--r--rt/Versions8
-rw-r--r--rt/librt-compat.c16
-rw-r--r--sysdeps/unix/sysv/linux/Versions20
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/librt.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/Versions4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/alpha/librt-compat.c2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/librt.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/timer_settime.c1
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arc/librt.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/csky/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/hppa/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/i386/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/ia64/Versions6
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/ia64/librt.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/ia64/timer_settime.c1
-rw-r--r--sysdeps/unix/sysv/linux/librt-compat.c26
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/nios2/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions7
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/Versions7
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/timer_settime.c1
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/librt-compat.c2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/Versions7
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c1
-rw-r--r--sysdeps/unix/sysv/linux/timer_settime.c73
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/librt.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/Versions7
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/compat-timer.h37
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/timer_settime.c44
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist2
84 files changed, 245 insertions, 212 deletions
diff --git a/include/time.h b/include/time.h
index 3f4ff44..22b29ca 100644
--- a/include/time.h
+++ b/include/time.h
@@ -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
diff --git a/rt/Makefile b/rt/Makefile
index 1cb2259..f8a4762 100644
--- a/rt/Makefile
+++ b/rt/Makefile
@@ -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 \
diff --git a/rt/Versions b/rt/Versions
index d1f05af..7e41bea 100644
--- a/rt/Versions
+++ b/rt/Versions
@@ -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
diff --git a/rt/librt-compat.c b/rt/librt-compat.c
index 24c2ed9..84f50c8 100644
--- a/rt/librt-compat.c
+++ b/rt/librt-compat.c
@@ -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
diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
index 9bb9d95..578d55e 100644
--- a/sysdeps/unix/sysv/linux/Versions
+++ b/sysdeps/unix/sysv/linux/Versions
@@ -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;
}
}
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 23130c3..5ff33f6 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/aarch64/librt.abilist b/sysdeps/unix/sysv/linux/aarch64/librt.abilist
index 2cb1369..88d0fc3 100644
--- a/sysdeps/unix/sysv/linux/aarch64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/librt.abilist
@@ -1 +1 @@
-GLIBC_2.17 timer_settime F
+GLIBC_2.17 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/alpha/Versions b/sysdeps/unix/sysv/linux/alpha/Versions
index 0359822..87ef614 100644
--- a/sysdeps/unix/sysv/linux/alpha/Versions
+++ b/sysdeps/unix/sysv/linux/alpha/Versions
@@ -102,8 +102,4 @@ librt {
GLIBC_2.3 {
__librt_version_placeholder;
}
- GLIBC_2.3.3 {
- # Changed timer_t.
- timer_settime;
- }
}
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 1f2fff3..503a96b 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/alpha/librt-compat.c b/sysdeps/unix/sysv/linux/alpha/librt-compat.c
index 96e92e1..7c699d3 100644
--- a/sysdeps/unix/sysv/linux/alpha/librt-compat.c
+++ b/sysdeps/unix/sysv/linux/alpha/librt-compat.c
@@ -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,
diff --git a/sysdeps/unix/sysv/linux/alpha/librt.abilist b/sysdeps/unix/sysv/linux/alpha/librt.abilist
index a2de1ec..f68e03d 100644
--- a/sysdeps/unix/sysv/linux/alpha/librt.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/librt.abilist
@@ -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
index fa23114..0000000
--- a/sysdeps/unix/sysv/linux/alpha/timer_settime.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/x86_64/timer_settime.c>
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 8ece5c4..e29bd7c 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/librt.abilist
index 0023244..f77591f 100644
--- a/sysdeps/unix/sysv/linux/arc/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arc/librt.abilist
@@ -1 +1 @@
-GLIBC_2.32 timer_settime F
+GLIBC_2.32 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 515c3a2..ac89f19 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/arm/be/librt.abilist b/sysdeps/unix/sysv/linux/arm/be/librt.abilist
index 2f84162..0010b34 100644
--- a/sysdeps/unix/sysv/linux/arm/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 7b7ca7d..07fce73 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/arm/le/librt.abilist b/sysdeps/unix/sysv/linux/arm/le/librt.abilist
index 2f84162..0010b34 100644
--- a/sysdeps/unix/sysv/linux/arm/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index d53acb2..d06f38e 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/csky/librt.abilist b/sysdeps/unix/sysv/linux/csky/librt.abilist
index 52b2819..1a55315 100644
--- a/sysdeps/unix/sysv/linux/csky/librt.abilist
+++ b/sysdeps/unix/sysv/linux/csky/librt.abilist
@@ -1,2 +1 @@
-GLIBC_2.29 timer_settime F
-GLIBC_2.34 __timer_settime64 F
+GLIBC_2.29 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index a592e3f..2f5dfd6 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/hppa/librt.abilist b/sysdeps/unix/sysv/linux/hppa/librt.abilist
index 179d1d5..6d24ce5 100644
--- a/sysdeps/unix/sysv/linux/hppa/librt.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index bd3824c..1accf0a 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/i386/librt.abilist b/sysdeps/unix/sysv/linux/i386/librt.abilist
index 179d1d5..6d24ce5 100644
--- a/sysdeps/unix/sysv/linux/i386/librt.abilist
+++ b/sysdeps/unix/sysv/linux/i386/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/ia64/Versions b/sysdeps/unix/sysv/linux/ia64/Versions
index 9a7faf0..9900916 100644
--- a/sysdeps/unix/sysv/linux/ia64/Versions
+++ b/sysdeps/unix/sysv/linux/ia64/Versions
@@ -27,9 +27,3 @@ libc {
recvmsg; sendmsg;
}
}
-librt {
- GLIBC_2.3.3 {
- # Changed timer_t.
- timer_settime;
- }
-}
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index d589ce1..79b4153 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/ia64/librt.abilist b/sysdeps/unix/sysv/linux/ia64/librt.abilist
index 7d8e91b..ff77c0d 100644
--- a/sysdeps/unix/sysv/linux/ia64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/librt.abilist
@@ -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
index fa23114..0000000
--- a/sysdeps/unix/sysv/linux/ia64/timer_settime.c
+++ /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
index 0000000..f8b0990
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/librt-compat.c
@@ -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
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 7e986dc..ddbaeb3 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
index 2f84162..0010b34 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 97fe827..3295de3 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
index 179d1d5..6d24ce5 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 56b5f88..18d8e9d 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
index 8a4faf1..825b445 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
@@ -1,2 +1 @@
-GLIBC_2.18 timer_settime F
-GLIBC_2.34 __timer_settime64 F
+GLIBC_2.18 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 8910180..2de0339 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
index 8a4faf1..825b445 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
@@ -1,2 +1 @@
-GLIBC_2.18 timer_settime F
-GLIBC_2.34 __timer_settime64 F
+GLIBC_2.18 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index e81456c..302af03 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
index 211a605..a7f1518 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index ecbad99..50e51bf 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 986b16e..99be006 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
index 211a605..a7f1518 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 141e1b2..f3c3984 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
index 406120e..a7f1518 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 71dc98e..55f3102 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/nios2/librt.abilist b/sysdeps/unix/sysv/linux/nios2/librt.abilist
index c162738..834a4dc 100644
--- a/sysdeps/unix/sysv/linux/nios2/librt.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/librt.abilist
@@ -1,2 +1 @@
-GLIBC_2.21 timer_settime F
-GLIBC_2.34 __timer_settime64 F
+GLIBC_2.21 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 03a0a05..82144c2 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
index 179d1d5..6d24ce5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 793531d..4545f49 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
index 8607ac1..0cdda49 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
@@ -25,10 +25,3 @@ libc {
__ppc_get_timebase_freq;
}
}
-
-librt {
- GLIBC_2.3.3 {
- # Changed timer_t.
- timer_settime;
- }
-}
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 21763f0..d47efa9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
index bfaae8a..506870e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index ec8a207..e08cbf7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
index 2cb1369..88d0fc3 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
@@ -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
index fa23114..0000000
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/x86_64/timer_settime.c>
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index c7b749f..a848273 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
index c59f144..b8af976 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
@@ -1 +1 @@
-GLIBC_2.33 timer_settime F
+GLIBC_2.33 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 33e1378..a2448c1 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
index 62ff23f..d7902a3 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
@@ -1 +1 @@
-GLIBC_2.27 timer_settime F
+GLIBC_2.27 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 6681f84..5ee1e09 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
index 179d1d5..6d24ce5 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/Versions b/sysdeps/unix/sysv/linux/s390/s390-64/Versions
index 5c68276..83092db 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/Versions
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/Versions
@@ -5,10 +5,3 @@ libc {
__frame_state_for; __register_frame_info_table;
}
}
-
-librt {
- GLIBC_2.3.3 {
- # Changed timer_t.
- timer_settime;
- }
-}
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index e97c113..1cd10e7 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
index f851eea..7dac234 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
@@ -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
index fa23114..0000000
--- a/sysdeps/unix/sysv/linux/s390/s390-64/timer_settime.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/x86_64/timer_settime.c>
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 360802c..c621caa 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/sh/be/librt.abilist b/sysdeps/unix/sysv/linux/sh/be/librt.abilist
index 179d1d5..6d24ce5 100644
--- a/sysdeps/unix/sysv/linux/sh/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index e9cb3ff..ba459df 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/sh/le/librt.abilist b/sysdeps/unix/sysv/linux/sh/le/librt.abilist
index 179d1d5..6d24ce5 100644
--- a/sysdeps/unix/sysv/linux/sh/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/sparc/librt-compat.c b/sysdeps/unix/sysv/linux/sparc/librt-compat.c
index a3862ba..17a7895 100644
--- a/sysdeps/unix/sysv/linux/sparc/librt-compat.c
+++ b/sysdeps/unix/sysv/linux/sparc/librt-compat.c
@@ -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,
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 2af5948..5e0eed4 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
index dc0a3c4..7ff1ca8 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/Versions b/sysdeps/unix/sysv/linux/sparc/sparc64/Versions
index 5e8f59c..cc15248 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/Versions
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/Versions
@@ -10,10 +10,3 @@ libc {
wordexp;
}
}
-
-librt {
- GLIBC_2.3.3 {
- # Changed timer_t.
- timer_settime;
- }
-}
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index fde5b78..99e6181 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
index a2de1ec..f68e03d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
@@ -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
index fa23114..0000000
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/x86_64/timer_settime.c>
diff --git a/sysdeps/unix/sysv/linux/timer_settime.c b/sysdeps/unix/sysv/linux/timer_settime.c
index f8bb16a..8884abf 100644
--- a/sysdeps/unix/sysv/linux/timer_settime.c
+++ b/sysdeps/unix/sysv/linux/timer_settime.c
@@ -22,27 +22,29 @@
#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 */
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 87dc534..2460b47 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
index 913835d..752a38a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/x86_64/Versions b/sysdeps/unix/sysv/linux/x86_64/Versions
index 8deeb89..fd1b3cc 100644
--- a/sysdeps/unix/sysv/linux/x86_64/Versions
+++ b/sysdeps/unix/sysv/linux/x86_64/Versions
@@ -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
index c61eb40..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/compat-timer.h
+++ /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
index 2dae16f..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/timer_settime.c
+++ /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
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 143b8d6..8789b1e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
index 50f2032..a39d538 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
@@ -1 +1 @@
-GLIBC_2.16 timer_settime F
+GLIBC_2.16 __librt_version_placeholder F