Refactor adjtimex based on clock_adjtime
Commit Message
Checked on x86_64-linux-gnu.
---
include/time.h | 5 +++++
sysdeps/unix/sysv/linux/adjtimex.c | 2 +-
sysdeps/unix/sysv/linux/syscalls.list | 2 +-
3 files changed, 7 insertions(+), 2 deletions(-)
Comments
* Adhemerval Zanella:
> diff --git a/sysdeps/unix/sysv/linux/adjtimex.c b/sysdeps/unix/sysv/linux/adjtimex.c
> index 6d62c72a17..95be503109 100644
> --- a/sysdeps/unix/sysv/linux/adjtimex.c
> +++ b/sysdeps/unix/sysv/linux/adjtimex.c
> @@ -22,7 +22,7 @@
> int
> ___adjtimex (struct timex *buf)
> {
> - return INLINE_SYSCALL_CALL (adjtimex, buf);
> + return __clock_adjtime (CLOCK_REALTIME, buf);
> }
Based on my investigation of the kernel sources, both the old and new
system call eventually call do_adjtimex, so this should be okay.
Thanks,
Florian
@@ -25,6 +25,11 @@ libc_hidden_proto (__clock_gettime)
extern __typeof (clock_settime) __clock_settime;
libc_hidden_proto (__clock_settime)
+#ifdef __linux__
+extern __typeof (clock_adjtime) __clock_adjtime;
+libc_hidden_proto (__clock_adjtime);
+#endif
+
/* Now define the internal interfaces. */
struct tm;
@@ -22,7 +22,7 @@
int
___adjtimex (struct timex *buf)
{
- return INLINE_SYSCALL_CALL (adjtimex, buf);
+ return __clock_adjtime (CLOCK_REALTIME, buf);
}
#ifdef VERSION_adjtimex
@@ -4,7 +4,7 @@ alarm - alarm i:i alarm
bdflush EXTRA bdflush i:ii __compat_bdflush bdflush@GLIBC_2.0:GLIBC_2.23
capget EXTRA capget i:pp capget
capset EXTRA capset i:pp capset
-clock_adjtime EXTRA clock_adjtime i:ip clock_adjtime
+clock_adjtime EXTRA clock_adjtime i:ip __clock_adjtime clock_adjtime
create_module EXTRA create_module 3 __compat_create_module create_module@GLIBC_2.0:GLIBC_2.23
delete_module EXTRA delete_module 3 delete_module
epoll_create EXTRA epoll_create i:i epoll_create