From 97cbf69756ef371853280574962f3fec05c7461e Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Thu, 24 Dec 2015 16:53:07 +0000 Subject: [PATCH] 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. --- NEWS | 3 +++ personality.c | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) 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; } -- 2.40.0