This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Help with cfi markup for MIPS16 hard-float stubs
- From: Richard Henderson <rth at redhat dot com>
- To: Andreas Krebbel <krebbel at linux dot vnet dot ibm dot com>
- Cc: gcc at gcc dot gnu dot org, rdsandiford at googlemail dot com
- Date: Thu, 16 Feb 2012 10:36:28 -0800
- Subject: Re: Help with cfi markup for MIPS16 hard-float stubs
- References: <878vk327rw.fsf@talisman.home> <4F3D235D.3070701@linux.vnet.ibm.com>
On 02/16/2012 07:40 AM, Andreas Krebbel wrote:
> On 02/15/2012 08:53 PM, Richard Sandiford wrote:
>> This fixes gdb backtraces from a stripped executable, but libgcc's
>> unwinder seems to get confused by having a stub in the middle of the
>> trace that (a) isn't a signal handler and (b) has no frame of its own.
>> The CFA at the point of the call to the stub (i.e. the point that is
>> trying to catch the exception) is the same as the CFA at the call
>> in the stub itself. We then trip:
>>
>> /* Don't let us unwind past the handler context. */
>> gcc_assert (!match_handler);
>>
>> in _Unwind_RaiseException_Phase2. What's the right thing to do here?
>
> Looks like the same problem I'm having on s390 with a java testcase:
> http://gcc.gnu.org/ml/gcc/2012-01/msg00341.html
Same symptom, but isn't the s390 problem that you failed to set
the signal frame bit on the signal frame?
r~