[Xfce-bugs] [Bug 5887] Add support for -Bsymbolic-functions to LD checks

bugzilla-daemon at xfce.org bugzilla-daemon at xfce.org
Wed Oct 21 11:12:31 CEST 2009


http://bugzilla.xfce.org/show_bug.cgi?id=5887

--- Comment #8 from Nick Schermer <nick at xfce.org> 2009-10-21 11:12:29 CEST ---
The previous alias stuff we used works in 2 ways: it handles public visibility
of functions and reduces the PLT overhead for internal calls. However this is a
somewhat complicated and a lot of times people forgot the update the symbols
file.

So, right now we handle the first part by using -export-symbols-regex and mark
all private functions with _ or optionally use a .ver file. This technique is
recommended by people like Drepper and the binutils folks.

The other part is the internal calls. The alias code creates files to make
aliases for the public functions starting with IA__ so all function calls
inside the library are not going over the PLT, this is what
-Bsymbolic-functions could do for us.

I admit I did not know about the internal PLT stuff when removing this from
some of our libraries and if -Bsymbolic-functions will be rejected I'll put the
alias code back in the libraries. I only prefer -Bsymbolic-functions since it's
less complicated.

No benchmarks done on this, but you can see the result of -Bsymbolic-functions
when using size on the library:

   text       data        bss        dec        hex    filename
 263976       7280        560     271816      425c8    libexo-1.so.normal
 259416       6368        560     266344      41068   
libexo-1.so.with.Bsymbolic.functions

-- 
Configure bugmail: http://bugzilla.xfce.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Xfce-bugs mailing list