From 12cbde1dae6fa4a9a792b64564c7e0debf7544cc Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Fri, 16 Aug 2019 15:03:16 -0400 Subject: Use clock_settime to implement stime; withdraw stime. Unconditionally, on all ports, use clock_settime to implement stime, not settimeofday or a direct syscall. Then convert stime into a compatibility symbol and remove its prototype from time.h. Checked on x86_64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu, powerpc64-linux-gnu, powerpc-linux-gnu, and aarch64-linux-gnu. Reviewed-by: Adhemerval Zanella Reviewed-by: Lukasz Majewski --- time/stime.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'time/stime.c') diff --git a/time/stime.c b/time/stime.c index a53c0e86ae..6ea3b6dcc1 100644 --- a/time/stime.c +++ b/time/stime.c @@ -15,23 +15,24 @@ License along with the GNU C Library; if not, see . */ -#include +#include + +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_31) + #include -#include /* Set the system clock to *WHEN. */ int -stime (const time_t *when) +attribute_compat_text_section +__stime (const time_t *when) { - if (when == NULL) - { - __set_errno (EINVAL); - return -1; - } - - __set_errno (ENOSYS); - return -1; + struct timespec ts; + ts.tv_sec = *when; + ts.tv_nsec = 0; + + return __clock_settime (CLOCK_REALTIME, &ts); } -stub_warning (stime) +compat_symbol (libc, __stime, stime, GLIBC_2_0); +#endif -- cgit v1.2.3-65-gdbad