https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79341

--- Comment #62 from Dominik Vogt <vogt at linux dot vnet.ibm.com> ---
(In reply to Jakub Jelinek from comment #61)
> It is true that libasan calls just _Unwind_GetIP rather than
> _Unwind_GetIPInfo,
> but I don't see where there is that subtraction of 1, so it shouldn't matter;
> it seems to record the address that return address that has been given by
> the unwinder.

_Unwind_GetIP returns the correct addresses:

(gdb) disas
0x000003fff728bb08 <+40>:       brasl   %r14,0x3fff71a6458 <_Unwind_GetIP@plt>
0x000003fff728bb0e <+46>:       larl    %r10,0x3fff773e758
<_ZN11__sanitizer14PageSizeCachedE>
(gdb) b *0x000003fff728bb0e
(gdb) display /x $r2
(gdb) c
...
1: /x $r2 = 0x100083a
1: /x $r2 = 0x10006c2
1: /x $r2 = 0x3fff6e2306a
1: /x $r2 = 0x100073e

Reply via email to