From: Dmitry V. Levin Date: Thu, 24 Dec 2015 16:53:07 +0000 (+0000) Subject: Enhance personality syscall decoding X-Git-Tag: v4.12~792 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=97cbf69756ef371853280574962f3fec05c7461e;p=strace Enhance personality syscall decoding * personality.c (SYS_FUNC(personality)): On entering syscall, print first argument not as a hex value but as a set of flags. On exiting syscall, print return code as a set of flags. * NEWS: Mention this enhancement. --- diff --git a/NEWS b/NEWS index 09263eb2..f66d3212 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,9 @@ Noteworthy changes in release ?.?? (????-??-??) =============================================== +* Improvements + * Enhanced decoding of personality syscall. + * Bug fixes * Fixed build on arc, metag, nios2, or1k, and tile architectures. diff --git a/personality.c b/personality.c index 5c425c61..2030374e 100644 --- a/personality.c +++ b/personality.c @@ -6,7 +6,11 @@ SYS_FUNC(personality) { - printxval(personality_options, tcp->u_arg[0], "PER_???"); + if (entering(tcp)) { + printflags(personality_options, tcp->u_arg[0], "PER_???"); + return 0; + } - return RVAL_DECODED; + tcp->auxstr = sprintflags("", personality_options, tcp->u_rval); + return RVAL_HEX | RVAL_STR; }