On 6/1/12, xunxun <xunxun1982@xxxxxxxxx> wrote:
> 于 2012/6/1 15:59, ohav chochmah 写道:
>> On 6/1/12, Ian Lance Taylor<iant@xxxxxxxxxx> wrote:
>>> ohav chochmah<philomath868@xxxxxxxxx> writes:
>>>
>>>> first, is momit-leaf-frame-pointer bad for debugging (in the way
>>>> fomit-frame-pointer can be)?
>>> It's not as bad. It may still trip up some debuggers.
>>>
>> but not GDB?
>>
>>>> if not, why is it disabled by default
>>>> even when optimizing (as -Q --help=target | grep omit reveals)?
>>> When optimizing on x86 or x86_64, -fomit-frame-pointer is the default
>>> anyhow. -fomit-frame-pointer essentially implies
>>> -momit-leaf-frame-pointer.
>>>
>> I was sure that's the answer, but then is GCC lying to me?
>> ~ $ gcc -S tst.c -O2 -march=native -Q --help=optimizers | grep omit
>> -fomit-frame-pointer [disabled]
> x86 or x86_64?
>
> I remembered -fomit-frame-pointer enabled only on x86_64 by default.
x86_64.
according to the manual, "Starting with GCC version 4.6, the default
setting (when not optimizing for size) for 32-bit Linux x86 and 32-bit
Darwin x86 targets has been changed to ‘-fomit-frame-pointer’. The
default can be reverted to ‘-fno-omit-frame-pointer’ by configuring
GCC with the ‘--enable-frame-pointer’ configure option." it does not
mention x86_64.
the bottom-line seems to be, that -Q --help=<class> is sometimes inaccurate.
> Best Regards,
> xunxun
all the best.
[Linux C Programming]
[Linux Kernel]
[eCos]
[Fedora Development]
[Fedora Announce]
[Autoconf]
[The DWARVES Debugging Tools]
[Yosemite Campsites]
[Yosemite News]
[Linux GCC]