Fix XPASS weak symbols on x86_64-mingw32

Message ID Y762S0diPNqwWu1a@squeak.grove.modra.org
State Repeat Merge
Headers
Series Fix XPASS weak symbols on x86_64-mingw32 |

Checks

Context Check Description
snail/binutils-gdb-check warning Git am fail log

Commit Message

Alan Modra Jan. 11, 2023, 1:14 p.m. UTC
  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.
  

Patch

diff --git a/ld/testsuite/ld-scripts/weak.exp b/ld/testsuite/ld-scripts/weak.exp
index bf6f8862571..9df57c7d97f 100644
--- a/ld/testsuite/ld-scripts/weak.exp
+++ b/ld/testsuite/ld-scripts/weak.exp
@@ -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.