]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - rt/clock-compat.c
Update Alpha libm-test-ulps
[thirdparty/glibc.git] / rt / clock-compat.c
index 1ccc2965e220a74ef4e128df6575c784c6e0eb98..d8ced3cdc1fe324cb0a8e083c84a725d1b5b9e98 100644 (file)
@@ -1,5 +1,5 @@
 /* ABI compatibility redirects for clock_* symbols in librt.
-   Copyright (C) 2012-2014 Free Software Foundation, Inc.
+   Copyright (C) 2012-2019 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
 
 #include <time.h>
 
-#ifdef HAVE_IFUNC
-# define COMPAT_REDIRECT(name, proto, arglist)                               \
-  __typeof (name) *name##_ifunc (void) asm (#name);                          \
-  __typeof (name) *name##_ifunc (void)                                       \
-  {                                                                          \
-    return &__##name;                                                        \
-  }                                                                          \
-  asm (".type " #name ", %gnu_indirect_function");
+#if HAVE_IFUNC
+# undef INIT_ARCH
+# define INIT_ARCH()
+# define COMPAT_REDIRECT(name, proto, arglist) libc_ifunc (name, &__##name) \
+    compat_symbol (librt, name, name, GLIBC_2_2);
 #else
 # define COMPAT_REDIRECT(name, proto, arglist)                               \
   int                                                                        \
   name proto                                                                 \
   {                                                                          \
     return __##name arglist;                                                 \
-  }
+  }                                                                          \
+  compat_symbol (librt, name, name, GLIBC_2_2);
 #endif
 
 COMPAT_REDIRECT (clock_getres,
-                 (clockid_t clock_id, struct timespec *res),
-                 (clock_id, res))
+                (clockid_t clock_id, struct timespec *res),
+                (clock_id, res))
 COMPAT_REDIRECT (clock_gettime,
-                 (clockid_t clock_id, struct timespec *tp),
-                 (clock_id, tp))
+                (clockid_t clock_id, struct timespec *tp),
+                (clock_id, tp))
 COMPAT_REDIRECT (clock_settime,
-                 (clockid_t clock_id, const struct timespec *tp),
-                 (clock_id, tp))
+                (clockid_t clock_id, const struct timespec *tp),
+                (clock_id, tp))
 COMPAT_REDIRECT (clock_getcpuclockid,
-                 (pid_t pid, clockid_t *clock_id),
-                 (pid, clock_id))
+                (pid_t pid, clockid_t *clock_id),
+                (pid, clock_id))
 COMPAT_REDIRECT (clock_nanosleep,
-                 (clockid_t clock_id, int flags,
-                  const struct timespec *req,
-                  struct timespec *rem),
-                 (clock_id, flags, req, rem))
+                (clockid_t clock_id, int flags,
+                 const struct timespec *req,
+                 struct timespec *rem),
+                (clock_id, flags, req, rem))
 
 #endif