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 09263eb..f66d321 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 5c425c6..2030374 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;
}