From 6974c91c02053b488efbfe9494feb232d151c909 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Thu, 26 Nov 2015 18:25:34 +0000 Subject: [PATCH] x86_64: fix x32 personality support in getllval x86 is the only personality supported on x86_64 that has 32-bit syscall arguments. * util.c (getllval) [X86_64]: Fix current_personality == 2 case. --- util.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/util.c b/util.c index 68e82593..b63de9bb 100644 --- a/util.c +++ b/util.c @@ -237,7 +237,11 @@ getllval(struct tcb *tcp, unsigned long long *val, int arg_no) { #if SIZEOF_LONG > 4 && SIZEOF_LONG == SIZEOF_LONG_LONG # if SUPPORTED_PERSONALITIES > 1 +# ifdef X86_64 + if (current_personality != 1) { +# else if (current_wordsize > 4) { +# endif # endif *val = tcp->u_arg[arg_no]; arg_no++; -- 2.40.0