This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
binutils nm testsuite tidy
- From: Alan Modra <amodra at gmail dot com>
- To: binutils at sourceware dot org
- Date: Thu, 14 Dec 2017 22:29:23 +1030
- Subject: binutils nm testsuite tidy
- Authentication-results: sourceware.org; auth=none
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.
diff --git a/binutils/testsuite/binutils-all/nm.exp b/binutils/testsuite/binutils-all/nm.exp
index fdcf194..e60e061 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.
+ 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
diff --git a/binutils/testsuite/lib/utils-lib.exp b/binutils/testsuite/lib/utils-lib.exp
index 40fd98b..5efe702 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
}
}
--
Alan Modra
Australia Development Lab, IBM