summaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2023-01-11 23:31:01 +1030
committerAlan Modra <amodra@gmail.com>2023-01-11 23:31:01 +1030
commit1b9876fa8d28c152846e441400c02445bffa1653 (patch)
treebd44a3fd993fd44edef4771496ed82cc7ed63d87 /ld
parent11d171f1910b508a81d21faa087ad1af573407d8 (diff)
downloadbinutils-gdb-1b9876fa8d28c152846e441400c02445bffa1653.tar.gz
Fix XPASS weak symbols on x86_64-mingw32
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.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ld-scripts/weak.exp21
1 files changed, 11 insertions, 10 deletions
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.