]> granicus.if.org Git - strace/commitdiff
x86_64: fix x32 personality support in print_llu_from_low_high_val
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 26 Nov 2015 20:29:25 +0000 (20:29 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Thu, 26 Nov 2015 20:29:25 +0000 (20:29 +0000)
x86 is the only personality supported on x86_64
that has 32-bit syscall arguments.

* io.c (print_llu_from_low_high_val) [X86_64]: Fix
current_personality == 2 case.

io.c

diff --git a/io.c b/io.c
index 0cdc469fc30b1ca5018cde7422a13c54477efc5f..5ee967c1bbee1cfd8e7e2540820a156d8cbb8fa3 100644 (file)
--- a/io.c
+++ b/io.c
@@ -182,7 +182,11 @@ print_llu_from_low_high_val(struct tcb *tcp, int arg)
 {
 #if SIZEOF_LONG == SIZEOF_LONG_LONG
 # if SUPPORTED_PERSONALITIES > 1
+#  ifdef X86_64
+       if (current_personality != 1)
+#  else
        if (current_wordsize == sizeof(long))
+#  endif
 # endif
                tprintf("%lu", (unsigned long) tcp->u_arg[arg]);
 # if SUPPORTED_PERSONALITIES > 1