Make readelf not print 'foo@@' for normal symbols

when a symbol 'foo' is exported and non-hidden and hence is
available for resolving from other objects it's unreasonable
for readelf to print it as 'foo@@'.  If it's not available
for unversioned resolving because its version is hidden
(but without name), then continue printing it as 'foo@' to
indicate that something special goes on.
This commit is contained in:
Michael Matz
2025-11-20 15:30:50 +01:00
parent 1285613698
commit 365cf9bd15
2 changed files with 3 additions and 3 deletions

View File

@@ -14500,8 +14500,8 @@ get_symbol_version_string (Filedata *filedata,
*sym_info = (vers_data & VERSYM_HIDDEN) != 0 ? symbol_hidden : symbol_public;
max_vd_ndx = 0;
/* Return the empty string for the base version. */
if ((vers_data & VERSYM_VERSION) == VERSYM_BASE)
/* Return the empty string for the hidden base version. */
if (vers_data == (VERSYM_HIDDEN | VERSYM_BASE))
return "";
/* Usually we'd only see verdef for defined symbols, and verneed for