summaryrefslogtreecommitdiff
path: root/binutils/doc
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2020-08-22 08:31:53 -0700
committerH.J. Lu <hjl.tools@gmail.com>2020-08-22 08:32:02 -0700
commit3f2e9699234ca31d083bc93ea6e03903f10baeaf (patch)
treebfe2e473c96a1b7c9cc4e3f9ea8bb90d2d946521 /binutils/doc
parentd19c3068ab17598662fe562e96bc1943b2b49736 (diff)
elf: Keep only one '@' for undefined versioned symbols
The symbol string table in the .symtab section is optional and cosmetic. Keep only one '@' for undefined versioned symbols, which are defined in shared objects, in the symbol string table. Update "nm -D" to display only one '@' for undefined versioned symbols. bfd/ PR ld/26382 * elflink.c (elf_link_output_symstrtab): Keep only one '@' for versioned symbols, which are defined in shared objects, in symbol string table. binutils/ PR ld/26382 * nm.c (print_symname): Display only one '@' for undefined versioned symbols. * doc/binutils.texi: Update nm version information. ld/ PR ld/26382 * testsuite/ld-elf/pr26302.nd: Updated. * testsuite/ld-elf/pr26302.rd: New file. * testsuite/ld-elf/shared.exp: Add a test for readelf -sW.
Diffstat (limited to 'binutils/doc')
-rw-r--r--binutils/doc/binutils.texi8
1 files changed, 7 insertions, 1 deletions
diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi
index 968da2cb28..35a5a67041 100644
--- a/binutils/doc/binutils.texi
+++ b/binutils/doc/binutils.texi
@@ -924,7 +924,13 @@ The symbol type is unknown, or object file format specific.
@end table
@item
-The symbol name.
+The symbol name. If a symbol has version information associated with it,
+then the version information is displayed as well. If the versioned
+symbol is undefined or hidden from linker, the version string is displayed
+as a suffix to the symbol name, preceded by an @@ character. For example
+@samp{foo@@VER_1}. If the version is the default version to be used when
+resolving unversioned references to the symbol, then it is displayed as a
+suffix preceded by two @@ characters. For example @samp{foo@@@@VER_2}.
@end itemize
@c man end