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

--- Comment #31 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Ali Bahrami from comment #29)
> In my opinion, the only basis for treating a symbol
> as hidden should be that it specifies hidden visibility
> it it's st_other field, as extracted by ELF[32|64]_ST_VISIBILITY.
> Similarly, the only basis for treating a symbol as local
> is that it has STB_LOCAL visibility. The version may reflect
> those things, but it doesn't determine them.
> 
> While symbols with VER_NDX_LOCAL are almost always local
> (as opposed to globals that actually have hidden visibility),
> we know there are other cases where it applies, as we've been
> discussing. So I would say that index 0 is the index to be used
> when no other version index applies. If I could go back to 1994
> with this discussion fresh in my mind, I might suggest that
> it be named VER_NDX_NONE.
> 
> I don't think we should rename it now of course, that
> ship has sailed.

Rename to VER_NDX_NONE may be too late.  But

https://docs.oracle.com/en/operating-systems/solaris/oracle-solaris/11.4/linkers-libraries/version-symbol-section.html

can be updated to clarify what version index 0 really means for unversioned
global/weak defined/undefined symbols.

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

Reply via email to