binutils nm testsuite tidy
authorAlan Modra <amodra@gmail.com>
Thu, 14 Dec 2017 08:27:02 +0000 (18:57 +1030)
committerAlan Modra <amodra@gmail.com>
Thu, 14 Dec 2017 11:59:42 +0000 (22:29 +1030)
We can run the gnu_unique_object symbol test  on all ELF targets.
Those that don't support the symbol type and fail to assemble can just
be resolved as "unsupported".  This means binutils_assemble can't
report an error on assembly failure, but it probably should never have
done that anyway.

* testsuite/lib/utils-lib.exp (default_binutils_assemble_flags):
Don't perror on assembler diagnostic output.
* testsuite/binutils-all/nm.exp: Run unique symbol test on all
ELF targets.  Resolve as "unsupported" on assembly failure.

binutils/ChangeLog
binutils/testsuite/binutils-all/nm.exp
binutils/testsuite/lib/utils-lib.exp

index f820280..eb596d1 100644 (file)
@@ -1,3 +1,10 @@
+2017-12-14  Alan Modra  <amodra@gmail.com>
+
+       * testsuite/lib/utils-lib.exp (default_binutils_assemble_flags):
+       Don't perror on assembler diagnostic output.
+       * testsuite/binutils-all/nm.exp: Run unique symbol test on all
+       ELF targets.  Resolve as "unsupported" on assembly failure.
+
 2017-12-11  Renlin Li  <renlin.li@arm.com>
 
        * testsuite/binutils-all/aarch64/objdump.d: New.
index fdcf194..e60e061 100644 (file)
@@ -101,36 +101,27 @@ if {![info exists vars(text_symbol)] \
 if [is_elf_format] {
     # PR binutils/12753
     # Test nm -g on a unique global symbol.
+    if {![binutils_assemble $srcdir/$subdir/unique.s tmpdir/unique.o]} then {
+       unsupported "nm -g on unique symbols"
+    } else {
+       if [is_remote host] {
+           set tmpfile [remote_download host tmpdir/unique.o]
+       } else {
+           set tmpfile tmpdir/unique.o
+       }
 
-    # Only some targets support unique symbols.
-    if {([istarget "i?86-*-*"]
-        || [istarget "x86_64-*-*"]
-        || [istarget "arm-*-*"]
-        || [istarget "powerpc*-*-*"]
-        || [istarget "sparc*-*-*"])} then {
+       set got [binutils_run $NM "$NMFLAGS -g $tmpfile"]
 
-       if {![binutils_assemble $srcdir/$subdir/unique.s tmpdir/unique.o]} then {
-           fail "nm -g on unique symbols (assembling)"
+       if [regexp "u foo" $got] then {
+           pass "nm -g on unique symbols"
        } else {
-           if [is_remote host] {
-               set tmpfile [remote_download host tmpdir/unique.o]
-           } else {
-               set tmpfile tmpdir/unique.o
-           }
-       
-           set got [binutils_run $NM "$NMFLAGS -g $tmpfile"]
-
-           if [regexp "u foo" $got] then {
-               pass "nm -g on unique symbols"
-           } else {
-               fail "nm -g on unique symbols"
-           }
+           fail "nm -g on unique symbols"
+       }
 
-           if { $verbose < 1 } {
-               remote_file host delete "tmpdir/unique.o"
-           }
+       if { $verbose < 1 } {
+           remote_file host delete "tmpdir/unique.o"
        }
-   }
+    }
 }
 
 # Test nm -P
index 40fd98b..5efe702 100644 (file)
@@ -127,7 +127,6 @@ proc default_binutils_assemble_flags { source object asflags } {
     } else {
        send_log "$exec_output\n"
        verbose "$exec_output"
-       perror "$source: assembly failed"
        return 0
     }
 }