From 4baeffab22b564735be14a90f658c1aee1ceec58 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 14 Dec 2017 18:57:02 +1030 Subject: [PATCH] binutils nm testsuite tidy 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 | 7 ++++ binutils/testsuite/binutils-all/nm.exp | 47 +++++++++++--------------- binutils/testsuite/lib/utils-lib.exp | 1 - 3 files changed, 26 insertions(+), 29 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index f820280dcc..eb596d10a9 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,10 @@ +2017-12-14 Alan Modra + + * 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 * testsuite/binutils-all/aarch64/objdump.d: New. diff --git a/binutils/testsuite/binutils-all/nm.exp b/binutils/testsuite/binutils-all/nm.exp index fdcf194b4f..e60e061ee6 100644 --- a/binutils/testsuite/binutils-all/nm.exp +++ b/binutils/testsuite/binutils-all/nm.exp @@ -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. - - # Only some targets support unique symbols. - if {([istarget "i?86-*-*"] - || [istarget "x86_64-*-*"] - || [istarget "arm-*-*"] - || [istarget "powerpc*-*-*"] - || [istarget "sparc*-*-*"])} then { - - if {![binutils_assemble $srcdir/$subdir/unique.s tmpdir/unique.o]} then { - fail "nm -g on unique symbols (assembling)" + 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 { - 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" - } - - if { $verbose < 1 } { - remote_file host delete "tmpdir/unique.o" - } + 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" + } + + if { $verbose < 1 } { + remote_file host delete "tmpdir/unique.o" + } + } } # Test nm -P diff --git a/binutils/testsuite/lib/utils-lib.exp b/binutils/testsuite/lib/utils-lib.exp index 40fd98b006..5efe702e2a 100644 --- a/binutils/testsuite/lib/utils-lib.exp +++ b/binutils/testsuite/lib/utils-lib.exp @@ -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 } }