https://sourceware.org/bugzilla/show_bug.cgi?id=33177

--- Comment #6 from Alan Modra <amodra at gmail dot com> ---
I see a number of examples of dynamic symbol dumps that indicate it is dynamic,
but not a great deal in the wording.  Of .SUNW_dynsymsort it does say "The
following symbols are always included, if present: _DYNAMIC, _end, _fini,
_GLOBAL_OFFSET_TABLE_, _init, _PROCEDURE_LINKAGE_TABLE_, and _start."  That
could be taken to mean _G_O_T_ ought to be dynamic, but there is that "if
present".  Can I interpret that as "if present as a dynamic symbol"?

You can no doubt see where I'm going with this.  If nothing actually needs the
value of _G_O_T_ in a shared library outside of that library, then why make it
dynamic?  (And if something does use the library value of _G_O_T_ outside of a
library, what is the proper value to use when multiple libraries are present?)
I suppose you might use dlsym somewhere?

Anyway, I suppose throwing out _G_O_T_ and others as dynamic syms no doubt
upsets validation and testing, so it might not be worth doing.

The other way to tackle this problem in gld is to implement an
elf_add_symbol_hook for solaris to ignore _G_O_T_ and similar in shared
libraries.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to