CONTRIB: trace: try to display the function's return value on exit

On x86_64, when gcc instruments functions and compiles at -O0, it saves
the function's return value in register rbx before calling the trace
callback. It provides a nice opportunity to display certain useful
values (flags, booleans etc) during trace sessions. It's absolutely
not guaranteed that it will always work but it provides a considerable
help when it does so it's worth activating it. When building on a
different architecture, the value 0 is always reported as the return
value. On x86_64 with optimizations (-O), the RBX register will not
necessarily match and random values will be reported, but since it's
not the primary target it's not a problem.
diff --git a/contrib/trace/trace.awk b/contrib/trace/trace.awk
index 6bd5b10..74d953c 100755
--- a/contrib/trace/trace.awk
+++ b/contrib/trace/trace.awk
@@ -72,7 +72,7 @@
   }
   getptr($3); caller_loc=loc; caller_name=name
   getptr($5); callee_loc=loc; callee_name=name
-  printf "%s %s  %s %s %s [%s:%s] %s [%s:%s]\n",
-    $1, indents[$4,$2], caller_name, $4, callee_name, caller_loc, $3, $4, callee_loc, $5
+  printf "%s %s  %s %s %s(%s) [%s:%s] %s [%s:%s]\n",
+    $1, indents[$4,$2], caller_name, $4, callee_name, $6, caller_loc, $3, $4, callee_loc, $5
 }
 '