This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Build raise with -fasynchronous-unwind-tables
- From: Joseph Myers <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Cc: <siddhesh at sourceware dot org>
- Date: Sat, 25 Jan 2020 02:18:02 +0000
- Subject: Re: Build raise with -fasynchronous-unwind-tables
- Ironport-sdr: YQBAHSNciBYT3y4T2drFRX/+YQ0axERcMhUZsPOwLSDRhWmnOOfPh5K6YTCiRSv2hi9GLZu7m/ vQkkGvgzBmedX8/i8b82itIOrJPvnlpEAmp9l0MeHIZFBOte+t2JvAcaET4GL5+7j+6S0MwidW WBqn/r0vsVdNxpFoKV4MHp+IlHwRmHMncvZkr2uKCFTNtTAv2I78328SKmxTETh433Ai/1pMBc lMzGcv+FZlRGg8/ywsD598xppVqxutPbWVDBVBL+VKy1ah6G3lJT/5T2xSzwbNtezx0Qa355So YPE=
- Ironport-sdr: InPn5tXJXXztxc++JCee1o4E7iX3e8LN59KG1vyDYdEK9qjv02i7b/Gm9VzMJ1NJD8Khu8rEHJ ZnNXp4EqE/Ow==
- References: <alpine.DEB.2.21.2001240032350.7536@digraph.polyomino.org.uk>
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