+2020-08-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/26302
+ * nm.c (with_symbol_versions): Removed.
+ (long_option_values): Add OPTION_WITH_SYMBOL_VERSIONS.
+ (long_options): Update --with-symbol-versions entry.
+ (print_symbol): Remove the with_symbol_versions check.
+ (main): Add OPTION_WITH_SYMBOL_VERSIONS for backward
+ compatibility.
+ * doc/binutils.texi: Remove --with-symbol-versions.
+
2020-08-05 Alan Modra <amodra@gmail.com>
PR 26337
[@option{--plugin} @var{name}]
[@option{--no-recurse-limit}|@option{--recurse-limit}]]
[@option{--size-sort}] [@option{--special-syms}]
- [@option{--synthetic}] [@option{--with-symbol-versions}] [@option{--target=}@var{bfdname}]
+ [@option{--synthetic}] [@option{--target=}@var{bfdname}]
[@var{objfile}@dots{}]
@c man end
@end smallexample
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
-Enables the display of symbol version information if any exists. 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}.
-
@item --target=@var{bfdname}
@cindex object code format
Specify an object code format other than your system's default format.
static int show_synthetic = 0; /* Display synthesized symbols too. */
static int line_numbers = 0; /* Print line numbers for symbols. */
static int allow_special_symbols = 0; /* Allow special symbols. */
-static int with_symbol_versions = 0; /* Include symbol version information in the output. */
static int demangle_flags = DMGL_ANSI | DMGL_PARAMS;
OPTION_PLUGIN,
OPTION_SIZE_SORT,
OPTION_RECURSE_LIMIT,
- OPTION_NO_RECURSE_LIMIT
+ OPTION_NO_RECURSE_LIMIT,
+ OPTION_WITH_SYMBOL_VERSIONS
};
static struct option long_options[] =
{"defined-only", no_argument, &defined_only, 1},
{"undefined-only", no_argument, &undefined_only, 1},
{"version", no_argument, &show_version, 1},
- {"with-symbol-versions", no_argument, &with_symbol_versions, 1},
+ {"with-symbol-versions", no_argument, NULL,
+ OPTION_WITH_SYMBOL_VERSIONS},
{0, no_argument, 0, 0}
};
\f
format->print_symbol_info (&info, abfd);
- if (with_symbol_versions)
- {
- const char * version_string = NULL;
- bfd_boolean hidden = FALSE;
-
- if ((sym->flags & (BSF_SECTION_SYM | BSF_SYNTHETIC)) == 0)
- version_string = bfd_get_symbol_version_string (abfd, sym,
- TRUE, &hidden);
-
- if (bfd_is_und_section (bfd_asymbol_section (sym)))
- hidden = TRUE;
-
- if (version_string && *version_string != '\0')
- printf (hidden ? "@%s" : "@@%s", version_string);
- }
-
if (line_numbers)
{
static asymbol **syms;
case OPTION_NO_RECURSE_LIMIT:
demangle_flags |= DMGL_NO_RECURSE_LIMIT;
break;
+ case OPTION_WITH_SYMBOL_VERSIONS:
+ /* Ignored for backward compatibility. */
+ break;
case 'D':
dynamic = 1;
break;
+2020-08-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/26302
+ * testsuite/ld-elf/pr26302.nd: New file.
+ * testsuite/ld-elf/pr26302.ver: Likewise.
+ * testsuite/ld-elf/pr26302a.c: Likewise.
+ * testsuite/ld-elf/pr26302b.c: Likewise.
+ * testsuite/ld-elf/shared.exp: Run binutils/26302 tests.
+
2020-08-07 David Faust <david.faust@oracle.com>
* testsuite/ld-bpf/call-3.s: New file.
{{readelf {--dyn-syms --wide} pr26094-1b.rd}} \
"pr26094-1" \
] \
+ [list \
+ "Build pr26302a.so" \
+ "-shared -Wl,--version-script=pr26302.ver" \
+ "-fPIC" \
+ {pr26302a.c} \
+ {} \
+ "pr26302a.so"
+ ] \
+ [list \
+ "Build pr26302b.so" \
+ "-shared -Wl,--no-as-needed tmpdir/pr26302a.so" \
+ "-fPIC" \
+ {pr26302b.c} \
+ {{nm {-u} pr26302.nd} \
+ {nm {-u -D} pr26302.nd} \
+ {nm {-u -D --with-symbol-versions} pr26302.nd}} \
+ "pr26302b.so" \
+ ] \
]
run_ld_link_tests [list \