diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/gettimeofday.c | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/time.c | 7 |
4 files changed, 18 insertions, 5 deletions
@@ -1,3 +1,10 @@ +2014-01-20 Adhemerval Zanella <azanella@linux.vnet.ibm.com> + + [BZ#16431] + * sysdeps/unix/sysv/linux/powerpc/gettimeofday.c (__gettimeofday): + Adjust the vDSO correctly for internal calls. + * sysdeps/unix/sysv/linux/powerpc/time.c (time): Likewise. + 2014-01-20 Allan McRae <allan@archlinux.org> * po/ca.po: Update Catalan translation from translation project. @@ -25,7 +25,7 @@ Version 2.19 16151, 16153, 16167, 16169, 16172, 16195, 16214, 16245, 16271, 16274, 16283, 16289, 16293, 16314, 16316, 16330, 16337, 16338, 16356, 16365, 16366, 16369, 16372, 16375, 16379, 16384, 16385, 16386, 16387, 16390, - 16394, 16400, 16407, 16408, 16414, 16430, 16453. + 16394, 16400, 16407, 16408, 16414, 16430, 16431, 16453. * Slovenian translations for glibc messages have been contributed by the Translation Project's Slovenian team of translators. diff --git a/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c b/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c index 2085b68772..97ea2a4a70 100644 --- a/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c +++ b/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c @@ -35,9 +35,12 @@ __gettimeofday_syscall (struct timeval *tv, struct timezone *tz) void * gettimeofday_ifunc (void) { + PREPARE_VERSION (linux2615, "LINUX_2.6.15", 123718565); + /* If the vDSO is not available we fall back syscall. */ - return (__vdso_gettimeofday ? VDSO_IFUNC_RET (__vdso_gettimeofday) - : __gettimeofday_syscall); + void *vdso_gettimeofday = _dl_vdso_vsym ("__kernel_gettimeofday", &linux2615); + return (vdso_gettimeofday ? VDSO_IFUNC_RET (vdso_gettimeofday) + : (void*)__gettimeofday_syscall); } asm (".type __gettimeofday, %gnu_indirect_function"); diff --git a/sysdeps/unix/sysv/linux/powerpc/time.c b/sysdeps/unix/sysv/linux/powerpc/time.c index 023bc026be..9f54d97246 100644 --- a/sysdeps/unix/sysv/linux/powerpc/time.c +++ b/sysdeps/unix/sysv/linux/powerpc/time.c @@ -45,9 +45,12 @@ time_syscall (time_t *t) void * time_ifunc (void) { + PREPARE_VERSION (linux2615, "LINUX_2.6.15", 123718565); + /* If the vDSO is not available we fall back to the syscall. */ - return (__vdso_time ? VDSO_IFUNC_RET (__vdso_time) - : time_syscall); + void *vdso_time = _dl_vdso_vsym ("__kernel_time", &linux2615); + return (vdso_time ? VDSO_IFUNC_RET (vdso_time) + : (void*)time_syscall); } asm (".type time, %gnu_indirect_function"); |