about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/x86_64
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/x86_64')
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/librt.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/Versions2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/compat-timer.h8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/timer_create.c65
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/timer_delete.c44
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/timer_gettime.c2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/timer_settime.c2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist2
11 files changed, 14 insertions, 127 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 5d0a9c4012..377d35a04f 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1760,6 +1760,8 @@ GLIBC_2.2.5 tfind F
 GLIBC_2.2.5 time F
 GLIBC_2.2.5 timegm F
 GLIBC_2.2.5 timelocal F
+GLIBC_2.2.5 timer_create F
+GLIBC_2.2.5 timer_delete F
 GLIBC_2.2.5 times F
 GLIBC_2.2.5 timezone D 0x8
 GLIBC_2.2.5 tmpfile F
@@ -2196,6 +2198,8 @@ GLIBC_2.3.3 strtoll_l F
 GLIBC_2.3.3 strtoull_l F
 GLIBC_2.3.3 sys_sigabbrev D 0x208
 GLIBC_2.3.3 sys_siglist D 0x208
+GLIBC_2.3.3 timer_create F
+GLIBC_2.3.3 timer_delete F
 GLIBC_2.3.4 __chk_fail F
 GLIBC_2.3.4 __fprintf_chk F
 GLIBC_2.3.4 __gets_chk F
@@ -2440,6 +2444,8 @@ GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 thrd_join F
+GLIBC_2.34 timer_create F
+GLIBC_2.34 timer_delete 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 ce501e124d..13a2bf2022 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
@@ -1,10 +1,6 @@
-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.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
diff --git a/sysdeps/unix/sysv/linux/x86_64/Versions b/sysdeps/unix/sysv/linux/x86_64/Versions
index 2a7ed280fd..c4d1c5fb79 100644
--- a/sysdeps/unix/sysv/linux/x86_64/Versions
+++ b/sysdeps/unix/sysv/linux/x86_64/Versions
@@ -11,7 +11,7 @@ libc {
 librt {
   GLIBC_2.3.3 {
     # Changed timer_t.
-    timer_create; timer_delete; timer_getoverrun; timer_gettime;
+    timer_getoverrun; timer_gettime;
     timer_settime;
   }
 }
diff --git a/sysdeps/unix/sysv/linux/x86_64/compat-timer.h b/sysdeps/unix/sysv/linux/x86_64/compat-timer.h
index 334808b5ac..c61eb40070 100644
--- a/sysdeps/unix/sysv/linux/x86_64/compat-timer.h
+++ b/sysdeps/unix/sysv/linux/x86_64/compat-timer.h
@@ -20,14 +20,6 @@
 #include <time.h>
 #include <sys/types.h>
 
-#define OLD_TIMER_MAX	256
-
-extern timer_t __compat_timer_list[OLD_TIMER_MAX] attribute_hidden;
-
-
-extern int __timer_create_new (clockid_t clock_id, struct sigevent *evp,
-			       timer_t *timerid);
-extern int __timer_delete_new (timer_t timerid);
 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,
diff --git a/sysdeps/unix/sysv/linux/x86_64/timer_create.c b/sysdeps/unix/sysv/linux/x86_64/timer_create.c
deleted file mode 100644
index ec71ae488b..0000000000
--- a/sysdeps/unix/sysv/linux/x86_64/timer_create.c
+++ /dev/null
@@ -1,65 +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 "compat-timer.h"
-#include <atomic.h>
-
-
-#define timer_create_alias __timer_create_new
-#include <sysdeps/unix/sysv/linux/timer_create.c>
-
-#undef timer_create
-versioned_symbol (librt, __timer_create_new, timer_create, GLIBC_2_3_3);
-
-
-#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3)
-timer_t __compat_timer_list[OLD_TIMER_MAX] attribute_hidden;
-
-
-int
-__timer_create_old (clockid_t clock_id, struct sigevent *evp, int *timerid)
-{
-  timer_t newp;
-
-  int res = __timer_create_new (clock_id, evp, &newp);
-  if (res == 0)
-    {
-      int i;
-      for (i = 0; i < OLD_TIMER_MAX; ++i)
-	if (__compat_timer_list[i] == NULL
-	    && ! atomic_compare_and_exchange_bool_acq (&__compat_timer_list[i],
-						       newp, NULL))
-	  {
-	    *timerid = i;
-	    break;
-	  }
-
-      if (__glibc_unlikely (i == OLD_TIMER_MAX))
-	{
-	  /* No free slot.  */
-	  (void) __timer_delete_new (newp);
-	  __set_errno (EINVAL);
-	  res = -1;
-	}
-    }
-
-  return res;
-}
-compat_symbol (librt, __timer_create_old, timer_create, GLIBC_2_2);
-#endif
diff --git a/sysdeps/unix/sysv/linux/x86_64/timer_delete.c b/sysdeps/unix/sysv/linux/x86_64/timer_delete.c
deleted file mode 100644
index 7fc37fc1a7..0000000000
--- a/sysdeps/unix/sysv/linux/x86_64/timer_delete.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 "compat-timer.h"
-
-
-#define timer_delete_alias __timer_delete_new
-#include <sysdeps/unix/sysv/linux/timer_delete.c>
-
-#undef timer_delete
-versioned_symbol (librt, __timer_delete_new, timer_delete, GLIBC_2_3_3);
-
-
-#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3)
-int
-__timer_delete_old (int timerid)
-{
-  int res = __timer_delete_new (__compat_timer_list[timerid]);
-
-  if (res == 0)
-    /* Successful timer deletion, now free the index.  We only need to
-       store a word and that better be atomic.  */
-    __compat_timer_list[timerid] = NULL;
-
-  return res;
-}
-compat_symbol (librt, __timer_delete_old, timer_delete, GLIBC_2_2);
-#endif
diff --git a/sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c b/sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c
index 9b4c1b2235..fb6e631a00 100644
--- a/sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c
+++ b/sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c
@@ -32,7 +32,7 @@ versioned_symbol (librt, __timer_getoverrun_new, timer_getoverrun,
 int
 __timer_getoverrun_old (int timerid)
 {
-  return __timer_getoverrun_new (__compat_timer_list[timerid]);
+  return __timer_getoverrun_new (__timer_compat_list[timerid]);
 }
 compat_symbol (librt, __timer_getoverrun_old, timer_getoverrun, GLIBC_2_2);
 #endif
diff --git a/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c b/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c
index 3f3ae12d6b..058577ecb2 100644
--- a/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c
+++ b/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c
@@ -35,7 +35,7 @@ versioned_symbol (librt, __timer_gettime_new, timer_gettime, GLIBC_2_3_3);
 int
 __timer_gettime_old (int timerid, struct itimerspec *value)
 {
-  return __timer_gettime_new (__compat_timer_list[timerid], value);
+  return __timer_gettime_new (__timer_compat_list[timerid], value);
 }
 compat_symbol (librt, __timer_gettime_old, timer_gettime, GLIBC_2_2);
 #endif
diff --git a/sysdeps/unix/sysv/linux/x86_64/timer_settime.c b/sysdeps/unix/sysv/linux/x86_64/timer_settime.c
index 14a05965a3..2dae16f478 100644
--- a/sysdeps/unix/sysv/linux/x86_64/timer_settime.c
+++ b/sysdeps/unix/sysv/linux/x86_64/timer_settime.c
@@ -37,7 +37,7 @@ int
 __timer_settime_old (int timerid, int flags, const struct itimerspec *value,
 		     struct itimerspec *ovalue)
 {
-  return __timer_settime_new (__compat_timer_list[timerid], flags,
+  return __timer_settime_new (__timer_compat_list[timerid], flags,
 			      value, ovalue);
 }
 compat_symbol (librt, __timer_settime_old, timer_settime, GLIBC_2_2);
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index d67ef0b6d5..620f35836c 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -2011,6 +2011,8 @@ GLIBC_2.16 tfind F
 GLIBC_2.16 time F
 GLIBC_2.16 timegm F
 GLIBC_2.16 timelocal F
+GLIBC_2.16 timer_create F
+GLIBC_2.16 timer_delete F
 GLIBC_2.16 timerfd_create F
 GLIBC_2.16 timerfd_gettime F
 GLIBC_2.16 timerfd_settime F
@@ -2544,6 +2546,8 @@ GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 thrd_join F
+GLIBC_2.34 timer_create F
+GLIBC_2.34 timer_delete 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 3144e2e290..4b3e816fdd 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
@@ -1,5 +1,3 @@
-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