#define UTIME_OMIT ((1l << 30) - 2l)
#endif
+#if SUPPORTED_PERSONALITIES > 1
+# if defined X86_64 || defined X32
+# define current_time_t_is_compat (current_personality == 1)
+# else
+# define current_time_t_is_compat (current_wordsize == 4)
+# endif
+#else
+# define current_time_t_is_compat 0
+#endif
+
struct timeval32
{
u_int32_t tv_sec, tv_usec;
static void
tprint_timeval(struct tcb *tcp, const struct timeval *tv)
{
- tprintf("{%lu, %lu}",
- (unsigned long) tv->tv_sec, (unsigned long) tv->tv_usec);
+ tprintf("{%ju, %ju}", (uintmax_t) tv->tv_sec, (uintmax_t) tv->tv_usec);
}
void
}
static char *
-do_sprinttv(char *buf, const unsigned long sec, const unsigned long usec,
+do_sprinttv(char *buf, const uintmax_t sec, const uintmax_t usec,
const int special)
{
if (special) {
return stpcpy(buf, "UTIME_OMIT");
}
}
- return buf + sprintf(buf, "{%lu, %lu}", sec, usec);
+ return buf + sprintf(buf, "{%ju, %ju}", sec, usec);
}
char *
if (!verbose(tcp))
return buf + sprintf(buf, "%#lx", addr);
- if (bitness == BITNESS_32
-#if SUPPORTED_PERSONALITIES > 1
- || current_wordsize == 4
-#endif
- )
+ if (bitness == BITNESS_32 || current_time_t_is_compat)
{
struct timeval32 tv;
int rc;
#if SUPPORTED_PERSONALITIES > 1
- if (current_wordsize == 4) {
+ if (current_time_t_is_compat) {
struct timeval32 tv;
rc = umove(tcp, addr, &tv);
rc = umove(tcp, addr, &ts);
if (rc >= 0)
- sprintf(buf, "{%lu, %lu}",
- (unsigned long) ts.tv_sec,
- (unsigned long) ts.tv_nsec);
+ sprintf(buf, "{%ju, %ju}",
+ (uintmax_t) ts.tv_sec,
+ (uintmax_t) ts.tv_nsec);
}
if (rc < 0)
strcpy(buf, "{...}");
{
if (exiting(tcp)) {
if (syserror(tcp)) {
- tprintf("%#lx, %#lx",
- tcp->u_arg[0], tcp->u_arg[1]);
+ tprintf("%#lx, %#lx", tcp->u_arg[0], tcp->u_arg[1]);
return 0;
}
printtv(tcp, tcp->u_arg[0]);
else {
int rc;
- if (bitness == BITNESS_32
-#if SUPPORTED_PERSONALITIES > 1
- || current_wordsize == 4
-#endif
- )
- {
+ if (bitness == BITNESS_32 || current_time_t_is_compat) {
struct {
struct timeval32 it_interval, it_value;
} itv;
struct timex tx;
#if SUPPORTED_PERSONALITIES > 1
- if (current_wordsize == 4)
+ if (current_time_t_is_compat)
return tprint_timex32(tcp, addr);
#endif
if (umove(tcp, addr, &tx) < 0)
#else
tprints("{modes=");
printflags(adjtimex_modes, tx.modes, "ADJ_???");
- tprintf(", offset=%ld, freq=%ld, maxerror=%ld, ",
- (long) tx.offset, (long) tx.freq, (long) tx.maxerror);
- tprintf("esterror=%lu, status=", (long) tx.esterror);
+ tprintf(", offset=%jd, freq=%jd, maxerror=%ju, esterror=%ju, status=",
+ (intmax_t) tx.offset, (intmax_t) tx.freq,
+ (uintmax_t) tx.maxerror, (uintmax_t) tx.esterror);
printflags(adjtimex_status, tx.status, "STA_???");
- tprintf(", constant=%ld, precision=%lu, ",
- (long) tx.constant, (long) tx.precision);
- tprintf("tolerance=%ld, time=", (long) tx.tolerance);
+ tprintf(", constant=%jd, precision=%ju, tolerance=%jd, time=",
+ (intmax_t) tx.constant, (uintmax_t) tx.precision,
+ (intmax_t) tx.tolerance);
tprint_timeval(tcp, &tx.time);
- tprintf(", tick=%ld, ppsfreq=%ld, jitter=%ld",
- (long) tx.tick, (long) tx.ppsfreq, (long) tx.jitter);
- tprintf(", shift=%d, stabil=%ld, jitcnt=%ld",
- tx.shift, (long) tx.stabil, (long) tx.jitcnt);
- tprintf(", calcnt=%ld, errcnt=%ld, stbcnt=%ld",
- (long) tx.calcnt, (long) tx.errcnt, (long) tx.stbcnt);
+ tprintf(", tick=%jd, ppsfreq=%jd, jitter=%jd",
+ (intmax_t) tx.tick, (intmax_t) tx.ppsfreq, (intmax_t) tx.jitter);
+ tprintf(", shift=%d, stabil=%jd, jitcnt=%jd",
+ tx.shift, (intmax_t) tx.stabil, (intmax_t) tx.jitcnt);
+ tprintf(", calcnt=%jd, errcnt=%jd, stbcnt=%jd",
+ (intmax_t) tx.calcnt, (intmax_t) tx.errcnt, (intmax_t) tx.stbcnt);
#endif
tprints("}");
return 0;