Fix XPASS weak symbols on x86_64-mingw32
authorAlan Modra <amodra@gmail.com>
Wed, 11 Jan 2023 13:01:01 +0000 (23:31 +1030)
committerAlan Modra <amodra@gmail.com>
Wed, 11 Jan 2023 13:01:01 +0000 (23:31 +1030)
Fixes commit 16fea92ccd99.

* testsuite/ld-scripts/weak.exp: Don't xfail x86_64 PE targets.
Do xfail other PE OS triplets by moving code setting xfails.

ld/testsuite/ld-scripts/weak.exp

index bf6f8862571888d4ef00a0b8874cf3359e0d7217..9df57c7d97f4be38cc188acd47c0dae6f45ca6af 100644 (file)
@@ -23,20 +23,21 @@ set testname "weak symbols"
 
 # This test only works for ELF targets and some PE targets.
 # It ought to work for some a.out targets, but it doesn't.
-if {! [is_elf_format] && ! [is_pecoff_format]} {
+if { [is_elf_format] } {
+    # hppa64 is incredibly broken
+    setup_xfail hppa64-*-*
+} elseif { [is_pecoff_format] } {
+    # Weak symbols are broken for most PE targets.
+    if { ![istarget i?86-*-*]
+        && ![istarget sh-*-*]
+        && ![istarget x86_64-*-*] } {
+       setup_xfail *-*-*
+    }
+} else {
     unsupported $testname
     return
 }
 
-# Weak symbols are broken for most PE targets.
-if {! [istarget i?86-*-*] && ! [istarget sh-*-*]} {
-    setup_xfail *-*-pe*
-    setup_xfail *-*-mingw*
-}
-
-# hppa64 is incredibly broken
-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.