Fix multiple personalities support in decoding syscall return values

* syscall.c (trace_syscall_exiting): When current personality is 32bit,
print 32bit return code.
diff --git a/syscall.c b/syscall.c
index 36c1254..cfd16e7 100644
--- a/syscall.c
+++ b/syscall.c
@@ -2450,7 +2450,13 @@
 		else {
 			switch (sys_res & RVAL_MASK) {
 			case RVAL_HEX:
-				tprintf("= %#lx", tcp->u_rval);
+#if SUPPORTED_PERSONALITIES > 1
+				if (current_wordsize < sizeof(long))
+					tprintf("= %#x",
+						(unsigned int) tcp->u_rval);
+				else
+#endif
+					tprintf("= %#lx", tcp->u_rval);
 				break;
 			case RVAL_OCTAL:
 				tprintf("= %#lo", tcp->u_rval);