File binutils-revert-nm-symversion.diff of Package cross-hppa64-binutils.29920

Some packages of ours rely on the output of nm to not contain
symversions.  E.g. perf uses 'nm -D' to construct a linker input
file with symbol names.  ld errors on the '@' characters.  Until
those packages are fixed we use this patch.  We have to carry it
for old code streams forever.

diff --git a/binutils/nm.c b/binutils/nm.c
index 2637756c647..253714ef179 100644
--- a/binutils/nm.c
+++ b/binutils/nm.c
@@ -666,7 +666,7 @@ print_symname (const char *form, struct extended_symbol_info *info,
       name = convert_utf8 (name);
     }
 
-  if (info != NULL && info->elfinfo && with_symbol_versions)
+  if (info != NULL && info->elfinfo && with_symbol_versions && 0)
     {
       const char *version_string;
       bool hidden;
diff --git a/ld/testsuite/ld-elf/pr25708.d b/ld/testsuite/ld-elf/pr25708.d
index 60b8e31807a..1b62e25347e 100644
--- a/ld/testsuite/ld-elf/pr25708.d
+++ b/ld/testsuite/ld-elf/pr25708.d
@@ -2,8 +2,9 @@
 #ld: -shared -version-script pr13195.t
 #nm: -D --with-symbol-versions
 #target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: hppa64-*-* ![check_shared_lib_support] 
+#xfail: *-*-* ![check_shared_lib_support]
 # h8300 doesn't support -shared, and hppa64 creates .foo
+# our binutils revert the printing of symversions with nm -D
 
 #..
 0+ A VERS_2.0
openSUSE Build Service is sponsored by