From: Ulrich Drepper Date: Mon, 13 Aug 2007 00:46:30 +0000 (+0000) Subject: * sysdeps/unix/sysv/linux/clock_gettime.c (maybe_syscall_gettime_cpu): X-Git-Tag: cvs/fedora-glibc-20070814T0643~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4eb375fea3aac45e04a97885fc1b53c33ad7c837;p=thirdparty%2Fglibc.git * sysdeps/unix/sysv/linux/clock_gettime.c (maybe_syscall_gettime_cpu): Build fix for systems which might lack POSIX timer support. --- diff --git a/ChangeLog b/ChangeLog index 55201ca1276..cb5f6c67eeb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2007-08-12 Ulrich Drepper + * sysdeps/unix/sysv/linux/clock_gettime.c (maybe_syscall_gettime_cpu): + Build fix for systems which might lack POSIX timer support. + * sysdeps/unix/sysv/linux/x86_64/libc-start.c (_libc_vdso_platform_setup): Mangle function pointers before storing them. diff --git a/sysdeps/unix/sysv/linux/clock_gettime.c b/sysdeps/unix/sysv/linux/clock_gettime.c index 5afe20feb5f..cd536a0fc0e 100644 --- a/sysdeps/unix/sysv/linux/clock_gettime.c +++ b/sysdeps/unix/sysv/linux/clock_gettime.c @@ -1,5 +1,5 @@ /* clock_gettime -- Get current time from a POSIX clockid_t. Linux version. - Copyright (C) 2003,2004,2005,2006 Free Software Foundation, Inc. + Copyright (C) 2003,2004,2005,2006,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -133,11 +133,19 @@ maybe_syscall_gettime_cpu (clockid_t clock_id, struct timespec *tp) { if (e == EINVAL) { +# ifdef HAVE_CLOCK_GETRES_VSYSCALL /* Check whether the kernel supports CPU clocks at all. If not, record it for the future. */ r = INTERNAL_VSYSCALL (clock_getres, err, 2, + MAKE_PROCESS_CPUCLOCK (0, CPUCLOCK_SCHED), + NULL); +# else + /* Check whether the kernel supports CPU clocks at all. + If not, record it for the future. */ + r = INTERNAL_SYSCALL (clock_getres, err, 2, MAKE_PROCESS_CPUCLOCK (0, CPUCLOCK_SCHED), NULL); +# endif if (INTERNAL_SYSCALL_ERROR_P (r, err)) __libc_missing_posix_cpu_timers = 1; }