aboutsummaryrefslogtreecommitdiff
path: root/rt
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-06-28 09:51:01 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-06-28 09:51:01 +0200
commit477910b83e5ef3b3aa78b11808433846989461c8 (patch)
tree48e855cdf2c9a0a92ca1aef958a38ed85ddcc833 /rt
parenta1d6ed027b7f3ee603fba77c16508c7edc78d00a (diff)
downloadglibc-477910b83e5ef3b3aa78b11808433846989461c8.zip
glibc-477910b83e5ef3b3aa78b11808433846989461c8.tar.gz
glibc-477910b83e5ef3b3aa78b11808433846989461c8.tar.bz2
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>
Diffstat (limited to 'rt')
-rw-r--r--rt/Makefile2
-rw-r--r--rt/Versions8
-rw-r--r--rt/librt-compat.c16
3 files changed, 16 insertions, 10 deletions
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