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

--- Comment #31 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> I think it is important to find out why there are those differences in line
> numbers.  Is libbacktrace broken on Solaris, or not used at all, something
> different?

The libsanitizer does its private unwinding by means of _Unwind_Backtrace,
which works fine.  But, at the end, it overwrites the first address with the
result of __builtin_return_address, which returns the address of the call
instruction and not the return address on the SPARC (maybe you know why,
Jakub?) so the first frame is off by 8 bytes.  I have a tentative fixlet for
the libsanitizer.

Btw, Rainer, why did you disable fast unwinding on the SPARC?  This puts the
SPARC  port in its own basket (admittedly with MIPS) so that's not very
convenient.

Reply via email to