(_libc_vdso_platform_setup): If vDSO is not available point
authordrepper <drepper>
Mon, 13 Aug 2007 18:46:43 +0000 (18:46 +0000)
committerdrepper <drepper>
Mon, 13 Aug 2007 18:46:43 +0000 (18:46 +0000)
__vdso_gettimeofday to the vsyscall.

sysdeps/unix/sysv/linux/x86_64/libc-start.c

index 0ce4795..dea2e8a 100644 (file)
@@ -31,6 +31,10 @@ _libc_vdso_platform_setup (void)
   PREPARE_VERSION (linux26, "LINUX_2.6", 61765110);
 
   void *p = _dl_vdso_vsym ("gettimeofday", &linux26);
+  /* If the vDSO is not available we fall back on the old vsyscall.  */
+#define VSYSCALL_ADDR_vgettimeofday    0xffffffffff600000ul
+  if (p == NULL)
+    p = (void *) VSYSCALL_ADDR_vgettimeofday;
   PTR_MANGLE (p);
   __vdso_gettimeofday = p;