[Patch ARM] Fix PR target/56846
Jonathan Wakely
jwakely@redhat.com
Tue Sep 9 09:16:00 GMT 2014
On 09/09/14 09:33 +0100, Ramana Radhakrishnan wrote:
>I'd like another review here however it looks sane to me. You need to
>CC libstdc++@gcc.gnu.org for libstdc++ patches. Your email doesn't say
>how you tested this patch. Can you make sure you've run this through a
>bootstrap and regression test on GNU/Linux and a cross regression test
>on arm-none-eabi with no regressions ?
Thanks for forwarding this, Ramana.
I don't know the EABI unwinder code so if Ramana is OK with it and no
other ARM maintainers have any comments then the patch is OK with me
too, with a couple of small tweaks ...
>>
>> gcc/libstdc++-v3/ChangeLog:
>> 2014-8-25 Tony Wang <tony.wang@arm.com>
>>
>> PR target/56846
>> * libsupc++/eh_personality.cc: Return with CONTINUE_UNWINDING
>> when meet with the unwind state pattern: _US_VIRTUAL_UNWIND_FRAME |
>> _US_FORCE_UNWIND
The changelog should say which function is being changed:
* libsupc++/eh_personality.cc (__gxx_personality_v0): ...
Or maybe:
* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): ...
Instead of "when meet with the unwind state pattern" please say "when the state
pattern contains"
>> diff --git a/libstdc++-v3/libsupc++/eh_personality.cc b/libstdc++-v3/libsupc++/eh_personality.cc
>> index f315a83..c2b30e9 100644
>> --- a/libstdc++-v3/libsupc++/eh_personality.cc
>> +++ b/libstdc++-v3/libsupc++/eh_personality.cc
>> @@ -378,6 +378,11 @@ PERSONALITY_FUNCTION (int version,
>> switch (state & _US_ACTION_MASK)
>> {
>> case _US_VIRTUAL_UNWIND_FRAME:
>> + // If the unwind state pattern is _US_VIRTUAL_UNWIND_FRAME |
>> + // _US_FORCE_UNWIND, we don't need to search for any handler
>> + // as it is not a real exception. Just unwind the stack.
I think this comment would be easier to read if the expression with the two
constants was all on one line:
// If the unwind state pattern is
// _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
// then we don't need to search for any handler as it is not a real
// exception. Just unwind the stack.
>> + if (state & _US_FORCE_UNWIND)
>> + CONTINUE_UNWINDING;
>> actions = _UA_SEARCH_PHASE;
>> break;
>>
>>
More information about the Libstdc++
mailing list