From e38ba7ab6a56d53bde4fcff250f6928fb473bc3c Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 7 Sep 2011 00:07:08 -0400 Subject: Make sure __vdso_clock_gettime always contains a valid pointer --- sysdeps/unix/sysv/linux/x86_64/init-first.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'sysdeps/unix/sysv/linux/x86_64/init-first.c') diff --git a/sysdeps/unix/sysv/linux/x86_64/init-first.c b/sysdeps/unix/sysv/linux/x86_64/init-first.c index 25cf08bd77..cb39acae13 100644 --- a/sysdeps/unix/sysv/linux/x86_64/init-first.c +++ b/sysdeps/unix/sysv/linux/x86_64/init-first.c @@ -17,6 +17,8 @@ 02111-1307 USA. */ #ifdef SHARED +# include +# include # include # include @@ -27,12 +29,17 @@ strong_alias (__vdso_clock_gettime, __GI___vdso_clock_gettime attribute_hidden) long int (*__vdso_getcpu) (unsigned *, unsigned *, void *) attribute_hidden; +extern long int __syscall_clock_gettime (clockid_t, struct timespec *); + + static inline void _libc_vdso_platform_setup (void) { PREPARE_VERSION (linux26, "LINUX_2.6", 61765110); void *p = _dl_vdso_vsym ("clock_gettime", &linux26); + if (p == NULL) + p = __syscall_clock_gettime; PTR_MANGLE (p); __GI___vdso_clock_gettime = p; -- cgit v1.2.3-70-g09d2