RFC: Add STB_GNU_SECONDARY

Joern Rennecke amylaar@spamcop.net
Sat Apr 21 04:48:00 GMT 2012


Quoting "H.J. Lu" <hjl.tools@gmail.com>:

> We only have very few bits to in STB_XXX field.

Well, you could put the information somewhere else.  E.g. a special  
relocation,
or a special elf section.  Or you could mangle the information into
the section name in which the symbol is present.

>> Even better, you could use symbolic tags, and have the linker script
>> assign precedence values to these tags.
>
> It won't help us.

Maybe it wouldn't buy you more than the secondary symbols right now, but
it would give a lot of flexibility to rearrange and combine different
peoples ideas of link priority.

Another thought on symbols priorities: with pthread, using symbols of
different priorities is really a crutch - and it doesn't really work
that well for static linking.  What is really wanted is that
whenever one of a set of object files is linked in, a whole set of symbols
should be satisfied from a different place.  Maybe if, for a static pthread,
we'd put the pthread-aware I/O etc. into a special .text.pthread section
or somesuch, which would normally discarded, but had a mechanism to use them
if a special symbol is set (or used?) from an object file that provides
a pthread API function.



More information about the Binutils mailing list