Linux: Move timer_settime, __timer_settime64 from librt to libc

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>
This commit is contained in:
Florian Weimer 2021-06-28 09:51:01 +02:00
parent a1d6ed027b
commit 477910b83e
84 changed files with 245 additions and 212 deletions

View 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

View 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 \

View 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

View 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

View 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;
}
}

View 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

View file

@ -1 +1 @@
GLIBC_2.17 timer_settime F
GLIBC_2.17 __librt_version_placeholder F

View file

@ -102,8 +102,4 @@ librt {
GLIBC_2.3 {
__librt_version_placeholder;
}
GLIBC_2.3.3 {
# Changed timer_t.
timer_settime;
}
}

View 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

View 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,

View 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

View file

@ -1 +0,0 @@
#include <sysdeps/unix/sysv/linux/x86_64/timer_settime.c>

View 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

View file

@ -1 +1 @@
GLIBC_2.32 timer_settime F
GLIBC_2.32 __librt_version_placeholder F

View 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

View 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

View 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

View 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

View 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

View file

@ -1,2 +1 @@
GLIBC_2.29 timer_settime F
GLIBC_2.34 __timer_settime64 F
GLIBC_2.29 __librt_version_placeholder F

View 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

View 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

View 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

View 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

View file

@ -27,9 +27,3 @@ libc {
recvmsg; sendmsg;
}
}
librt {
GLIBC_2.3.3 {
# Changed timer_t.
timer_settime;
}
}

View 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

View 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

View file

@ -1 +0,0 @@
#include <sysdeps/unix/sysv/linux/x86_64/timer_settime.c>

View file

@ -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

View 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

View 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

View 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

View 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

View 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

View file

@ -1,2 +1 @@
GLIBC_2.18 timer_settime F
GLIBC_2.34 __timer_settime64 F
GLIBC_2.18 __librt_version_placeholder F

View 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

View file

@ -1,2 +1 @@
GLIBC_2.18 timer_settime F
GLIBC_2.34 __timer_settime64 F
GLIBC_2.18 __librt_version_placeholder F

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View file

@ -1,2 +1 @@
GLIBC_2.21 timer_settime F
GLIBC_2.34 __timer_settime64 F
GLIBC_2.21 __librt_version_placeholder F

View 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

View 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

View 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

View file

@ -25,10 +25,3 @@ libc {
__ppc_get_timebase_freq;
}
}
librt {
GLIBC_2.3.3 {
# Changed timer_t.
timer_settime;
}
}

View 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

View 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

View 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

View file

@ -1 +1 @@
GLIBC_2.17 timer_settime F
GLIBC_2.17 __librt_version_placeholder F

View file

@ -1 +0,0 @@
#include <sysdeps/unix/sysv/linux/x86_64/timer_settime.c>

View 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

View file

@ -1 +1 @@
GLIBC_2.33 timer_settime F
GLIBC_2.33 __librt_version_placeholder F

View 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

View file

@ -1 +1 @@
GLIBC_2.27 timer_settime F
GLIBC_2.27 __librt_version_placeholder F

View 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

View 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

View file

@ -5,10 +5,3 @@ libc {
__frame_state_for; __register_frame_info_table;
}
}
librt {
GLIBC_2.3.3 {
# Changed timer_t.
timer_settime;
}
}

View 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

View 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

View file

@ -1 +0,0 @@
#include <sysdeps/unix/sysv/linux/x86_64/timer_settime.c>

View 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

View 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

View 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

View 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

View 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,

View 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

View 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

View file

@ -10,10 +10,3 @@ libc {
wordexp;
}
}
librt {
GLIBC_2.3.3 {
# Changed timer_t.
timer_settime;
}
}

View 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

View 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

View file

@ -1 +0,0 @@
#include <sysdeps/unix/sysv/linux/x86_64/timer_settime.c>

View file

@ -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 */

View 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

View 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

View file

@ -7,10 +7,3 @@ libc {
modify_ldt;
}
}
librt {
GLIBC_2.3.3 {
# Changed timer_t.
timer_settime;
}
}

View file

@ -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);

View file

@ -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

View 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

View file

@ -1 +1 @@
GLIBC_2.16 timer_settime F
GLIBC_2.16 __librt_version_placeholder F