This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: ld violating ELF specification for hidden symbols?
On Fri, Jan 7, 2011 at 1:49 PM, Cary Coutant <ccoutant@google.com> wrote:
>> The version of the spec I have says "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." Nevertheless I see
>> global hidden symbols in executables. Did the spec get changed
>> (and if so, when/where), or is this a bug?
>
> It's not clear in the gABI, but it really only matters for the dynamic
> symbol table. Once an executable or shared library is built, the
> static symbol table isn't involved in further symbol binding
> operations, and the symbols listed there are for reference only. I
> think you'll find that the hidden symbol is not present in the dynamic
> symbol table, or has been marked STB_LOCAL.
>
That is what happened.
Here is another static symbol table issue:
http://www.sourceware.org/bugzilla/show_bug.cgi?id=4317
--
H.J.