On Thu, 2013-12-05 at 16:19 +0100, Jan Kratochvil wrote:
On Thu, 05 Dec 2013 11:26:13 +0100, Mark Wielaard wrote:
> The backtrace generated is:
>
> TID 31941:
> #0 0x00007fd3a47975db raise
sigusr2 is missing here
> #1 0x00007fd3a4bc7dec stdarg
> #2 0x00007fd3a4bc7e70 backtracegen
> #3 0x00007fd3a4bc7e79 start
> #4 0x00007fd3a478f9d1 start_thread
> #5 0x00007fd3a44dcb6d __clone
it is because of -O2 in build CFLAGS and tail call optimization:
Dump of assembler code for function sigusr2:
[...]
0x00007f1fc53bdd43 <+19>: mov $0x6,%edi
0x00007f1fc53bdd48 <+24>: add $0x8,%rsp
0x00007f1fc53bdd4c <+28>: jmpq 0x7f1fc53bd960 <raise@plt>
O, nice. So our raw backtrace was indeed correct in this case since the
tail call made the frame disappear.
OK for check-in?
Yes, of course.
Thanks,
Mark