From 8fe22905279b8bfd0070a3920da6436f1bc83f7a Mon Sep 17 00:00:00 2001 From: Packit Service Date: Mar 03 2021 08:40:17 +0000 Subject: Apply patch glibc-rh1748197-4.patch patch_name: glibc-rh1748197-4.patch present_in_specfile: true location_in_specfile: 342 --- diff --git a/sysdeps/posix/clock_getres.c b/sysdeps/posix/clock_getres.c index e7924e0..43228c3 100644 --- a/sysdeps/posix/clock_getres.c +++ b/sysdeps/posix/clock_getres.c @@ -82,20 +82,11 @@ __clock_getres (clockid_t clock_id, struct timespec *res) switch (clock_id) { -#ifdef SYSDEP_GETRES - SYSDEP_GETRES; -#endif - -#ifndef HANDLED_REALTIME case CLOCK_REALTIME: retval = realtime_getres (res); break; -#endif /* handled REALTIME */ default: -#ifdef SYSDEP_GETRES_CPU - SYSDEP_GETRES_CPU; -#endif #if HP_TIMING_AVAIL if ((clock_id & ((1 << CLOCK_IDFIELD_SIZE) - 1)) == CLOCK_THREAD_CPUTIME_ID) @@ -105,7 +96,7 @@ __clock_getres (clockid_t clock_id, struct timespec *res) __set_errno (EINVAL); break; -#if HP_TIMING_AVAIL && !defined HANDLED_CPUTIME +#if HP_TIMING_AVAIL case CLOCK_PROCESS_CPUTIME_ID: case CLOCK_THREAD_CPUTIME_ID: retval = hp_timing_getres (res); diff --git a/sysdeps/unix/clock_gettime.c b/sysdeps/unix/clock_gettime.c index 96df78a..f19fdf7 100644 --- a/sysdeps/unix/clock_gettime.c +++ b/sysdeps/unix/clock_gettime.c @@ -95,11 +95,6 @@ __clock_gettime (clockid_t clock_id, struct timespec *tp) switch (clock_id) { -#ifdef SYSDEP_GETTIME - SYSDEP_GETTIME; -#endif - -#ifndef HANDLED_REALTIME case CLOCK_REALTIME: { struct timeval tv; @@ -108,12 +103,8 @@ __clock_gettime (clockid_t clock_id, struct timespec *tp) TIMEVAL_TO_TIMESPEC (&tv, tp); } break; -#endif default: -#ifdef SYSDEP_GETTIME_CPU - SYSDEP_GETTIME_CPU (clock_id, tp); -#endif #if HP_TIMING_AVAIL if ((clock_id & ((1 << CLOCK_IDFIELD_SIZE) - 1)) == CLOCK_THREAD_CPUTIME_ID) @@ -123,7 +114,7 @@ __clock_gettime (clockid_t clock_id, struct timespec *tp) __set_errno (EINVAL); break; -#if HP_TIMING_AVAIL && !defined HANDLED_CPUTIME +#if HP_TIMING_AVAIL case CLOCK_PROCESS_CPUTIME_ID: retval = hp_timing_gettime (clock_id, tp); break; diff --git a/sysdeps/unix/clock_settime.c b/sysdeps/unix/clock_settime.c index 38813ed..9d5857e 100644 --- a/sysdeps/unix/clock_settime.c +++ b/sysdeps/unix/clock_settime.c @@ -21,7 +21,7 @@ #include -#if HP_TIMING_AVAIL && !defined HANDLED_CPUTIME +#if HP_TIMING_AVAIL /* Clock frequency of the processor. We make it a 64-bit variable because some jokers are already playing with processors with more than 4GHz. */ @@ -84,29 +84,15 @@ __clock_settime (clockid_t clock_id, const struct timespec *tp) switch (clock_id) { -#define HANDLE_REALTIME \ - do { \ - struct timeval tv; \ - TIMESPEC_TO_TIMEVAL (&tv, tp); \ - \ - retval = __settimeofday (&tv, NULL); \ - } while (0) - -#ifdef SYSDEP_SETTIME - SYSDEP_SETTIME; -#endif - -#ifndef HANDLED_REALTIME case CLOCK_REALTIME: - HANDLE_REALTIME; + { + struct timeval tv; + TIMESPEC_TO_TIMEVAL (&tv, tp); + retval = __settimeofday (&tv, NULL); + } break; -#endif default: -#ifdef SYSDEP_SETTIME_CPU - SYSDEP_SETTIME_CPU; -#endif -#ifndef HANDLED_CPUTIME # if HP_TIMING_AVAIL if (CPUCLOCK_WHICH (clock_id) == CLOCK_PROCESS_CPUTIME_ID || CPUCLOCK_WHICH (clock_id) == CLOCK_THREAD_CPUTIME_ID) @@ -117,7 +103,6 @@ __clock_settime (clockid_t clock_id, const struct timespec *tp) __set_errno (EINVAL); retval = -1; } -#endif break; } diff --git a/sysdeps/unix/sysv/linux/clock_getres.c b/sysdeps/unix/sysv/linux/clock_getres.c index 5d94f59..2517e66 100644 --- a/sysdeps/unix/sysv/linux/clock_getres.c +++ b/sysdeps/unix/sysv/linux/clock_getres.c @@ -26,26 +26,10 @@ #endif #include -#define SYSCALL_GETRES \ - retval = INLINE_VSYSCALL (clock_getres, 2, clock_id, res); \ - break - -/* The REALTIME and MONOTONIC clock are definitely supported in the - kernel. */ -#define SYSDEP_GETRES \ - SYSDEP_GETRES_CPUTIME \ - case CLOCK_REALTIME: \ - case CLOCK_MONOTONIC: \ - case CLOCK_MONOTONIC_RAW: \ - case CLOCK_REALTIME_COARSE: \ - case CLOCK_MONOTONIC_COARSE: \ - SYSCALL_GETRES - -/* We handled the REALTIME clock here. */ -#define HANDLED_REALTIME 1 -#define HANDLED_CPUTIME 1 - -#define SYSDEP_GETRES_CPU SYSCALL_GETRES -#define SYSDEP_GETRES_CPUTIME /* Default catches them too. */ - -#include +/* Get resolution of clock. */ +int +__clock_getres (clockid_t clock_id, struct timespec *res) +{ + return INLINE_VSYSCALL (clock_getres, 2, clock_id, res); +} +weak_alias (__clock_getres, clock_getres) diff --git a/sysdeps/unix/sysv/linux/clock_gettime.c b/sysdeps/unix/sysv/linux/clock_gettime.c index d837fa3..dadfc51 100644 --- a/sysdeps/unix/sysv/linux/clock_gettime.c +++ b/sysdeps/unix/sysv/linux/clock_gettime.c @@ -26,22 +26,11 @@ #endif #include -/* The REALTIME and MONOTONIC clock are definitely supported in the - kernel. */ -#define SYSDEP_GETTIME \ - SYSDEP_GETTIME_CPUTIME; \ - case CLOCK_REALTIME: \ - case CLOCK_MONOTONIC: \ - retval = INLINE_VSYSCALL (clock_gettime, 2, clock_id, tp); \ - break - -/* We handled the REALTIME clock here. */ -#define HANDLED_REALTIME 1 -#define HANDLED_CPUTIME 1 - -#define SYSDEP_GETTIME_CPU(clock_id, tp) \ - retval = INLINE_VSYSCALL (clock_gettime, 2, clock_id, tp); \ - break -#define SYSDEP_GETTIME_CPUTIME /* Default catches them too. */ - -#include +/* Get current value of CLOCK and store it in TP. */ +int +__clock_gettime (clockid_t clock_id, struct timespec *tp) +{ + return INLINE_VSYSCALL (clock_gettime, 2, clock_id, tp); +} +weak_alias (__clock_gettime, clock_gettime) +libc_hidden_def (__clock_gettime) diff --git a/sysdeps/unix/sysv/linux/clock_settime.c b/sysdeps/unix/sysv/linux/clock_settime.c index 5f3f22f..c71461a 100644 --- a/sysdeps/unix/sysv/linux/clock_settime.c +++ b/sysdeps/unix/sysv/linux/clock_settime.c @@ -21,18 +21,17 @@ #include "kernel-posix-cpu-timers.h" - -/* The REALTIME clock is definitely supported in the kernel. */ -#define SYSDEP_SETTIME \ - case CLOCK_REALTIME: \ - retval = INLINE_SYSCALL (clock_settime, 2, clock_id, tp); \ - break - -/* We handled the REALTIME clock here. */ -#define HANDLED_REALTIME 1 - -#define HANDLED_CPUTIME 1 -#define SYSDEP_SETTIME_CPU \ - retval = INLINE_SYSCALL (clock_settime, 2, clock_id, tp) - -#include +/* Set CLOCK to value TP. */ +int +__clock_settime (clockid_t clock_id, const struct timespec *tp) +{ + /* Make sure the time cvalue is OK. */ + if (tp->tv_nsec < 0 || tp->tv_nsec >= 1000000000) + { + __set_errno (EINVAL); + return -1; + } + + return INLINE_SYSCALL_CALL (clock_settime, clock_id, tp); +} +weak_alias (__clock_settime, clock_settime)