Message ID | 20190908061543.25136-3-f4bug@amsat.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | linux-user: strace improvements | expand |
Le 08/09/2019 à 08:15, Philippe Mathieu-Daudé a écrit : > Suggested-by: Laurent Vivier <laurent@vivier.eu> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > checkpatch error: > ERROR: storage class should be at the beginning of the declaration > --- > linux-user/strace.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/linux-user/strace.c b/linux-user/strace.c > index f326c357a2..5ee9d62c25 100644 > --- a/linux-user/strace.c > +++ b/linux-user/strace.c > @@ -63,6 +63,7 @@ UNUSED static void print_string(abi_long, int); > UNUSED static void print_buf(abi_long addr, abi_long len, int last); > UNUSED static void print_raw_param(const char *, abi_long, int); > UNUSED static void print_timeval(abi_ulong, int); > +UNUSED static void print_timezone(abi_ulong, int); > UNUSED static void print_number(abi_long, int); > UNUSED static void print_signal(abi_ulong, int); > UNUSED static void print_sockaddr(abi_ulong addr, abi_long addrlen); > @@ -1254,6 +1255,26 @@ print_timeval(abi_ulong tv_addr, int last) > gemu_log("NULL%s", get_comma(last)); > } > > +static void > +print_timezone(abi_ulong tz_addr, int last) > +{ > + if (tz_addr) { > + struct target_timezone *tz; > + > + tz = lock_user(VERIFY_READ, tz_addr, sizeof(*tz), 1); > + if (!tz) { > + print_pointer(tz_addr, last); > + return; > + } > + gemu_log("{" TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "}%s", > + tswapal(tz->tz_minuteswest), tswapal(tz->tz_dsttime), tz_minuteswest and tz_dsttime are abi_int, so it should be "%d" and tswap32(). > + get_comma(last)); > + unlock_user(tz, tz_addr, 0); > + } else { > + gemu_log("NULL%s", get_comma(last)); > + } > +} > + > #undef UNUSED > > #ifdef TARGET_NR_accept >
diff --git a/linux-user/strace.c b/linux-user/strace.c index f326c357a2..5ee9d62c25 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -63,6 +63,7 @@ UNUSED static void print_string(abi_long, int); UNUSED static void print_buf(abi_long addr, abi_long len, int last); UNUSED static void print_raw_param(const char *, abi_long, int); UNUSED static void print_timeval(abi_ulong, int); +UNUSED static void print_timezone(abi_ulong, int); UNUSED static void print_number(abi_long, int); UNUSED static void print_signal(abi_ulong, int); UNUSED static void print_sockaddr(abi_ulong addr, abi_long addrlen); @@ -1254,6 +1255,26 @@ print_timeval(abi_ulong tv_addr, int last) gemu_log("NULL%s", get_comma(last)); } +static void +print_timezone(abi_ulong tz_addr, int last) +{ + if (tz_addr) { + struct target_timezone *tz; + + tz = lock_user(VERIFY_READ, tz_addr, sizeof(*tz), 1); + if (!tz) { + print_pointer(tz_addr, last); + return; + } + gemu_log("{" TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "}%s", + tswapal(tz->tz_minuteswest), tswapal(tz->tz_dsttime), + get_comma(last)); + unlock_user(tz, tz_addr, 0); + } else { + gemu_log("NULL%s", get_comma(last)); + } +} + #undef UNUSED #ifdef TARGET_NR_accept
Suggested-by: Laurent Vivier <laurent@vivier.eu> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- checkpatch error: ERROR: storage class should be at the beginning of the declaration --- linux-user/strace.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)