2011-11-15 Andreas Schwab <schwab@redhat.com>
+ * sysdeps/unix/sysv/linux/clock_gettime.c (SYSDEP_GETTIME_CPU)
+ [__ASSUME_POSIX_CPU_TIMERS > 0]: Assign to retval and break.
+ * sysdeps/unix/sysv/linux/x86_64/clock_gettime.c
+ (SYSCALL_GETTIME): Set errno on error.
+
* sysdeps/unix/sysv/linux/check_pf.c (make_request): Properly
count references to noai6ai_cached.
# if __ASSUME_POSIX_CPU_TIMERS > 0
-# define SYSDEP_GETTIME_CPU SYSCALL_GETTIME
+# define SYSDEP_GETTIME_CPU(clock_id, tp) \
+ retval = SYSCALL_GETTIME (clock_id, tp); \
+ break
# define SYSDEP_GETTIME_CPUTIME /* Default catches them too. */
# else
#ifdef SHARED
# define SYSCALL_GETTIME(id, tp) \
({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
+ long int v_ret; \
PTR_DEMANGLE (f); \
- f (id, tp); })
+ v_ret = f (id, tp); \
+ if (INTERNAL_SYSCALL_ERROR_P (v_ret, )) { \
+ __set_errno (INTERNAL_SYSCALL_ERRNO (v_ret, )); \
+ v_ret = -1; \
+ } \
+ v_ret; })
# define INTERNAL_GETTIME(id, tp) \
({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
PTR_DEMANGLE (f); \