diff options
author | Mike Frysinger <vapier@gentoo.org> | 2013-05-05 18:30:21 -0400 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2013-05-06 18:13:34 +0000 |
commit | a32b6837044c54957b9b90954e246a56c9bef403 (patch) | |
tree | 7b12b86db5f81cc55c53fd832f97fe145d7452e2 | |
parent | c7b2f0c74e4a60a57027eefe8fee6a723b9b278f (diff) | |
download | strace-a32b6837044c54957b9b90954e246a56c9bef403.tar.gz strace-a32b6837044c54957b9b90954e246a56c9bef403.tar.bz2 strace-a32b6837044c54957b9b90954e246a56c9bef403.tar.xz |
printllval: fix 64bit unpacking on mips/o32 and xtensa
The mips/o32 ABI and xtensa arch also do 64bit aligning, so add it to the
printllval list for this.
Normally for sys_fadvise64_64 we'd handle the same list of arches, but
mips/o32 ABI is funky and doesn't shift -- it has 7 args. So just add
xtensa to it.
* file.c (sys_fadvise64_64): Add XTENSA to the shifted list.
* util.c (printllval): Add LINUX_MIPSO32 and XTENSA to the shifted list.
-rw-r--r-- | file.c | 2 | ||||
-rw-r--r-- | util.c | 2 |
2 files changed, 2 insertions, 2 deletions
@@ -2677,7 +2677,7 @@ sys_fadvise64_64(struct tcb *tcp) printfd(tcp, tcp->u_arg[0]); argn = printllval(tcp, ", %lld, ", 1); argn = printllval(tcp, "%lld, ", argn); -#if defined ARM || defined AARCH64 || defined POWERPC +#if defined ARM || defined AARCH64 || defined POWERPC || defined XTENSA printxval(advise, tcp->u_arg[1], "POSIX_FADV_???"); #else printxval(advise, tcp->u_arg[argn], "POSIX_FADV_???"); @@ -207,7 +207,7 @@ printllval(struct tcb *tcp, const char *format, int arg_no) arg_no += 2; } #else -# if defined(ARM) || defined(POWERPC) +# if defined(ARM) || defined(POWERPC) || defined(LINUX_MIPSO32) || defined(XTENSA) /* Align arg_no to the next even number. */ arg_no = (arg_no + 1) & 0xe; # endif |