diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha/adjtime.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/adjtime.c | 82 |
1 files changed, 5 insertions, 77 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/adjtime.c b/sysdeps/unix/sysv/linux/alpha/adjtime.c index 4aede1cc40..9cb058ee55 100644 --- a/sysdeps/unix/sysv/linux/alpha/adjtime.c +++ b/sysdeps/unix/sysv/linux/alpha/adjtime.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1998-2019 Free Software Foundation, Inc. +/* adjtime -- Adjust the current time of day. Linux/Alpha/tv64 version. + Copyright (C) 2019 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,80 +16,7 @@ License along with the GNU C Library. If not, see <https://www.gnu.org/licenses/>. */ -#include <shlib-compat.h> -#include <sysdep.h> -#include <sys/time.h> - - -#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) -struct timeval32 -{ - int tv_sec, tv_usec; -}; - -struct timex32 { - unsigned int modes; /* mode selector */ - long offset; /* time offset (usec) */ - long freq; /* frequency offset (scaled ppm) */ - long maxerror; /* maximum error (usec) */ - long esterror; /* estimated error (usec) */ - int status; /* clock command/status */ - long constant; /* pll time constant */ - long precision; /* clock precision (usec) (read only) */ - long tolerance; /* clock frequency tolerance (ppm) - * (read only) - */ - struct timeval32 time; /* (read only) */ - long tick; /* (modified) usecs between clock ticks */ - - long ppsfreq; /* pps frequency (scaled ppm) (ro) */ - long jitter; /* pps jitter (us) (ro) */ - int shift; /* interval duration (s) (shift) (ro) */ - long stabil; /* pps stability (scaled ppm) (ro) */ - long jitcnt; /* jitter limit exceeded (ro) */ - long calcnt; /* calibration intervals (ro) */ - long errcnt; /* calibration errors (ro) */ - long stbcnt; /* stability limit exceeded (ro) */ - - int :32; int :32; int :32; int :32; - int :32; int :32; int :32; int :32; - int :32; int :32; int :32; int :32; -}; - -#define TIMEVAL timeval32 -#define TIMEX timex32 -#define ADJTIME attribute_compat_text_section __adjtime_tv32 -#define ADJTIMEX(x) INLINE_SYSCALL (old_adjtimex, 1, x) -#define ADJTIMEX32(x) INLINE_SYSCALL (old_adjtimex, 1, x) - +/* We can use the generic Linux implementation, but we have to override its + default symbol version. */ +#define VERSION_adjtime GLIBC_2.1 #include <sysdeps/unix/sysv/linux/adjtime.c> - -int attribute_compat_text_section -__adjtimex_tv32 (struct timex32 *tx) { return ADJTIMEX (tx); } - -strong_alias (__adjtimex_tv32, __adjtimex_tv32_1); -strong_alias (__adjtimex_tv32, __adjtimex_tv32_2); -compat_symbol (libc, __adjtimex_tv32_1, __adjtimex, GLIBC_2_0); -compat_symbol (libc, __adjtimex_tv32_2, adjtimex, GLIBC_2_0); -compat_symbol (libc, __adjtime_tv32, adjtime, GLIBC_2_0); -#endif /* SHLIB_COMPAT */ - -#undef TIMEVAL -#undef TIMEX -#undef ADJTIME -#undef ADJTIMEX -#define TIMEVAL timeval -#define TIMEX timex -#define ADJTIMEX(x) INLINE_SYSCALL (adjtimex, 1, x) - -#include <sysdeps/unix/sysv/linux/adjtime.c> - -int -__adjtimex_tv64 (struct timex *tx) { return ADJTIMEX (tx); } - -libc_hidden_ver (__adjtimex_tv64, __adjtimex) -strong_alias (__adjtimex_tv64, __adjtimex_tv64p); -weak_alias (__adjtimex_tv64, ntp_adjtime); -versioned_symbol (libc, __adjtimex_tv64, __adjtimex, GLIBC_2_1); -versioned_symbol (libc, __adjtimex_tv64p, adjtimex, GLIBC_2_1); -versioned_symbol (libc, __adjtime, adjtime, GLIBC_2_1); |