From fc8bffcccf5821bca179486abef83a7f82526715 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 6 Sep 2011 23:50:04 -0400 Subject: [PATCH] Fix handling of __vdso_clock_gettime --- ChangeLog | 3 +++ sysdeps/unix/sysv/linux/x86_64/clock_gettime.c | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6ca72bf..db4150e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2011-09-06 Ulrich Drepper + * 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 9d6cd23..7802701 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" -- 2.7.4