Bug#62008: ld leaves hidden/internal symbols in the symbol table (Patch Included)

H . J . Lu hjl@lucon.org
Sun Apr 9 13:44:00 GMT 2000


On Sun, Apr 09, 2000 at 10:30:44PM +0200, Martin von Loewis wrote:
> 
> # A hidden symbol contained in a relocatable object must be either
> # removed or converted to STB_LOCAL binding by the link-editor when
> # the relocatable object is included in an executable file or shared
> # object.
> 
> That seems pretty clear to me. Removing the symbol is sometimes not
> possible, because it has to go through the PLT. It still could be
> STB_LOCAL - even though that would violate the requirement that all
> dynamic symbols should be global. 
> 
> Personally, I don't care whether the symbol is local or global. It
> must be in the PLT, that is true. However, I'd prefer that binutils
> implement the ABI, even if it is counter-intuitive. So if you present
> me an ABI draft which has that requirement removed, I happily update
> my patch.
> 

1. Does your patch implement STV_PROTECTED?
2. As I said before, STV_HIDDEN can be treated as local symbol in
the symbol versioning. It should work with glibc.


H.J.


More information about the Binutils mailing list