syscall.c: print higher bits of syscall return value on x32 personality

* syscall.c (syscall_exiting_trace): Check for current_klongsize instead
of current_wordsize to determine the size of tcp->u_rval.
This commit is contained in:
Eugene Syromyatnikov 2018-02-07 00:58:30 +01:00 committed by Dmitry V. Levin
parent 54038a6898
commit b0a26b9403

View File

@ -916,7 +916,7 @@ syscall_exiting_trace(struct tcb *tcp, struct timeval tv, int res)
switch (sys_res & RVAL_MASK) {
case RVAL_HEX:
#if ANY_WORDSIZE_LESS_THAN_KERNEL_LONG
if (current_wordsize < sizeof(tcp->u_rval)) {
if (current_klongsize < sizeof(tcp->u_rval)) {
tprintf("= %#x",
(unsigned int) tcp->u_rval);
} else
@ -931,7 +931,7 @@ syscall_exiting_trace(struct tcb *tcp, struct timeval tv, int res)
break;
case RVAL_UDECIMAL:
#if ANY_WORDSIZE_LESS_THAN_KERNEL_LONG
if (current_wordsize < sizeof(tcp->u_rval)) {
if (current_klongsize < sizeof(tcp->u_rval)) {
tprintf("= %u",
(unsigned int) tcp->u_rval);
} else