PR27128, nm -P portable output format regression

Add nm --without-symbol-versions.

binutils/
	PR 27128
	* doc/binutils.texi: Add nm --with-symbol-versions and
	--without-symbol-versions documentation.
	* nm.c (with_symbol_versions): New variable.
	(enum long_option_values): Delete OPTION_WITH_SYMBOL_VERSIONS.
	(long_options): Make --with-symbol-versions entry twiddle the flag.
	Add --without-symbol-versions.
	(print_symname): Strip version when !with_symbol_versions.  Add
	dynamic version info under control of with_symbol_versions.
	(main): Remove OPTION_WITH_SYMBOL_VERSIONS case.
ld/
	* testsuite/ld-elf/pr25708.d: Add --with-symbol-versions to nm.
	* testsuite/ld-elf/pr27128a.d: Likewise.
	* testsuite/ld-elf/pr27128b.d: Likewise.
	* testsuite/ld-elf/pr27128c.d: Likewise.
	* testsuite/ld-elf/pr27128d.d: Likewise.
	* testsuite/ld-elf/pr27128e.d: Likewise.
This commit is contained in:
Alan Modra
2021-02-27 15:39:05 +10:30
parent cf850febf6
commit 6a1224ec76
10 changed files with 54 additions and 14 deletions

View File

@@ -808,7 +808,8 @@ nm [@option{-A}|@option{-o}|@option{--print-file-name}] [@option{-a}|@option{--d
[@option{--plugin} @var{name}]
[@option{--no-recurse-limit}|@option{--recurse-limit}]]
[@option{--size-sort}] [@option{--special-syms}]
[@option{--synthetic}] [@option{--target=}@var{bfdname}]
[@option{--synthetic}] [@option{--with-symbol-versions}]
[@option{--without-symbol-versions}] [@option{--target=}@var{bfdname}]
[@var{objfile}@dots{}]
@c man end
@end smallexample
@@ -1169,6 +1170,16 @@ Include synthetic symbols in the output. These are special symbols
created by the linker for various purposes. They are not shown by
default since they are not part of the binary's original source code.
@item --with-symbol-versions
@item --without-symbol-versions
Enables or disables the display of symbol version information. 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}. By default, symbol
version information is displayed.
@item --target=@var{bfdname}
@cindex object code format
Specify an object code format other than your system's default format.