diff options
author | Dmitry Chestnykh <dm.chestnykh@gmail.com> | 2024-02-25 14:43:28 +0300 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2024-02-25 19:27:48 +0100 |
commit | 81ed334f67e0c56ff0a89ade0fc156c0ba23f190 (patch) | |
tree | 09829cc5cd0d03a4f91887864f6a3c28213549af /libc/sysdeps/linux/common/time.c | |
parent | 086a5f165096af104b01bb6d5639bd769bd17620 (diff) |
Add support for using time64 on big-endian machines.
For BE architectures there is one significant difference
in comparison with time64 support for little-endian
architectures like ARMv7.
The difference is that we strictly need to pass two 64bit
values to system calls because Linux Kernel internally uses
`struct __kernel_timespec` and similar, which consists of two
64bit fields.
For this reason many files have been changed to convert
pointers to timespec-family structures (mixed of 64bit and 32bit values)
to the pointer of the similar but 64bit-only structures
for using as system calls args.
This is general prerequisite for any BE architecture.
Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>
Diffstat (limited to 'libc/sysdeps/linux/common/time.c')
-rw-r--r-- | libc/sysdeps/linux/common/time.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/common/time.c b/libc/sysdeps/linux/common/time.c index 22403f174..d084ffaad 100644 --- a/libc/sysdeps/linux/common/time.c +++ b/libc/sysdeps/linux/common/time.c @@ -9,7 +9,7 @@ #include <sys/syscall.h> #include <time.h> -#ifdef __NR_time +#if defined(__NR_time) && !defined(__UCLIBC_USE_TIME64__) _syscall_noerr1(time_t, time, time_t *, t) #else # include <sys/time.h> |