about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-09-06 23:50:04 -0400
committerUlrich Drepper <drepper@gmail.com>2011-09-06 23:50:04 -0400
commitfc8bffcccf5821bca179486abef83a7f82526715 (patch)
tree924289261286778c68661aeee5bd3c045baa59cf
parenta0e1f41bd487d2202b6c1e0802c0e6c91630fbea (diff)
downloadglibc-fc8bffcccf5821bca179486abef83a7f82526715.tar.gz
glibc-fc8bffcccf5821bca179486abef83a7f82526715.tar.xz
glibc-fc8bffcccf5821bca179486abef83a7f82526715.zip
Fix handling of __vdso_clock_gettime
-rw-r--r--ChangeLog3
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/clock_gettime.c8
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 6ca72bfc50..db4150e3d9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2011-09-06  Ulrich Drepper  <drepper@gmail.com>
 
+	* sysdeps/unix/sysv/linux/x86_64/clock_gettime.c (INTERNAL_GETTIME):
+	Forgot to demangle the pointer.
+
 	* sysdeps/i386/sysdep.h: Define atom_text_section.
 	* sysdeps/x86_64/sysdep.h: Likewise.
 	* sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S: Place function in
diff --git a/sysdeps/unix/sysv/linux/x86_64/clock_gettime.c b/sysdeps/unix/sysv/linux/x86_64/clock_gettime.c
index 9d6cd238de..7802701e22 100644
--- a/sysdeps/unix/sysv/linux/x86_64/clock_gettime.c
+++ b/sysdeps/unix/sysv/linux/x86_64/clock_gettime.c
@@ -2,9 +2,13 @@
 
 #ifdef SHARED
 # define SYSCALL_GETTIME(id, tp) \
-  (*__vdso_clock_gettime) (id, tp)
+  ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
+  PTR_DEMANGLE (f);							  \
+  f (id, tp); })
 # define INTERNAL_GETTIME(id, tp) \
-  (*__vdso_clock_gettime) (id, tp)
+  ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
+  PTR_DEMANGLE (f);							  \
+  f (id, tp); })
 #endif
 
 #include "../clock_gettime.c"