about summary refs log tree commit diff
diff options
context:
space:
mode:
authorStefan Liebler <stli@linux.vnet.ibm.com>2016-10-07 09:56:47 +0200
committerStefan Liebler <stli@linux.vnet.ibm.com>2016-10-07 10:12:47 +0200
commit98ac7b7c85429913c94a9bd9fbe74bb5a333d224 (patch)
treeaf952f44498298efebab0622a96b80c4121ccaf2
parenta4d7fe35cd8f860b1cdf3521834a666447aba4c8 (diff)
downloadglibc-98ac7b7c85429913c94a9bd9fbe74bb5a333d224.tar.gz
glibc-98ac7b7c85429913c94a9bd9fbe74bb5a333d224.tar.xz
glibc-98ac7b7c85429913c94a9bd9fbe74bb5a333d224.zip
Use libc_ifunc macro for clock_* symbols in librt.
This patch uses the libc_ifunc macro to create already existing ifunc functions
clock_getres, clock_gettime, clock_settime, clock_getcpuclockid and
clock_nanosleep. If HAVE_IFUNC is defined, the macro COMPAT_REDIRECT uses
the libc_ifunc macro.
Furthermore some whitespace damage is cleaned.

ChangeLog:

	* rt/clock-compat.c (COMPAT_REDIRECT): Use libc_ifunc macro.
-rw-r--r--ChangeLog4
-rw-r--r--rt/clock-compat.c34
2 files changed, 19 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index 4cf22340f9..44c1ef2ec8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2016-10-07  Stefan Liebler  <stli@linux.vnet.ibm.com>
 
+	* rt/clock-compat.c (COMPAT_REDIRECT): Use libc_ifunc macro.
+
+2016-10-07  Stefan Liebler  <stli@linux.vnet.ibm.com>
+
 	* sysdeps/unix/sysv/linux/powerpc/gettimeofday.c (__gettimeofday):
 	Use libc_ifunc_hidden and libc_hidden_def macro. Redirect ifunced function
 	in header for using it as type for ifunc function because __GI_* symbols
diff --git a/rt/clock-compat.c b/rt/clock-compat.c
index dc69e4a161..b47781cb2e 100644
--- a/rt/clock-compat.c
+++ b/rt/clock-compat.c
@@ -28,13 +28,9 @@
 #include <time.h>
 
 #if 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");
+# undef INIT_ARCH
+# define INIT_ARCH()
+# define COMPAT_REDIRECT(name, proto, arglist) libc_ifunc (name, &__##name)
 #else
 # define COMPAT_REDIRECT(name, proto, arglist)				      \
   int									      \
@@ -45,21 +41,21 @@
 #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