This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Build raise with -fasynchronous-unwind-tables


On Fri, 24 Jan 2020, Joseph Myers wrote:

> causes the test for pass for Arm.  For MIPS, the test still does not
> pass (the backtrace has an address that is 2 bytes after the "address
> in signal handler", for unknown reasons), although the patch allows a
> longer backtrace to be produced.

I now understand the MIPS issue: libgcc/config/mips/linux-unwind.h adds 2 
to the return address for a signal frame.

The question then is how best to fix that MIPS issue.  Adding 2 in the 
MIPS sigcontext_get_pc would fix things for the testcase, and be safe for 
the use in debug/segfault.c.  I'm less sure, however, what's safe for the 
use of sigcontext_get_pc in sysdeps/unix/sysv/linux/profil-counter.h - 
what exactly that use requires regarding the return value of 
sigcontext_get_pc.

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]