diff options
-rw-r--r-- | sysdeps/unix/sysv/linux/timespec_get.c | 21 | ||||
-rw-r--r-- | time/Versions | 1 |
2 files changed, 22 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/timespec_get.c b/sysdeps/unix/sysv/linux/timespec_get.c index b14a302ee9..4cc534af3a 100644 --- a/sysdeps/unix/sysv/linux/timespec_get.c +++ b/sysdeps/unix/sysv/linux/timespec_get.c @@ -44,3 +44,24 @@ timespec_get (struct timespec *ts, int base) return base; } + +/* 64-bit time version */ + +/* We don't have a 64-bit-time syscall yet, so just convert arguments + * between 64-bit and 32-bit time, and use the 32-bit implementation. + * + * We could do the reverse and make the 32-bit time implementation a + * wrapper around the 64-bit-time implementation, but then 32-bit-time + * uses would incur two conversions instead of zero right now. + */ +int +__timespec_get64 (struct __timespec64 *ts, int base) +{ + struct timespec ts32; + int res = timespec_get (&ts32, base); + if (res != base) + { + timespec_to_timespec64(&ts32, ts); + } + return res; +} diff --git a/time/Versions b/time/Versions index 5dfe98440a..1e4d81b81b 100644 --- a/time/Versions +++ b/time/Versions @@ -74,5 +74,6 @@ libc { __clock_settime64; __clock_getres_time64; __clock_nanosleep64; + __timespec_get64; } } |