tree 53166996459dc58005c3b64b397f59a8369a7684
parent 1296382d0bf7e600bbb60e927e546053d381e473
author Willy Tarreau <w@1wt.eu> 1508835500 +0200
committer Willy Tarreau <w@1wt.eu> 1508867665 +0200
encoding latin1

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.
