diff options
author | Lukasz Majewski <lukma@denx.de> | 2020-03-16 08:31:41 +0100 |
---|---|---|
committer | Lukasz Majewski <lukma@denx.de> | 2020-05-20 16:45:16 +0200 |
commit | e9698175b0b60407db1e89bcf29437ab224bca0b (patch) | |
tree | cb1b6779101327e185e1868b5200cc8a06e98c0b /sysdeps/generic | |
parent | 5b9b177bf62bcdaf42255f88ad9ebf090528c5e1 (diff) | |
download | glibc-e9698175b0b60407db1e89bcf29437ab224bca0b.tar.gz glibc-e9698175b0b60407db1e89bcf29437ab224bca0b.tar.xz glibc-e9698175b0b60407db1e89bcf29437ab224bca0b.zip |
y2038: Replace __clock_gettime with __clock_gettime64
The __clock_gettime internal function is not supporting 64 bit time on architectures with __WORDSIZE == 32 and __TIMESIZE != 64 (like e.g. ARM 32 bit). The __clock_gettime64 function shall be used instead in the glibc itself as it supports 64 bit time on those systems. This patch does not bring any changes to systems with __WORDSIZE == 64 as for them the __clock_gettime64 is aliased to __clock_gettime (in ./include/time.h).
Diffstat (limited to 'sysdeps/generic')
-rw-r--r-- | sysdeps/generic/hp-timing.h | 4 | ||||
-rw-r--r-- | sysdeps/generic/memusage.h | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sysdeps/generic/hp-timing.h b/sysdeps/generic/hp-timing.h index e2d7447212..af9d92f7f7 100644 --- a/sysdeps/generic/hp-timing.h +++ b/sysdeps/generic/hp-timing.h @@ -34,8 +34,8 @@ typedef uint64_t hp_timing_t; vDSO symbol. */ #define HP_TIMING_NOW(var) \ ({ \ - struct timespec tv; \ - __clock_gettime (CLOCK_MONOTONIC, &tv); \ + struct __timespec64 tv; \ + __clock_gettime64 (CLOCK_MONOTONIC, &tv); \ (var) = (tv.tv_nsec + UINT64_C(1000000000) * tv.tv_sec); \ }) diff --git a/sysdeps/generic/memusage.h b/sysdeps/generic/memusage.h index a111864b0b..91e56d24de 100644 --- a/sysdeps/generic/memusage.h +++ b/sysdeps/generic/memusage.h @@ -28,9 +28,9 @@ #ifndef GETTIME # define GETTIME(low,high) \ { \ - struct timespec now; \ + struct __timespec64 now; \ uint64_t usecs; \ - clock_gettime (CLOCK_REALTIME, &now); \ + __clock_gettime64 (CLOCK_REALTIME, &now); \ usecs = (uint64_t)now.tv_nsec / 1000 + (uint64_t)now.tv_sec * 1000000; \ low = usecs & 0xffffffff; \ high = usecs >> 32; \ |