This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: RFC: Turn on -fomit-frame-pointer and -fasynchronous-unwind-tables for Linux/i386
On Jul 15, 2010, at 1:46 PM, H.J. Lu wrote:
> On Thu, Jul 15, 2010 at 12:49 PM, Roland McGrath <roland@redhat.com> wrote:
>>> I updated the spread sheet with glibc 12.0 DSO sizes
>>> I think -fomit-frame-pointer and -fasynchronous-unwind-tables
>>> will increase size of DSO written in C by about 10%.
>>
>> Are you talking about code size or text size? Of course
>> -fasynchronous-unwind-tables increases the size of .eh_frame,
>> but that is not usually a performance issue. The actual code
>> size increase is what affects hot path cache load and so forth.
>
> -fomit-frame-pointer increases libc.so code size by 1%. We
> have to save/restore EBP when using it GPR. But for some reason,
> gcc will choose EBP even when ECX/EDX are available:
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44958
Another issue is that X86 encoding of 42(%esp) takes more space than 42(%ebp). The former requires a SIB byte, the later doesn't.
-Chris