[git commit] libubacktrace: use -funwind-tables rather than -fexecptions

Carmelo AMOROSO carmelo.amoroso at st.com
Fri Jan 13 09:39:39 UTC 2012


On 04/01/2012 23.36, Mike Frysinger wrote:
> On Tuesday 03 January 2012 11:34:40 Carmelo AMOROSO wrote:
>> On 01/01/2012 0.10, Mike Frysinger wrote:
>>> On Thursday 22 December 2011 13:19:22 Carmelo AMOROSO wrote:
>>>> On 22/12/2011 15.30, Carmelo Amoroso wrote:
>>>>> For backtrace to work is enough to use -funwind-tables
>>>>> instead of -fexceptions.
>>>> 
>>>> Indeed, I'm wondering if -fasynchrous-unwind-tables should
>>>> be used rather then funwind-tables. On my arh SH4 the
>>>> generated code is exactly the same. I'm not expert of DWARF,
>>>> neither gcc documentation regarding the differences between
>>>> -fexceptions, -funwind-tables or -fasynchronous-unwind-tables
>>>> helped me so much.
>>>> 
>>>> someone else has clearer idea ?
>>> 
>>> for backtrace, we just want unwind-tables, so using that over 
>>> -fexceptions is good (since we don't have to handle exceptions
>>> in this code).  as for the async vs non-async unwind-tables, i
>>> don't know the answer to that.
>> 
>> I've reported here below the extract from gcc manual. Reading it 
>> again, it seems to me that using -fasynchronous-unwind-tables is
>> the best as it's purpose is actually to create the dwarf2
>> information, in the other two cases (-fexceptions or
>> -funwind-tables) it seems to be a side effect.
> 
> glibc seems to prefer -fasynchronous-unwind-tables, so that's
> probably good for us too
> 
> we need -fexceptions if the funcs themselves need to handle
> exceptions.  but if we only want other things to be able to build a
> backtrace across the call, then -fasynchronous-unwind-tables should
> be sufficient. -mike

agreed. I'll commit an update shortly.

carmelo



More information about the uClibc-cvs mailing list