From: Dmitry V. Levin Date: Thu, 2 May 2013 08:41:27 +0000 (+0000) Subject: x32: fix printllval-based decoders of i386 syscalls X-Git-Tag: v4.8~60 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0b468833390a78395be48f70d582a6679ab28a76;p=strace x32: fix printllval-based decoders of i386 syscalls * util.c (printllval) [X32]: Handle i386 personality. --- diff --git a/util.c b/util.c index 4e21d9f2..e00c9a64 100644 --- a/util.c +++ b/util.c @@ -208,7 +208,15 @@ printllval(struct tcb *tcp, const char *format, int arg_no) */ tprintf(format, tcp->u_arg[arg_no]); arg_no++; -#elif defined LINUX_MIPSN32 || defined X32 +#elif defined X32 + if (current_personality == 0) { + tprintf(format, tcp->ext_arg[arg_no]); + arg_no++; + } else { + tprintf(format, LONG_LONG(tcp->u_arg[arg_no], tcp->u_arg[arg_no + 1])); + arg_no += 2; + } +#elif defined LINUX_MIPSN32 tprintf(format, tcp->ext_arg[arg_no]); arg_no++; #else