diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2013-05-02 08:41:27 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2013-05-02 08:45:42 +0000 |
commit | 0b468833390a78395be48f70d582a6679ab28a76 (patch) | |
tree | ae2cb0150de949144edf77edd37343e24cc90ad6 /util.c | |
parent | 318b0dde768e0b2360082c50b286e003f914a49f (diff) | |
download | strace-0b468833390a78395be48f70d582a6679ab28a76.tar.gz strace-0b468833390a78395be48f70d582a6679ab28a76.tar.bz2 strace-0b468833390a78395be48f70d582a6679ab28a76.tar.xz |
x32: fix printllval-based decoders of i386 syscalls
* util.c (printllval) [X32]: Handle i386 personality.
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -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 |