ld testsuite: change unresolved to unsupported/fail
[binutils-gdb.git] / ld / testsuite / ld-selective / selective.exp
index 99ea0122f3b968d23df2feda56485218f31db42c..7b115adb7811ac3f3977577658c3429a10a071b1 100644 (file)
@@ -1,5 +1,5 @@
 # Expect script for LD selective linking tests
-#   Copyright (C) 1998-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1998-2021 Free Software Foundation, Inc.
 #
 # This file is part of the GNU Binutils.
 #
@@ -46,8 +46,8 @@ set seltests {
     {A::foo() B::foo() dropme1() dropme2()} {*-*-*}}
 }
 
-set cflags "-w -O -ffunction-sections -fdata-sections"
-set cxxflags "-fno-exceptions -fno-rtti"
+set cflags "-w -O -ffunction-sections -fdata-sections $NOSANITIZE_CFLAGS $NOLTO_CFLAGS"
+set cxxflags "-fno-exceptions -fno-rtti $NOSANITIZE_CFLAGS $NOLTO_CFLAGS"
 set ldflags "--gc-sections -Bstatic"
 
 if [istarget mips*-*] {
@@ -57,11 +57,10 @@ if [istarget mips*-*] {
     set ldflags "-e _start $ldflags"
 }
 
-if [istarget sh64*-*-elf] {
-    # This is what gcc passes to ld by default, plus switch to the
-    # "usual" ELF _start (shelf32 normally uses just `start' for COFF
-    # compatibility)
-    set ldflags "-e _start -mshelf32 $ldflags"
+if [istarget avr-*-*] {
+    # Make .text start at a non-zero address, as some tests expect
+    # valid symbols to have non-zero values.
+    set ldflags "--section-start=.text=0x2 $ldflags"
 }
 
 # If we don't have g++ for the target, mark all tests as untested.
@@ -96,7 +95,8 @@ foreach testitem $seltests {
        # the functionality we try to test for cannot be expected to work.
        set version [remote_exec host "$CXX -dumpversion"]
        set version [lindex $version 1]
-       if [regexp "^(\[1-9\]\[0-9\]+|\[4-9\]|3.(\[1-9\]\[0-9\]+|\[4-9\]))\\." $version] {
+       if { [regexp "^(\[1-9\]\[0-9\]+|\[4-9\]|3.(\[1-9\]\[0-9\]+))\\." $version] \
+            || [regexp "^(\[1-9\]\[0-9\]+|\[4-9\])" $version] } {
            set testflags "$cflags $cxxflags"
            setup_xfail {*-*-*}
        } else {
@@ -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
     }
 
@@ -145,13 +145,13 @@ foreach testitem $seltests {
        set objfile "$objfile --defsym _.d2=0"
     }
 
-    if ![ld_simple_link $ld $ldfile "$ldflags [join $ldargs] $objfile"] {
+    if ![ld_link $ld $ldfile "$ldflags [join $ldargs] $objfile"] {
        fail $testname
        continue
     }
 
     if ![ld_nm $nm --demangle $ldfile] {
-       unresolved $testname
+       fail $testname
        continue
     }