Browse Source

ld testsuite: change unresolved to unsupported/fail

"unresolved" as a test result means runtest returns an error, which
can be confusing when there is no apparent error unless you look in
.log files.  In particular many tests are skipped without reporting an
error if no target C compiler is found, but if a target C compiler is
found but won't compile a testcase for some reason we used to mark the
test as unresolved.  Which is no more worthy of an error than when
lacking a C compiler entirely.

	* testsuite/ld-cdtest/cdtest.exp,
	* testsuite/ld-checks/checks.exp,
	* testsuite/ld-elf/binutils.exp,
	* testsuite/ld-elf/compress.exp,
	* testsuite/ld-elf/dwarf.exp,
	* testsuite/ld-elf/exclude.exp,
	* testsuite/ld-elf/frame.exp,
	* testsuite/ld-elf/indirect.exp,
	* testsuite/ld-elf/linux-x86.exp,
	* testsuite/ld-elf/sec-to-seg.exp,
	* testsuite/ld-elf/tls_common.exp,
	* testsuite/ld-elfcomm/elfcomm.exp,
	* testsuite/ld-elfvers/vers.exp,
	* testsuite/ld-elfvsb/elfvsb.exp,
	* testsuite/ld-elfweak/elfweak.exp,
	* testsuite/ld-ifunc/binutils.exp,
	* testsuite/ld-mips-elf/mips-elf-flags.exp,
	* testsuite/ld-misc/defsym.exp,
	* testsuite/ld-mn10300/mn10300.exp,
	* testsuite/ld-plugin/lto.exp,
	* testsuite/ld-plugin/plugin.exp,
	* testsuite/ld-scripts/align.exp,
	* testsuite/ld-scripts/assert.exp,
	* testsuite/ld-scripts/crossref.exp,
	* testsuite/ld-scripts/defined.exp,
	* testsuite/ld-scripts/extern.exp,
	* testsuite/ld-scripts/log2.exp,
	* testsuite/ld-scripts/map-address.exp,
	* testsuite/ld-scripts/phdrs.exp,
	* testsuite/ld-scripts/phdrs2.exp,
	* testsuite/ld-scripts/script.exp,
	* testsuite/ld-scripts/section-flags.exp,
	* testsuite/ld-scripts/sizeof.exp,
	* testsuite/ld-scripts/weak.exp,
	* testsuite/ld-selective/selective.exp,
	* testsuite/ld-sh/sh.exp,
	* testsuite/ld-shared/shared.exp,
	* testsuite/ld-srec/srec.exp,
	* testsuite/ld-tic6x/tic6x.exp,
	* testsuite/ld-undefined/undefined.exp,
	* testsuite/ld-undefined/weak-undef.exp,
	* testsuite/lib/ld-lib.exp: Don't use unresolved except after
	perror.  Instead report "unsupported" or "fail".
binutils-2_37-branch
Alan Modra 6 years ago
parent
commit
5b1f6c9570
  1. 46
      ld/ChangeLog
  2. 4
      ld/testsuite/ld-cdtest/cdtest.exp
  3. 2
      ld/testsuite/ld-checks/checks.exp
  4. 10
      ld/testsuite/ld-elf/binutils.exp
  5. 20
      ld/testsuite/ld-elf/compress.exp
  6. 6
      ld/testsuite/ld-elf/dwarf.exp
  7. 4
      ld/testsuite/ld-elf/exclude.exp
  8. 4
      ld/testsuite/ld-elf/frame.exp
  9. 2
      ld/testsuite/ld-elf/indirect.exp
  10. 4
      ld/testsuite/ld-elf/linux-x86.exp
  11. 2
      ld/testsuite/ld-elf/sec-to-seg.exp
  12. 10
      ld/testsuite/ld-elf/tls_common.exp
  13. 11
      ld/testsuite/ld-elfcomm/elfcomm.exp
  14. 16
      ld/testsuite/ld-elfvers/vers.exp
  15. 22
      ld/testsuite/ld-elfvsb/elfvsb.exp
  16. 6
      ld/testsuite/ld-elfweak/elfweak.exp
  17. 8
      ld/testsuite/ld-ifunc/binutils.exp
  18. 2
      ld/testsuite/ld-mips-elf/mips-elf-flags.exp
  19. 6
      ld/testsuite/ld-misc/defsym.exp
  20. 16
      ld/testsuite/ld-mn10300/mn10300.exp
  21. 2
      ld/testsuite/ld-plugin/lto.exp
  22. 12
      ld/testsuite/ld-plugin/plugin.exp
  23. 2
      ld/testsuite/ld-scripts/align.exp
  24. 2
      ld/testsuite/ld-scripts/assert.exp
  25. 10
      ld/testsuite/ld-scripts/crossref.exp
  26. 2
      ld/testsuite/ld-scripts/defined.exp
  27. 2
      ld/testsuite/ld-scripts/extern.exp
  28. 2
      ld/testsuite/ld-scripts/log2.exp
  29. 2
      ld/testsuite/ld-scripts/map-address.exp
  30. 6
      ld/testsuite/ld-scripts/phdrs.exp
  31. 7
      ld/testsuite/ld-scripts/phdrs2.exp
  32. 2
      ld/testsuite/ld-scripts/script.exp
  33. 2
      ld/testsuite/ld-scripts/section-flags.exp
  34. 2
      ld/testsuite/ld-scripts/sizeof.exp
  35. 8
      ld/testsuite/ld-scripts/weak.exp
  36. 2
      ld/testsuite/ld-selective/selective.exp
  37. 20
      ld/testsuite/ld-sh/sh.exp
  38. 16
      ld/testsuite/ld-shared/shared.exp
  39. 8
      ld/testsuite/ld-srec/srec.exp
  40. 4
      ld/testsuite/ld-tic6x/tic6x.exp
  41. 92
      ld/testsuite/ld-undefined/undefined.exp
  42. 8
      ld/testsuite/ld-undefined/weak-undef.exp
  43. 15
      ld/testsuite/lib/ld-lib.exp

46
ld/ChangeLog

@ -1,3 +1,49 @@
2021-02-14 Alan Modra <amodra@gmail.com>
* testsuite/ld-cdtest/cdtest.exp,
* testsuite/ld-checks/checks.exp,
* testsuite/ld-elf/binutils.exp,
* testsuite/ld-elf/compress.exp,
* testsuite/ld-elf/dwarf.exp,
* testsuite/ld-elf/exclude.exp,
* testsuite/ld-elf/frame.exp,
* testsuite/ld-elf/indirect.exp,
* testsuite/ld-elf/linux-x86.exp,
* testsuite/ld-elf/sec-to-seg.exp,
* testsuite/ld-elf/tls_common.exp,
* testsuite/ld-elfcomm/elfcomm.exp,
* testsuite/ld-elfvers/vers.exp,
* testsuite/ld-elfvsb/elfvsb.exp,
* testsuite/ld-elfweak/elfweak.exp,
* testsuite/ld-ifunc/binutils.exp,
* testsuite/ld-mips-elf/mips-elf-flags.exp,
* testsuite/ld-misc/defsym.exp,
* testsuite/ld-mn10300/mn10300.exp,
* testsuite/ld-plugin/lto.exp,
* testsuite/ld-plugin/plugin.exp,
* testsuite/ld-scripts/align.exp,
* testsuite/ld-scripts/assert.exp,
* testsuite/ld-scripts/crossref.exp,
* testsuite/ld-scripts/defined.exp,
* testsuite/ld-scripts/extern.exp,
* testsuite/ld-scripts/log2.exp,
* testsuite/ld-scripts/map-address.exp,
* testsuite/ld-scripts/phdrs.exp,
* testsuite/ld-scripts/phdrs2.exp,
* testsuite/ld-scripts/script.exp,
* testsuite/ld-scripts/section-flags.exp,
* testsuite/ld-scripts/sizeof.exp,
* testsuite/ld-scripts/weak.exp,
* testsuite/ld-selective/selective.exp,
* testsuite/ld-sh/sh.exp,
* testsuite/ld-shared/shared.exp,
* testsuite/ld-srec/srec.exp,
* testsuite/ld-tic6x/tic6x.exp,
* testsuite/ld-undefined/undefined.exp,
* testsuite/ld-undefined/weak-undef.exp,
* testsuite/lib/ld-lib.exp: Don't use unresolved except after
perror. Instead report "unsupported" or "fail".
2021-02-12 Nick Clifton <nickc@redhat.com>
* testsuite/ld-elf/sec64k.exp: Stop readelf from automatically

4
ld/testsuite/ld-cdtest/cdtest.exp

@ -41,8 +41,8 @@ if { [which $CXX] == 0 } {
if { ![ld_compile "$CXX $CXXFLAGS -fno-exceptions" $srcdir/$subdir/cdtest-foo.cc tmpdir/cdtest-foo.o]
|| ![ld_compile "$CXX $CXXFLAGS -fno-exceptions" $srcdir/$subdir/cdtest-bar.cc tmpdir/cdtest-bar.o]
|| ![ld_compile "$CXX $CXXFLAGS -fno-exceptions" $srcdir/$subdir/cdtest-main.cc tmpdir/cdtest-main.o] } {
unresolved $test1
unresolved $test2
unsupported $test1
unsupported $test2
return
}

2
ld/testsuite/ld-checks/checks.exp

@ -36,7 +36,7 @@ proc section_check {} {
set ldflags "$LDFLAGS --check-sections -e foo"
if { ![ld_assemble $as $srcdir/$subdir/asm.s tmpdir/asm.o]} {
unresolved $test
unsupported $test
return
}

10
ld/testsuite/ld-elf/binutils.exp

@ -53,17 +53,17 @@ proc binutils_test { prog_name ld_options test {test_name ""} {readelf_options "
}
if { ![ld_assemble $as $srcdir/$subdir/$test.s tmpdir/$test.o ] } {
unresolved "$test_name"
unsupported "$test_name"
return
}
if { ![ld_link $ld tmpdir/$test "$ld_options -z stack-size=0 tmpdir/$test.o"] } {
if { [string match "*not supported*" $link_output]
|| [string match "*unrecognized option*" $link_output]
|| [string match "*-z relro ignored*" $link_output] } {
|| [string match "*-z * ignored*" $link_output] } {
unsupported "$ld_options is not supported by this target"
} else {
unresolved "$test_name"
fail "$test_name"
}
return
}
@ -72,7 +72,7 @@ proc binutils_test { prog_name ld_options test {test_name ""} {readelf_options "
set got [remote_exec host "$READELF $readelf_options --wide tmpdir/$test" "" "/dev/null" "tmpdir/$test.exp"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
return
}
@ -134,7 +134,7 @@ proc binutils_test { prog_name ld_options test {test_name ""} {readelf_options "
set got [remote_exec host "$READELF $readelf_options --wide tmpdir/$test" "" "/dev/null" "tmpdir/$test.out"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
return
}

20
ld/testsuite/ld-elf/compress.exp

@ -129,7 +129,7 @@ send_log "$READELF -S -W tmpdir/$test.o > tmpdir/$test.out\n"
set got [remote_exec host "$READELF -S -W tmpdir/$test.o" "" "/dev/null" "tmpdir/$test.out"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
}
if { [regexp_diff tmpdir/$test.out $srcdir/$subdir/$test.rS] } then {
fail "$test_name"
@ -143,7 +143,7 @@ send_log "$READELF -S -W tmpdir/$test.o > tmpdir/$test.out\n"
set got [remote_exec host "$READELF -S -W tmpdir/$test.o" "" "/dev/null" "tmpdir/$test.out"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
}
if { [regexp_diff tmpdir/$test.out $srcdir/$subdir/$test.rS] } then {
fail "$test_name"
@ -157,7 +157,7 @@ send_log "$READELF -t -W tmpdir/$test.o > tmpdir/$test.out\n"
set got [remote_exec host "$READELF -t -W tmpdir/$test.o" "" "/dev/null" "tmpdir/$test.out"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
}
if { [regexp_diff tmpdir/$test.out $srcdir/$subdir/$test.rt] } then {
fail "$test_name"
@ -171,7 +171,7 @@ send_log "$READELF -w tmpdir/$test > tmpdir/$test.out\n"
set got [remote_exec host [concat sh -c [list "$READELF -w tmpdir/$test > tmpdir/$test.out"]] "" "/dev/null"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
}
set test_name "Link with zlib compressed debug output 2"
@ -180,7 +180,7 @@ send_log "$READELF -w tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$te
set got [remote_exec host [concat sh -c [list "$READELF -w tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$test.out"]] "" "/dev/null"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
}
if { [catch {exec cmp tmpdir/normal.out tmpdir/$test.out}] } then {
send_log "tmpdir/normal.out tmpdir/$test.out differ.\n"
@ -193,7 +193,7 @@ send_log "$READELF -S -W tmpdir/$test' > tmpdir/$test.out\n"
set got [remote_exec host "$READELF -S -W tmpdir/$test" "" "/dev/null" "tmpdir/$test.out"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
}
if { [regexp_diff tmpdir/$test.out $srcdir/$subdir/$test.rS] } then {
fail "$test_name"
@ -207,7 +207,7 @@ send_log "$READELF -w tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$te
set got [remote_exec host [concat sh -c [list "$READELF -w tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$test.out"]] "" "/dev/null"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
}
if { [catch {exec cmp tmpdir/normal.out tmpdir/$test.out}] } then {
send_log "tmpdir/normal.out tmpdir/$test.out differ.\n"
@ -220,7 +220,7 @@ send_log "$READELF -S -W tmpdir/$test' > tmpdir/$test.out\n"
set got [remote_exec host "$READELF -S -W tmpdir/$test" "" "/dev/null" "tmpdir/$test.out"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
}
if { [regexp_diff tmpdir/$test.out $srcdir/$subdir/$test.rS] } then {
fail "$test_name"
@ -234,7 +234,7 @@ send_log "$READELF -w tmpdir/$test > tmpdir/$test.out\n"
set got [remote_exec host [concat sh -c [list "$READELF -w tmpdir/$test > tmpdir/$test.out"]] "" "/dev/null"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
}
if { [catch {exec cmp tmpdir/normal.out tmpdir/$test.out}] } then {
send_log "tmpdir/normal.out tmpdir/$test.out differ.\n"
@ -247,7 +247,7 @@ send_log "$READELF -t -W tmpdir/$test > tmpdir/$test.out\n"
set got [remote_exec host "$READELF -t -W tmpdir/$test" "" "/dev/null" "tmpdir/$test.out"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
}
if { [regexp_diff tmpdir/$test.out $srcdir/$subdir/$test.rt] } then {
fail "$test_name"

6
ld/testsuite/ld-elf/dwarf.exp

@ -85,7 +85,7 @@ proc strip_test {} {
set prog $strip
if ![ld_link $ld tmpdir/$test "-shared tmpdir/dwarf1.o"] {
unresolved "$test_name"
fail "$test_name"
return
}
@ -93,7 +93,7 @@ proc strip_test {} {
catch "exec $NM -D tmpdir/$test > tmpdir/$test.exp" got
if ![string match "" $got] then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
return
}
@ -109,7 +109,7 @@ proc strip_test {} {
catch "exec $NM -D tmpdir/$test > tmpdir/$test.out" got
if ![string match "" $got] then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
return
}

4
ld/testsuite/ld-elf/exclude.exp

@ -51,14 +51,14 @@ set test9 "ld don't exclude symbols from archive - --exclude-libs foo:bar"
if { ![ld_assemble_flags $as $as_opt $srcdir/$subdir/exclude1.s tmpdir/exclude1.o ]
|| ![ld_assemble_flags $as $as_opt $srcdir/$subdir/exclude2.s tmpdir/exclude2.o] } {
unresolved $test1
unsupported $test1
return
}
remote_file host delete "tmpdir/libexclude.a"
set catch_output [run_host_cmd "$ar" "cq tmpdir/libexclude.a tmpdir/exclude2.o"]
if {![string match "" $catch_output]} {
unresolved $test1
fail $test1
return
}

4
ld/testsuite/ld-elf/frame.exp

@ -57,7 +57,7 @@ set test2 "read-only .gcc_except_table section"
if { ![ld_assemble_flags $as $as_opt $srcdir/$subdir/tbss.s tmpdir/tbss.o ]
|| ![ld_assemble_flags $as $as_opt $srcdir/$subdir/frame.s tmpdir/frame.o] } {
unresolved "$test1"
unsupported "$test1"
return
}
@ -74,7 +74,7 @@ if { [ld_link $ld tmpdir/frame.so "-z separate-code --shared tmpdir/frame.o tmpd
}
if ![ld_assemble_flags $as $as_opt $srcdir/$subdir/table.s tmpdir/table.o ] {
unresolved "$test2"
unsupported "$test2"
return
}

2
ld/testsuite/ld-elf/indirect.exp

@ -80,7 +80,7 @@ if { ![ld_compile $cc_cmd $srcdir/$subdir/indirect1a.c tmpdir/indirect1a.o]
|| ![ld_compile "$cc_cmd -fPIC" $srcdir/$subdir/pr19553c.c tmpdir/pr19553c.o]
|| ![ld_compile "$cc_cmd -fPIC" $srcdir/$subdir/pr19553b.c tmpdir/pr19553b.o]
|| ![ld_compile $cc_cmd $srcdir/$subdir/pr19553a.c tmpdir/pr19553a.o] } {
unresolved "Indirect symbol tests"
unsupported "Indirect symbol tests"
return
}

4
ld/testsuite/ld-elf/linux-x86.exp

@ -84,13 +84,13 @@ proc elfedit_test { options test output } {
set got [remote_exec host "$ELFEDIT $options tmpdir/$test" "" "/dev/null"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
}
send_log "$READELF -n $options tmpdir/$test > tmpdir/$output.out\n"
set got [remote_exec host "$READELF -n tmpdir/$test" "" "/dev/null" "tmpdir/$output.out"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
}
if { [regexp_diff tmpdir/$output.out $srcdir/$subdir/$output.rd] } then {
fail "$test_name"

2
ld/testsuite/ld-elf/sec-to-seg.exp

@ -29,7 +29,7 @@ if {! [is_elf_format] } {
if { ! [ld_assemble $as $srcdir/$subdir/sec-to-seg1.s tmpdir/sec-to-seg1.o]
|| ! [ld_assemble $as $srcdir/$subdir/sec-to-seg2.s tmpdir/sec-to-seg2.o]} then {
unresolved $testname
unsupported $testname
return
}

10
ld/testsuite/ld-elf/tls_common.exp

@ -32,7 +32,7 @@ if { !([istarget *-*-linux*]
if { ![ld_assemble $as "--elf-stt-common=no $srcdir/$subdir/tls_common.s" tmpdir/tls_commona.o]
|| ![ld_assemble $as "--elf-stt-common=yes $srcdir/$subdir/tls_common.s" tmpdir/tls_commonb.o] } {
unresolved "tls_common"
unsupported "tls_common"
return
}
@ -46,10 +46,8 @@ if { ![ld_link $ld tmpdir/tls_commona "tmpdir/tls_common1a.o"] } {
if { [string match "*not supported*" $link_output]
|| [string match "*unrecognized option*" $link_output] } {
unsupported "$ld_options is not supported by this target"
} elseif { [string match "*warning*alignment*of common symbol*" $link_output] } {
fail "tls_common"
} else {
unresolved "tls_common"
fail "tls_common"
}
return
}
@ -58,10 +56,8 @@ if { ![ld_link $ld tmpdir/tls_commonb "tmpdir/tls_common1b.o"] } {
if { [string match "*not supported*" $link_output]
|| [string match "*unrecognized option*" $link_output] } {
unsupported "$ld_options is not supported by this target"
} elseif { [string match "*warning*alignment*of common symbol*" $link_output] } {
fail "tls_common"
} else {
unresolved "tls_common"
fail "tls_common"
}
return
}

11
ld/testsuite/ld-elfcomm/elfcomm.exp

@ -54,7 +54,7 @@ proc test_sort_common {} {
}
if { ![ld_assemble $as $srcdir/$subdir/sort-common.s tmpdir/sort-common.o] } {
unresolved "$test"
unsupported "$test"
return 0
}
@ -147,7 +147,7 @@ proc stt_common_test { options testname } {
set options "$options tmpdir/common1c.o"
if { ! [ld_link $ld tmpdir/common.exe $options] } {
unresolved $testname
fail $testname
return 0
}
@ -172,15 +172,14 @@ if [istarget nios2*-*-*] {
if { ![ld_compile "$CC $CFLAGS -fcommon $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" $srcdir/$subdir/common1a.c tmpdir/common1a.o]
|| ![ld_compile "$CC $CFLAGS -fcommon $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" $srcdir/$subdir/common1b.c tmpdir/common1b.o]
|| ![ld_compile "$CC $CFLAGS $NOSANITIZE_CFLAGS $NOLTO_CFLAGS -Wa,--elf-stt-common=yes -fcommon" $srcdir/$subdir/common1b.c tmpdir/common1c.o] } {
unresolved $test1
unresolved $test1
unsupported $test1
return
}
set options "-r tmpdir/common1a.o tmpdir/common1b.o"
if { [ld_link $ld tmpdir/common1.o $options] } {
unresolved $test1w1
fail $test1w1
return
}
@ -208,7 +207,7 @@ if { [dump_common1 $test1c1] } {
set options "-r tmpdir/common1b.o tmpdir/common1a.o"
if { [ld_link $ld tmpdir/common1.o $options] } {
unresolved $test1w2
fail $test1w2
return
}

16
ld/testsuite/ld-elfvers/vers.exp

@ -105,7 +105,7 @@ proc test_ar { test lib object expect } {
set exec_output [prune_warnings $exec_output]
if ![string match "" $exec_output] {
verbose -log "$exec_output"
unresolved "$test"
fail "$test"
return
}
@ -493,12 +493,12 @@ proc build_binary { shared pic test source libname other mapfile verexp versymex
global NOLTO_CFLAGS
if ![ld_compile "$CC -S $pic $CFLAGS $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" $srcdir/$subdir/$source $tmpdir/$libname.s] {
unresolved "$test"
unsupported "$test"
return
}
if ![ld_assemble $as "$as_options $tmpdir/$libname.s" $tmpdir/$libname.o ] {
unresolved "$test"
unsupported "$test"
return
}
@ -589,12 +589,12 @@ proc test_ldfail { test flag source execname other mapfile whyfail } {
}
if ![ld_compile "$CC -S $flag $CFLAGS" $srcdir/$subdir/$source $tmpdir/$execname.s] {
unresolved "$test"
unsupported "$test"
return
}
if ![ld_assemble $as "$as_options $tmpdir/$execname.s" $tmpdir/$execname.o ] {
unresolved "$test"
unsupported "$test"
return
}
@ -623,7 +623,7 @@ proc test_asfail { test flag source execname whyfail } {
global NOLTO_CFLAGS
if ![ld_compile "$CC -S $flag $CFLAGS $NOLTO_CFLAGS" $srcdir/$subdir/$source $tmpdir/$execname.s] {
unresolved "$test"
unsupported "$test"
return
}
@ -706,12 +706,12 @@ proc build_exec { test source execname flags solibname verexp versymexp symexp }
append cc_cmd " $NOSANITIZE_CFLAGS $NOLTO_CFLAGS"
if ![ld_compile $cc_cmd $srcdir/$subdir/$source $tmpdir/$execname.s] {
unresolved "$test"
unsupported "$test"
return
}
if ![ld_assemble $as "$as_options $tmpdir/$execname.s" $tmpdir/$execname.o ] {
unresolved "$test"
unsupported "$test"
return
}

22
ld/testsuite/ld-elfvsb/elfvsb.exp

@ -238,8 +238,8 @@ proc visibility_run {visibility} {
# Compile the main program. Make sure that PLT is used since PLT
# is expected.
if ![ld_compile "$CC -g $PLT_CFLAGS $CFLAGS $SHCFLAG $VSBCFLAG $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" $srcdir/$subdir/main.c $tmpdir/mainnp.o] {
unresolved "visibility ($visibility) (non PIC)"
unresolved "visibility ($visibility)"
unsupported "visibility ($visibility) (non PIC)"
unsupported "visibility ($visibility)"
} else {
# The shared library is composed of two files. First compile them
# without using -fpic. That should work on an ELF system,
@ -249,7 +249,7 @@ proc visibility_run {visibility} {
# results. Make sure that PLT is used since PLT is expected.
if { ![ld_compile "$CC -g $NOPIE_CFLAGS $PLT_CFLAGS $CFLAGS $SHCFLAG $VSBCFLAG $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" $srcdir/$subdir/sh1.c $tmpdir/sh1np.o]
|| ![ld_compile "$CC -g $NOPIE_CFLAGS $PLT_CFLAGS $CFLAGS $SHCFLAG $VSBCFLAG $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" $srcdir/$subdir/sh2.c $tmpdir/sh2np.o] } {
unresolved "visibility ($visibility) (non PIC)"
unsupported "visibility ($visibility) (non PIC)"
} else {
# SunOS non PIC shared libraries don't permit some cases of
# overriding.
@ -338,7 +338,7 @@ proc visibility_run {visibility} {
if { ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG $NOSANITIZE_CFLAGS $NOLTO_CFLAGS -DSHARED $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o]
|| ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG $NOSANITIZE_CFLAGS $NOLTO_CFLAGS -DSHARED $picflag" $srcdir/$subdir/sh2.c $tmpdir/sh2p.o] } {
unresolved "visibility ($visibility)"
unsupported "visibility ($visibility)"
} else {
if { [ string match $visibility "protected" ]
|| [ string match $visibility "protected_undef_def" ] } {
@ -355,8 +355,8 @@ proc visibility_run {visibility} {
} else {
# Now do the same tests again, but this time compile main.c PIC.
if ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG $NOSANITIZE_CFLAGS $NOLTO_CFLAGS -DSHARED $picflag" $srcdir/$subdir/main.c $tmpdir/mainp.o] {
unresolved "visibility ($visibility) (PIC main, non PIC so)"
unresolved "visibility ($visibility) (PIC main)"
unsupported "visibility ($visibility) (PIC main, non PIC so)"
unsupported "visibility ($visibility) (PIC main)"
} else {
if { [ remote_file host exists $tmpdir/sh1np.o ]
&& [ remote_file host exists $tmpdir/sh2np.o ] } {
@ -395,7 +395,7 @@ proc visibility_run {visibility} {
visibility_test $visibility vmpnp "visibility ($visibility) (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o elfvsb
} else {
unresolved "visibility (PIC main, non PIC so)"
unsupported "visibility (PIC main, non PIC so)"
}
if { [ remote_file host exists $tmpdir/sh1p.o ]
@ -408,7 +408,7 @@ proc visibility_run {visibility} {
}
visibility_test $visibility vmpp "visibility ($visibility) (PIC main)" mainp.o sh1p.o sh2p.o elfvsb
} else {
unresolved "visibility ($visibility) (PIC main)"
unsupported "visibility ($visibility) (PIC main)"
}
}}
}
@ -447,7 +447,7 @@ visibility_run protected_weak
visibility_run normal
if { ![ld_compile "$CC -g $CFLAGS $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" $srcdir/$subdir/common.c tmpdir/common.o] } {
unresolved "common hidden symbol"
unsupported "common hidden symbol"
} else {
if ![ld_link $ld tmpdir/common "tmpdir/common.o"] {
fail "common hidden symbol"
@ -457,10 +457,10 @@ if { ![ld_compile "$CC -g $CFLAGS $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" $srcdir/$sub
}
if { ![ld_compile "$CC -g $CFLAGS $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" $srcdir/$subdir/test.c tmpdir/test.o] } {
unresolved "weak hidden symbol"
unsupported "weak hidden symbol"
} else {
if { ![ld_compile "$CC -g $CFLAGS $NOSANITIZE_CFLAGS $NOLTO_CFLAGS -DSHARED $picflag" $srcdir/$subdir/sh3.c tmpdir/sh3.o] } {
unresolved "weak hidden symbol"
unsupported "weak hidden symbol"
} else {
if ![ld_link $ld tmpdir/sh3.so "-shared tmpdir/sh3.o"] {
fail "weak hidden symbol"

6
ld/testsuite/ld-elfweak/elfweak.exp

@ -394,7 +394,7 @@ if {![ld_compile "$cc_cmd $CFLAGS $picflag" $srcdir/$subdir/foo.c $tmpdir/foo.o]
|| ![ld_compile "$cc_cmd $CFLAGS $picflag" $srcdir/$subdir/bar1b.c $tmpdir/bar1b.o]
|| ![ld_compile "$cc_cmd $CFLAGS $picflag" $srcdir/$subdir/bar1c.c $tmpdir/bar1c.o]
|| ![ld_compile "$cc_cmd $CFLAGS $picflag" $srcdir/$subdir/main1.c $tmpdir/main1.o]} then {
unresolved "ELF weak"
unsupported "ELF weak"
} elseif {![ld_link $cc_cmd $tmpdir/libfoo1a.so "$shared $tmpdir/foo1a.o"]
|| ![ld_link $cc_cmd $tmpdir/libfoo1b.so "$shared $tmpdir/foo1b.o"]
|| ![ld_link $cc_cmd $tmpdir/libbar1a.so "$shared $tmpdir/bar1a.o $tmpdir/libfoo1a.so"]} then {
@ -428,7 +428,7 @@ if {![ld_compile "$cc_cmd $CFLAGS $picflag" $srcdir/$subdir/size_foo.c $tmpdir/s
|| ![ld_compile "$cc_cmd $CFLAGS $picflag" $srcdir/$subdir/size_bar.c $tmpdir/size_bar_s.o]
|| ![ld_compile "$cc_cmd $CFLAGS $picflag -DSIZE_BIG" $srcdir/$subdir/size_bar.c $tmpdir/size_bar.o]
|| ![ld_compile "$cc_cmd $CFLAGS" $srcdir/$subdir/size_main.c $tmpdir/size_main.o]} then {
unresolved "ELF weak (size)"
unsupported "ELF weak (size)"
} else {
build_lib "ELF DSO small bar (size)" libsize_bar_s "size_bar_s.o" ""
build_lib "ELF DSO foo with small bar (size)" libsize_foo "size_foo.o libsize_bar_s.so" ""
@ -444,7 +444,7 @@ if {![ld_compile "$cc_cmd $CFLAGS $picflag" $srcdir/$subdir/alias.c $tmpdir/alia
|| ![ld_compile "$cc_cmd $CFLAGS" $srcdir/$subdir/aliasmain.c $tmpdir/aliasmain.o]
|| ![ld_compile "$cc_cmd $CFLAGS" $srcdir/$subdir/weakref1.c $tmpdir/weakref1.o]
|| ![ld_compile "$cc_cmd $CFLAGS" $srcdir/$subdir/weakref2.c $tmpdir/weakref2.o]} then {
unresolved "ELF weak (alias)"
unsupported "ELF weak (alias)"
} else {
build_exec "ELF weak (alias)" alias "aliasmain.o weakref1.o weakref2.o alias.so" "-Wl,-rpath=.,--no-as-needed" alias "" ""
}

8
ld/testsuite/ld-ifunc/binutils.exp

@ -46,7 +46,7 @@ proc binutils_test { prog_name ld_options test } {
set test_name "$prog_name $ld_options ($test)"
if { ![ld_assemble $as $srcdir/$subdir/$test.s tmpdir/$test.o ] } {
unresolved "$test_name"
unsupported "$test_name"
return
}
@ -55,7 +55,7 @@ proc binutils_test { prog_name ld_options test } {
|| [string match "*unrecognized option*" $link_output] } {
unsupported "$ld_options is not supported by this target"
} else {
unresolved "$test_name"
fail "$test_name"
}
return
}
@ -64,7 +64,7 @@ proc binutils_test { prog_name ld_options test } {
set got [remote_exec host "$READELF -l --wide tmpdir/$test" "" "/dev/null" "tmpdir/$test.exp"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
return
}
@ -80,7 +80,7 @@ proc binutils_test { prog_name ld_options test } {
set got [remote_exec host "$READELF -l --wide tmpdir/$test" "" "/dev/null" "tmpdir/$test.out"]
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
return
}

2
ld/testsuite/ld-mips-elf/mips-elf-flags.exp

@ -115,7 +115,7 @@ proc good_combination {arglist flags args} {
set cmdret [lindex $cmdret 0]
if {$cmdret != 0 \
|| ![regexp "Flags: *(\[^\n\r\]*)" $output full gotflags]} {
unresolved $testname
fail $testname
} else {
set failed 0

6
ld/testsuite/ld-misc/defsym.exp

@ -20,17 +20,17 @@
#
if ![ld_assemble $as $srcdir/$subdir/start.s tmpdir/start.o] {
unresolved "Build start.o"
unsupported "Build start.o"
return
}
if ![ld_assemble $as $srcdir/$subdir/foo.s tmpdir/foo.o] {
unresolved "Build foo.o"
unsupported "Build foo.o"
return
}
if { ![ar_simple_create $ar "" tmpdir/libfoo.a tmpdir/foo.o] } {
unresolved "Build libfoo.a"
fail "Build libfoo.a"
return
}

16
ld/testsuite/ld-mn10300/mn10300.exp

@ -139,23 +139,23 @@ proc i126256-test { } {
}
if { ![ld_compile "$CC -mrelax -fPIC" $srcdir/$subdir/i126256-1.c $tmpdir/i126256-1.o] } {
unresolved $testname
return
unsupported $testname
return
}
if { ![ld_compile "$CC -mrelax -fPIC" $srcdir/$subdir/i126256-2.c $tmpdir/i126256-2.o] } {
unresolved $testname
return
unsupported $testname
return
}
if { ![ld_link $ld $tmpdir/i126256-1.so "-shared $tmpdir/i126256-1.o -e 0"]} {
unresolved $testname
return
fail $testname
return
}
if { ![ld_link $ld $tmpdir/i126256-2.so "--relax -shared $tmpdir/i126256-2.o $tmpdir/i126256-1.so -e 0"]} {
fail $testname
return
fail $testname
return
}
pass $testname

2
ld/testsuite/ld-plugin/lto.exp

@ -679,7 +679,7 @@ set testname "Build liblto-11.a"
remote_file host delete "tmpdir/liblto-11.a"
set catch_output [run_host_cmd "$ar" "rc $plug_opt tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"]
if {![string match "" $catch_output]} {
unresolved $testname
fail $testname
restore_notify
return
}

12
ld/testsuite/ld-plugin/plugin.exp

@ -25,11 +25,9 @@ if ![check_plugin_api_available] {
# And a compiler to be available.
set can_compile 1
set failure_kind "unresolved"
if { ![check_compiler_available] } {
# Don't fail immediately,
set can_compile 0
set failure_kind "unsupported"
}
pass "plugin API enabled"
@ -286,11 +284,11 @@ set plugin_extra_elf_tests [list \
if { !$can_compile || $failed_compile } {
foreach testitem $plugin_tests {
$failure_kind [lindex $testitem 0]
unsupported [lindex $testitem 0]
}
if { [is_elf_format] } {
foreach testitem $plugin_extra_elf_tests {
$failure_kind [lindex $testitem 0]
unsupported [lindex $testitem 0]
}
}
set CFLAGS "$old_CFLAGS"
@ -309,7 +307,7 @@ if { [is_elf_format] \
if {![ar_simple_create $ar "" "tmpdir/libtext.a" "tmpdir/text.o"] || \
![ar_simple_create $ar "" "tmpdir/libempty.a" ""]} {
foreach testitem $plugin_lib_tests {
unresolved [lindex $testitem 0]
unsupported [lindex $testitem 0]
}
} else {
run_ld_link_tests $plugin_lib_tests
@ -373,7 +371,7 @@ if [ar_simple_create $ar "--plugin $plugin2_path" "tmpdir/libfunc.a" \
}
} else {
foreach testitem $plugin_src_tests {
unresolved [lindex $testitem 0]
unsupported [lindex $testitem 0]
}
}
@ -393,7 +391,7 @@ if [ar_simple_create $ar "--plugin $plugin4_path" "tmpdir/libpr20070.a" \
] \
]
} else {
unresolved "PR ld/20070"
unsupported "PR ld/20070"
}
set CFLAGS "$old_CFLAGS"

2
ld/testsuite/ld-scripts/align.exp

@ -22,7 +22,7 @@
set testname "align1"
if ![ld_assemble $as $srcdir/$subdir/align.s tmpdir/align.o] {
unresolved $testname
unsupported $testname
return
}

2
ld/testsuite/ld-scripts/assert.exp

@ -22,7 +22,7 @@
set testname "ASSERT"
if ![ld_assemble $as $srcdir/$subdir/assert.s tmpdir/assert.o] {
unresolved $testname
unsupported $testname
return
}

10
ld/testsuite/ld-scripts/crossref.exp

@ -65,8 +65,8 @@ if [istarget tic6x*-*-*] {
if { ![ld_compile "$CC $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" "$srcdir/$subdir/cross1.c" tmpdir/cross1.o] \
|| ![ld_compile "$CC $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" "$srcdir/$subdir/cross2.c" tmpdir/cross2.o] } {
unresolved $test1
unresolved $test2
unsupported $test1
unsupported $test2
set CFLAGS "$old_CFLAGS"
set CC "$old_CC"
return
@ -99,7 +99,7 @@ if [string match "" $exec_output] then {
# Check cross references within a single object.
if { ![ld_compile "$CC $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" "$srcdir/$subdir/cross3.c" tmpdir/cross3.o] } {
unresolved $test2
unsupported $test2
set CFLAGS "$old_CFLAGS"
set CC "$old_CC"
return
@ -124,14 +124,14 @@ if [string match "" $exec_output] then {
# Check cross references for ld -r
if { ![ld_compile "$CC $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" "$srcdir/$subdir/cross4.c" tmpdir/cross4.o] } {
unresolved $test3
unsupported $test3
set CFLAGS "$old_CFLAGS"
set CC "$old_CC"
return
}
if ![ld_relocate $ld tmpdir/cross3-partial.o "tmpdir/cross1.o tmpdir/cross4.o"] {
unresolved $test3
fail $test3
set CFLAGS "$old_CFLAGS"
set CC "$old_CC"
return

2
ld/testsuite/ld-scripts/defined.exp

@ -23,7 +23,7 @@ set testname "DEFINED"
set prms_id 5699
if ![ld_assemble $as $srcdir/$subdir/defined.s tmpdir/def.o] {
unresolved $testname
unsupported $testname
return
}

2
ld/testsuite/ld-scripts/extern.exp

@ -22,7 +22,7 @@
set testname "EXTERN"
if ![ld_assemble $as $srcdir/$subdir/extern.s tmpdir/extern.o] {
unresolved $testname
unsupported $testname
return
}

2
ld/testsuite/ld-scripts/log2.exp

@ -22,7 +22,7 @@
set testname "binary logarithm"
if {![ld_assemble $as $srcdir/$subdir/log2.s tmpdir/log2.o]} {
unresolved $testname
unsupported $testname
return
}

2
ld/testsuite/ld-scripts/map-address.exp

@ -22,7 +22,7 @@ set testname "map addresses"
# The source file doesn't matter. Pinch one from the sizeof test.
if {![ld_assemble $as $srcdir/$subdir/sizeof.s tmpdir/map-address.o]} {
unresolved $testname
unsupported $testname
return
}

6
ld/testsuite/ld-scripts/phdrs.exp

@ -34,7 +34,7 @@ if { [istarget spu*-*-*] } {
}
if ![ld_assemble $as $srcdir/$subdir/phdrs.s tmpdir/phdrs.o] {
unresolved $testname
unsupported $testname
return
}
@ -51,10 +51,6 @@ set ldopt "$ldopt -T $srcdir/$subdir/phdrs.t tmpdir/phdrs.o"
if ![ld_link $ld tmpdir/phdrs $ldopt] {
fail $testname
} else {
if {![is_remote host] && [which $objdump] == 0} {
unresolved $testname
return
}
set exec_output [run_host_cmd "$objdump" "--private-headers tmpdir/phdrs"]
set exec_output [prune_warnings $exec_output]
verbose -log $exec_output

7
ld/testsuite/ld-scripts/phdrs2.exp

@ -43,7 +43,7 @@ if { [istarget spu*-*-*] } {
}
if ![ld_assemble $as $srcdir/$subdir/phdrs2.s tmpdir/phdrs2.o] {
unresolved $testname
unsupported $testname
return
}
@ -54,11 +54,6 @@ set ldopt "$ldopt -T $srcdir/$subdir/phdrs2.t tmpdir/phdrs2.o"
if ![ld_link $ld tmpdir/phdrs2 $ldopt] {
fail $testname
} else {
if {![is_remote host] && [which $objdump] == 0} {
unresolved $testname
return
}
set exec_output [run_host_cmd "$objdump" "--private-headers tmpdir/phdrs2"]
set exec_output [prune_warnings $exec_output]
verbose -log $exec_output

2
ld/testsuite/ld-scripts/script.exp

@ -22,7 +22,7 @@
set testname "script"
if ![ld_assemble $as $srcdir/$subdir/script.s tmpdir/script.o] {
unresolved $testname
unsupported $testname
return
}

2
ld/testsuite/ld-scripts/section-flags.exp

@ -31,7 +31,7 @@ if { [istarget spu*-*-*] } {
foreach test {"section-flags-1" "section-flags-2"} {
if ![ld_assemble $as $srcdir/$subdir/$test.s tmpdir/$test.o] {
unresolved $test
unsupported $test
} else {
if ![ld_link $ldcmd tmpdir/$test \
"-T $srcdir/$subdir/$test.t tmpdir/$test.o"] {

2
ld/testsuite/ld-scripts/sizeof.exp

@ -23,7 +23,7 @@
set testname "SIZEOF"
if ![ld_assemble $as $srcdir/$subdir/sizeof.s tmpdir/sizeof.o] {
unresolved $testname
unsupported $testname
return
}

8
ld/testsuite/ld-scripts/weak.exp

@ -39,7 +39,7 @@ setup_xfail hppa64-*-*
if {! [ld_assemble $as $srcdir/$subdir/weak1.s tmpdir/weak1.o]
|| ! [ld_assemble $as $srcdir/$subdir/weak2.s tmpdir/weak2.o]} then {
# It's OK if .weak doesn't work on this target.
unresolved $testname
unsupported $testname
return
}
@ -57,12 +57,6 @@ set weak_regexp_little \
if {! [ld_link $ld tmpdir/weak "$flags -T $srcdir/$subdir/weak.t tmpdir/weak1.o tmpdir/weak2.o"] } then {
fail $testname
} else {
if {![is_remote host] && [which $objdump] == 0} then {
unresolved $testname
set LDFLAGS "$saved_LDFLAGS"
return
}
set exec_output [run_host_cmd "$objdump" "-s tmpdir/weak"]
set exec_output [prune_warnings $exec_output]
verbose -log $exec_output

2
ld/testsuite/ld-selective/selective.exp

@ -111,7 +111,7 @@ foreach testitem $seltests {
# tests. It might have been a buglet originally; now I think better
# leave as is.
if { ![ld_compile "$compiler $testflags" $srcdir/$subdir/$testfile $objfile] } {
unresolved $testname
unsupported $testname
continue
}

20
ld/testsuite/ld-sh/sh.exp

@ -31,7 +31,7 @@ if ![istarget sh*-*-*] {
set testsimple "SH simple relaxing"
if { ![is_elf_format] } {
unresolved $testsimple
unsupported $testsimple
} elseif { ![ld_assemble $as "-relax $srcdir/$subdir/sh1.s" tmpdir/sh1.o] } {
fail $testsimple
} elseif { ![ld_link $ld tmpdir/sh1 "-relax tmpdir/sh1.o"] } {
@ -56,7 +56,7 @@ if { ![is_elf_format] } {
set testsrec "SH relaxing to S-records"
if { ![remote_file host exists tmpdir/sh1] } {
unresolved $testsrec
unsupported $testsrec
} else {
if { [istarget sh*-linux-*] || [istarget sh-*-vxworks] } {
# On these "non-embedded" targets, the default ELF and srec start
@ -79,7 +79,7 @@ if { ![remote_file host exists tmpdir/sh1] } {
if ![string match "" $exec_output] {
send_log "$exec_output\n"
verbose "$exec_output"
unresolved $testsrec
fail $testsrec
} else {
send_log "$objcopy -O srec tmpdir/sh1 tmpdir/sh1.s1\n"
verbose "$objcopy -O srec tmpdir/sh1 tmpdir/sh1.s1"
@ -87,7 +87,7 @@ if { ![remote_file host exists tmpdir/sh1] } {
if ![string match "" $exec_output] {
send_log "$exec_output\n"
verbose "$exec_output"
unresolved $testsrec
fail $testsrec
} else {
send_log "cmp tmpdir/sh1.s1 tmpdir/sh1.s2\n"
verbose "cmp tmpdir/sh1.s1 tmpdir/sh1.s2"
@ -107,7 +107,7 @@ if { ![remote_file host exists tmpdir/sh1] } {
set testadjsw8 "SH switch8 adjustment after relax"
if { ![is_elf_format] } {
unresolved $testadjsw8
unsupported $testadjsw8
} elseif { ![ld_assemble $as "-relax $srcdir/$subdir/adjsw8.s" tmpdir/adjsw8.o] } {
fail $testadjsw8
} elseif { ![ld_link $ld tmpdir/adjsw8 "-relax tmpdir/adjsw8.o"] } {
@ -145,16 +145,16 @@ if [istarget sh*-*linux*] {
if {![ld_assemble $as "-relax tmpdir/start.s" tmpdir/start.o] \
|| ![ld_compile $CC "-O -mrelax -foptimize-sibling-calls $srcdir/$subdir/sh2.c" tmpdir/sh2.o]} {
unresolved $testlink
unresolved $testjsr
unresolved $testrun
unsupported $testlink
unsupported $testjsr
unsupported $testrun
return
}
if ![ld_link $ld tmpdir/sh2 "-relax tmpdir/start.o tmpdir/sh2.o"] {
fail $testlink
unresolved $testjsr
unresolved $testrun
unsupported $testjsr
unsupported $testrun
return
}

16
ld/testsuite/ld-shared/shared.exp

@ -213,8 +213,8 @@ verbose "Using $picflag to compile PIC code"
# Compile the main program.
if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o] {
unresolved "shared (non PIC)"
unresolved "shared"
unsupported "shared (non PIC)"
unsupported "shared"
} else {
# The shared library is composed of two files. First compile them
# without using -fpic. That should work on an ELF system,
@ -225,7 +225,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o]
global PLT_CFLAGS NOPIE_CFLAGS
if { ![ld_compile "$CC $PLT_CFLAGS $NOPIE_CFLAGS $CFLAGS $SHCFLAG" $srcdir/$subdir/sh1.c $tmpdir/sh1np.o]
|| ![ld_compile "$CC $PLT_CFLAGS $CFLAGS $SHCFLAG" $srcdir/$subdir/sh2.c $tmpdir/sh2np.o] } {
unresolved "shared (non PIC)"
unsupported "shared (non PIC)"
} else { if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
shared_test shnp "shared (nonPIC)" mainnp.o sh1np.o sh2np.o xcoff
} else {
@ -286,7 +286,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o]
if { ![ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o]
|| ![ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/sh2.c $tmpdir/sh2p.o] } {
unresolved "shared"
unsupported "shared"
} else {
if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
shared_test shp "shared" mainnp.o sh1p.o sh2p.o xcoff
@ -303,8 +303,8 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o]
# Now do the same tests again, but this time compile main.c PIC.
if ![ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdir/mainp.o] {
unresolved "shared (PIC main, non PIC so)"
unresolved "shared (PIC main)"
unsupported "shared (PIC main, non PIC so)"
unsupported "shared (PIC main)"
} else {
if { [file exists $tmpdir/sh1np.o ] && [ file exists $tmpdir/sh2np.o ] } {
if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
@ -333,7 +333,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdir/m
shared_test shmpnp "shared (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o shared
}
} else {
unresolved "shared (PIC main, non PIC so)"
unsupported "shared (PIC main, non PIC so)"
}
if { [file exists $tmpdir/sh1p.o ] && [ file exists $tmpdir/sh2p.o ] } {
@ -343,7 +343,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdir/m
shared_test shmpp "shared (PIC main)" mainp.o sh1p.o sh2p.o shared
}
} else {
unresolved "shared (PIC main)"
unsupported "shared (PIC main)"
}
}

8
ld/testsuite/ld-srec/srec.exp

@ -315,7 +315,7 @@ proc run_srec_test { test objs } {
if ![string match "" $exec_output] {
send_log "$exec_output\n"
verbose "$exec_output"
unresolved $test
fail $test
return
}
@ -367,8 +367,8 @@ if { [is_elf_format] \
if { ![ld_compile $CC $srcdir/$subdir/sr1.c tmpdir/sr1.o] \
|| ![ld_compile $CC $srcdir/$subdir/sr2.c tmpdir/sr2.o] } {
unresolved $test1
unresolved $test2
unsupported $test1
unsupported $test2
set CC "$old_CC"
set CXX "$old_CXX"
set CXXFLAGS "$old_CXXFLAGS"
@ -450,7 +450,7 @@ if { ![is_remote host] && [which $CXX] == 0 } {
}
if ![ld_compile "$CXX $CXXFLAGS -fno-exceptions" $srcdir/$subdir/sr3.cc tmpdir/sr3.o] {
unresolved $test2
unsupported $test2
set CC "$old_CC"
set CXX "$old_CXX"
set CXXFLAGS "$old_CXXFLAGS"

4
ld/testsuite/ld-tic6x/tic6x.exp

@ -175,7 +175,7 @@ proc check_osabi_tic6x { test_name binary_file } {
if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
send_log "$got\n"
unresolved "$test_name"
fail "$test_name"
remote_file build delete "dump.out"
return
}
@ -184,7 +184,7 @@ proc check_osabi_tic6x { test_name binary_file } {
if { ![regexp "\n\[ \]*OS/ABI:\[ \]*(.+)\n\[ \]*ABI" \
[file_contents dump.out] nil osabi] } {
verbose "proc check_osabi_tic6x: Readelf failed to extract an ELF header from $binary_file"
unresolved "$test_name"
fail "$test_name"
} elseif { $osabi == $expected_osabi } {
pass "$test_name"
} else {

92
ld/testsuite/ld-undefined/undefined.exp

@ -31,9 +31,9 @@ if { ![check_compiler_available] } {
untested $testline
} elseif { ![ld_compile "$CC -g $NOLTO_CFLAGS" $srcdir/$subdir/undefined.c tmpdir/undefined.o] } {
verbose "Unable to compile test file!" 1
unresolved $testund
unresolved $testfn
unresolved $testline
unsupported $testund
unsupported $testfn
unsupported $testline
} else {
remote_file host delete "tmpdir/undefined"
@ -177,58 +177,50 @@ if { ![is_elf_format] || ![check_shared_lib_support]} then {
setup_xfail tic6x-*-*
fail $testname
} else {
if {![is_remote host] && [which $nm] == 0} then {
unresolved "$testname (dyn sym)"
set exec_output [run_host_cmd "$nm" "-D tmpdir/fundef.so"]
set exec_output [prune_warnings $exec_output]
if { ($asflags == ""
|| ([regexp ".* undef_fun_typed.*" $exec_output]
&& [regexp ".* undef_fun_notype.*" $exec_output]))
&& [regexp ".* undef_data.*" $exec_output]
&& [regexp ".* undef_pfun.*" $exec_output]
&& [regexp ".* undef_notype.*" $exec_output]} then {
pass "$testname (dyn sym)"
} else {
set exec_output [run_host_cmd "$nm" "-D tmpdir/fundef.so"]
set exec_output [prune_warnings $exec_output]
if { ($asflags == ""
|| ([regexp ".* undef_fun_typed.*" $exec_output]
&& [regexp ".* undef_fun_notype.*" $exec_output]))
&& [regexp ".* undef_data.*" $exec_output]
&& [regexp ".* undef_pfun.*" $exec_output]
&& [regexp ".* undef_notype.*" $exec_output]} then {
pass "$testname (dyn sym)"
} else {
fail "$testname (dyn sym)"
}
fail "$testname (dyn sym)"
}
global READELF
if {![is_remote host] && [which $READELF] == 0} then {
unresolved "$testname (dyn reloc)"
} else {
set exec_output [run_host_cmd "$READELF" "-r tmpdir/fundef.so"]
set exec_output [prune_warnings $exec_output]
# We ought to get two .rel{a}.plt and three .rel{a}.dyn relocs,
# except for MIPS targets whose psABI mandates an extra
# R_MIPS_NONE relocation, also used to pad n64 relocation
# triplets, and S+core targets using an extra R_SCORE_NONE
# relocation, so adjust for that.
switch -glob $target_triplet {
"mips64*-*-openbsd*" {
set none_count 6
set reloc_count 4
}
"mips*" -
"score*" {
set none_count 1
set reloc_count 4
}
"*" {
set none_count 0
set reloc_count 3
}
set exec_output [run_host_cmd "$READELF" "-r tmpdir/fundef.so"]
set exec_output [prune_warnings $exec_output]
# We ought to get two .rel{a}.plt and three .rel{a}.dyn relocs,
# except for MIPS targets whose psABI mandates an extra
# R_MIPS_NONE relocation, also used to pad n64 relocation
# triplets, and S+core targets using an extra R_SCORE_NONE
# relocation, so adjust for that.
switch -glob $target_triplet {
"mips64*-*-openbsd*" {
set none_count 6
set reloc_count 4
}
if { ($asflags == "" || [regexp ".* contains 2 .*" $exec_output])
&& [regexp ".* contains $reloc_count .*" $exec_output]
&& [regexp -all "_NONE" $exec_output] == $none_count } then {
pass "$testname (dyn reloc)"
} else {
fail "$testname (dyn reloc)"
"mips*" -
"score*" {
set none_count 1
set reloc_count 4
}
"*" {
set none_count 0
set reloc_count 3
}
}
if { ($asflags == "" || [regexp ".* contains 2 .*" $exec_output])
&& [regexp ".* contains $reloc_count .*" $exec_output]
&& [regexp -all "_NONE" $exec_output] == $none_count } then {
pass "$testname (dyn reloc)"
} else {
fail "$testname (dyn reloc)"
}
}

8
ld/testsuite/ld-undefined/weak-undef.exp

@ -28,7 +28,7 @@ if { ![is_elf_format] && ![is_pecoff_format] } then {
} elseif {![ld_assemble $as $srcdir/$subdir/weak-undef.s \
tmpdir/weak-undef.o]} then {
# It's OK if .weak doesn't work on this target.
unresolved $testname
unsupported $testname
} elseif {![ld_link $ld tmpdir/weak-undef \
"tmpdir/weak-undef.o -T $srcdir/$subdir/weak-undef.t"]} then {
# Weak symbols are broken for non-i386 PE targets.
@ -36,8 +36,6 @@ if { ![is_elf_format] && ![is_pecoff_format] } then {
setup_xfail *-*-pe*
}
fail $testname
} elseif {![is_remote host] && [which $objdump] == 0} then {
unresolved $testname
} else {
set exec_output [run_host_cmd "$objdump" "-s tmpdir/weak-undef"]
set exec_output [prune_warnings $exec_output]
@ -59,8 +57,6 @@ proc undef_weak_so { testname opts passval } {
if {![ld_link $ld tmpdir/weak-fundef.so \
"$opts tmpdir/weak-fundef.o"]} then {
fail $testname
} elseif {![is_remote host] && [which $nm] == 0} then {
unresolved $testname
} else {
set exec_output [run_host_cmd "$nm" "-D tmpdir/weak-fundef.so"]
set exec_output [prune_warnings $exec_output]
@ -83,8 +79,6 @@ proc undef_weak_exe { testname opts passval } {
if {![ld_link $ld tmpdir/weak-fundef \
"$opts tmpdir/weak-fundef.o tmpdir/weak-fundef.so"]} then {
fail $testname
} elseif {![is_remote host] && [which $nm] == 0} then {
unresolved $testname
} else {
set exec_output [run_host_cmd "$nm" "-D tmpdir/weak-fundef"]
set exec_output [prune_warnings $exec_output]

15
ld/testsuite/lib/ld-lib.exp

@ -494,7 +494,7 @@ proc run_ld_link_tests { ldtests args } {
set binfile tmpdir/[lindex $testitem 6]
set cflags [lindex $testitem 7]
set objfiles {}
set is_unresolved 0
set is_unsupported 0
set failed 0
set maybe_failed 0
set ld_output ""
@ -523,7 +523,7 @@ proc run_ld_link_tests { ldtests args } {
catch "$unbzip2" exec_output
if ![string match "" $exec_output] then {
send_log "$exec_output\n"
set is_unresolved 1
set is_unsupported 1
break
}
} else {
@ -531,7 +531,7 @@ proc run_ld_link_tests { ldtests args } {
if { [file extension $src_file] == ".c" } {
set as_file "tmpdir/$fileroot.s"
if ![ld_compile "$CC -S $CFLAGS $cflags" $srcdir/$subdir/$src_file $as_file] {
set is_unresolved 1
set is_unsupported 1
break
}
} else {
@ -551,8 +551,8 @@ proc run_ld_link_tests { ldtests args } {
continue
}
# Catch compiler errors.
if { $is_unresolved } {
unresolved $testname
if { $is_unsupported } {
unsupported $testname
continue
}
@ -567,6 +567,7 @@ proc run_ld_link_tests { ldtests args } {
set ld_output "$exec_output"
}
set is_unresolved 0
if { !$failed } {
foreach actionlist $actions {
set action [lindex $actionlist 0]
@ -751,7 +752,7 @@ proc run_ld_link_exec_tests { ldtests args } {
}
}
if { $failed != 0 } {
unresolved $testname
unsupported $testname
continue
}
@ -941,7 +942,7 @@ proc run_cc_link_tests { ldtests } {
}
}
if { $failed != 0 } {
unresolved $testname
unsupported $testname
continue
}

Loading…
Cancel
Save