x32, mips n32: make printargs print full 64-bit syscall arguments
As most of x32 syscalls are regular x86_64 syscalls, they should be printed by default as 64-bit syscalls, and syscall parsers at their discretion might print syscalls differently. This is already implemented in 64-bit strace tracing x32 personality processes, and now x32 strace will also behave this way. Similar reasoning applies to mips n32. * util.c (printargs) [HAVE_STRUCT_TCB_EXT_ARG]: Print syscall arguments from ext_arg array using %llx format.
This commit is contained in:
parent
b49c65cece
commit
9bd2382f21
12
util.c
12
util.c
@ -1409,8 +1409,18 @@ printargs(struct tcb *tcp)
|
||||
if (entering(tcp)) {
|
||||
int i;
|
||||
int n = tcp->s_ent->nargs;
|
||||
for (i = 0; i < n; i++)
|
||||
for (i = 0; i < n; i++) {
|
||||
#if HAVE_STRUCT_TCB_EXT_ARG
|
||||
# if SUPPORTED_PERSONALITIES > 1
|
||||
if (current_personality == 1)
|
||||
tprintf("%s%#lx", i ? ", " : "", tcp->u_arg[i]);
|
||||
else
|
||||
# endif
|
||||
tprintf("%s%#llx", i ? ", " : "", tcp->ext_arg[i]);
|
||||
#else
|
||||
tprintf("%s%#lx", i ? ", " : "", tcp->u_arg[i]);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user