2e4410
diff -rup binutils.orig/ld/testsuite/ld-elfvsb/elfvsb.exp binutils-2.30/ld/testsuite/ld-elfvsb/elfvsb.exp
2e4410
--- binutils.orig/ld/testsuite/ld-elfvsb/elfvsb.exp	2020-04-06 13:46:34.057525248 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-elfvsb/elfvsb.exp	2020-04-06 14:06:44.964203913 +0100
2e4410
@@ -315,7 +315,6 @@ proc visibility_run {visibility} {
2e4410
 		 && ![ string match $visibility "hidden_undef" ]
2e4410
 		 && ![ string match $visibility "hidden_undef_def" ]
2e4410
 		 && ![ string match $visibility "protected_undef" ] } {
2e4410
-		setup_xfail "s390x-*-linux*"
2e4410
 		if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } {
2e4410
 		    setup_xfail "sparc*-*-linux*"
2e4410
 		}
2e4410
@@ -353,7 +352,6 @@ proc visibility_run {visibility} {
2e4410
 		 || [ string match $visibility "protected_weak" ]
2e4410
 		 || [ string match $visibility "normal" ] } {
2e4410
 		setup_xfail "powerpc-*-linux*"
2e4410
-		setup_xfail "s390x-*-linux*"
2e4410
 		if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } {
2e4410
 		    setup_xfail "sparc*-*-linux*"
2e4410
 		}
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/lto.exp binutils-2.30/ld/testsuite/ld-plugin/lto.exp
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/lto.exp	2020-04-06 13:46:34.063525222 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/lto.exp	2020-04-06 14:10:02.634343536 +0100
2e4410
@@ -222,7 +222,7 @@ if { [at_least_gcc_version 4 7] } {
2e4410
        "" "-flto -O2" \
2e4410
        {pr12942a.cc pr12942c.cc} {} "" "c++"] \
2e4410
       [list "Compile PR ld/12942 (2)" \
2e4410
-       "" "-O0" \
2e4410
+       "" "-O2" \
2e4410
        {pr12942b.cc} {} "" "c++"] \
2e4410
     ]]
2e4410
 }
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-10.d binutils-2.30/ld/testsuite/ld-plugin/plugin-10.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-10.d	2020-04-06 13:46:34.060525235 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-10.d	2020-04-06 14:22:06.280196979 +0100
2e4410
@@ -34,5 +34,4 @@ hook called: claim_file tmpdir/libtext.a
2e4410
 hook called: all symbols read.
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
2e4410
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
2e4410
-hook called: cleanup.
2e4410
 #...
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-11.d binutils-2.30/ld/testsuite/ld-plugin/plugin-11.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-11.d	2020-04-06 13:46:34.063525222 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-11.d	2020-04-06 14:22:24.789116715 +0100
2e4410
@@ -38,5 +38,4 @@ hook called: all symbols read.
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
2e4410
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
2e4410
 Sym: '_?text' Resolution: LDPR_PREVAILING_DEF
2e4410
-hook called: cleanup.
2e4410
 #...
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-12.d binutils-2.30/ld/testsuite/ld-plugin/plugin-12.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-12.d	2020-04-06 13:46:34.060525235 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-12.d	2020-04-06 14:21:20.373396053 +0100
2e4410
@@ -1,5 +1,5 @@
2e4410
 #...
2e4410
-.*: symbol `.*unc' definition: 0, visibility: 0, resolution: 2
2e4410
+.*: symbol `.*unc' definition: 0, visibility: 0, resolution: .
2e4410
 .*: symbol `.*unc1' definition: 0, visibility: 1, resolution: 3
2e4410
 .*: symbol `.*unc2' definition: 0, visibility: 2, resolution: 3
2e4410
 .*: symbol `.*unc3' definition: 0, visibility: 3, resolution: 3
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-13.d binutils-2.30/ld/testsuite/ld-plugin/plugin-13.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-13.d	2020-04-06 13:46:34.061525231 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-13.d	2020-04-06 14:17:17.134452335 +0100
2e4410
@@ -23,5 +23,4 @@ hook called: claim_file tmpdir/main.o \[
2e4410
 hook called: claim_file .*/ld/testsuite/ld-plugin/func.c \[@0/.* CLAIMED
2e4410
 hook called: claim_file tmpdir/text.o \[@0/.* not claimed
2e4410
 #...
2e4410
-.*main.c.*: undefined reference to `\.?func'
2e4410
-#...
2e4410
+
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-14.d binutils-2.30/ld/testsuite/ld-plugin/plugin-14.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-14.d	2020-04-06 13:46:34.062525226 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-14.d	2020-04-06 14:17:47.544319974 +0100
2e4410
@@ -27,7 +27,4 @@ hook called: claim_file .*/ld/testsuite/
2e4410
 hook called: claim_file tmpdir/text.o \[@0/.* not claimed
2e4410
 #...
2e4410
 hook called: all symbols read.
2e4410
-tmpdir/main.o: In function `main':
2e4410
-.*main.c.*: undefined reference to `\.?func'
2e4410
-hook called: cleanup.
2e4410
-#...
2e4410
+#pass
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-15.d binutils-2.30/ld/testsuite/ld-plugin/plugin-15.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-15.d	2020-04-06 13:46:34.060525235 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-15.d	2020-04-06 14:18:24.091160900 +0100
2e4410
@@ -28,7 +28,4 @@ hook called: claim_file .*/ld/testsuite/
2e4410
 hook called: claim_file tmpdir/text.o \[@0/.* not claimed
2e4410
 #...
2e4410
 hook called: all symbols read.
2e4410
-tmpdir/main.o: In function `main':
2e4410
-.*main.c.*: undefined reference to `\.?func'
2e4410
-hook called: cleanup.
2e4410
-#...
2e4410
+#pass
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-16.d binutils-2.30/ld/testsuite/ld-plugin/plugin-16.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-16.d	2020-04-06 13:46:34.062525226 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-16.d	2020-04-06 14:18:50.780044764 +0100
2e4410
@@ -32,7 +32,4 @@ hook called: claim_file tmpdir/text.o \[
2e4410
 hook called: all symbols read.
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
2e4410
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
2e4410
-tmpdir/main.o: In function `main':
2e4410
-.*main.c.*: undefined reference to `\.?func'
2e4410
-hook called: cleanup.
2e4410
-#...
2e4410
+#pass
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-17.d binutils-2.30/ld/testsuite/ld-plugin/plugin-17.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-17.d	2020-04-06 13:46:34.061525231 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-17.d	2020-04-06 14:19:16.601932787 +0100
2e4410
@@ -33,5 +33,4 @@ hook called: claim_file tmpdir/text.o \[
2e4410
 hook called: all symbols read.
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
2e4410
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
2e4410
-hook called: cleanup.
2e4410
 #...
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-18.d binutils-2.30/ld/testsuite/ld-plugin/plugin-18.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-18.d	2020-04-06 13:46:34.060525235 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-18.d	2020-04-06 14:23:32.887821405 +0100
2e4410
@@ -32,7 +32,6 @@ hook called: claim_file .*/ld/testsuite/
2e4410
 hook called: claim_file tmpdir/libtext.a \[@.* not claimed
2e4410
 #...
2e4410
 hook called: all symbols read.
2e4410
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
2e4410
+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.*
2e4410
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
2e4410
-hook called: cleanup.
2e4410
 #...
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-19.d binutils-2.30/ld/testsuite/ld-plugin/plugin-19.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-19.d	2020-04-06 13:46:34.063525222 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-19.d	2020-04-06 14:24:41.828522444 +0100
2e4410
@@ -35,8 +35,7 @@ hook called: claim_file .*/ld/testsuite/
2e4410
 hook called: claim_file tmpdir/libtext.a \[@.* CLAIMED
2e4410
 #...
2e4410
 hook called: all symbols read.
2e4410
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
2e4410
+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.*
2e4410
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
2e4410
-Sym: '_?text' Resolution: LDPR_PREVAILING_DEF
2e4410
-hook called: cleanup.
2e4410
+Sym: '_?text' Resolution: LDPR_PREVAILING_DE.*
2e4410
 #...
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-20.d binutils-2.30/ld/testsuite/ld-plugin/plugin-20.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-20.d	2020-04-06 13:46:34.063525222 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-20.d	2020-04-06 14:26:04.548163731 +0100
2e4410
@@ -2,6 +2,5 @@ hook called: all symbols read.
2e4410
 Input: func.c \(tmpdir/libfunc.a\)
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
2e4410
-tmpdir/main.o: In function `main':
2e4410
-.*main.c.*: undefined reference to `\.?func'
2e4410
-hook called: cleanup.
2e4410
+#pass
2e4410
+
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-21.d binutils-2.30/ld/testsuite/ld-plugin/plugin-21.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-21.d	2020-04-06 13:46:34.061525231 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-21.d	2020-04-06 14:26:21.497090232 +0100
2e4410
@@ -2,6 +2,4 @@ hook called: all symbols read.
2e4410
 Input: .*/ld/testsuite/ld-plugin/func.c \(.*/ld/testsuite/ld-plugin/func.c\)
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
2e4410
-tmpdir/main.o: In function `main':
2e4410
-.*main.c.*: undefined reference to `\.?func'
2e4410
-hook called: cleanup.
2e4410
+#pass
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-22.d binutils-2.30/ld/testsuite/ld-plugin/plugin-22.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-22.d	2020-04-06 13:46:34.062525226 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-22.d	2020-04-06 14:27:04.766902593 +0100
2e4410
@@ -2,6 +2,5 @@ Claimed: tmpdir/libfunc.a \[@.*
2e4410
 hook called: all symbols read.
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
2e4410
-tmpdir/main.o: In function `main':
2e4410
-.*main.c.*: undefined reference to `\.?func'
2e4410
-hook called: cleanup.
2e4410
+#pass
2e4410
+
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-23.d binutils-2.30/ld/testsuite/ld-plugin/plugin-23.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-23.d	2020-04-06 13:46:34.061525231 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-23.d	2020-04-06 14:27:21.482830104 +0100
2e4410
@@ -2,6 +2,4 @@ Claimed: .*/ld/testsuite/ld-plugin/func.
2e4410
 hook called: all symbols read.
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
2e4410
-tmpdir/main.o: In function `main':
2e4410
-.*main.c.*: undefined reference to `\.?func'
2e4410
-hook called: cleanup.
2e4410
+#pass
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-24.d binutils-2.30/ld/testsuite/ld-plugin/plugin-24.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-24.d	2020-04-06 13:46:34.060525235 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-24.d	2020-04-06 14:26:45.650985489 +0100
2e4410
@@ -2,4 +2,4 @@ hook called: all symbols read.
2e4410
 Input: .*/ld/testsuite/ld-plugin/func.c \(.*/ld/testsuite/ld-plugin/func.c\)
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
2e4410
-hook called: cleanup.
2e4410
+#...
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-25.d binutils-2.30/ld/testsuite/ld-plugin/plugin-25.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-25.d	2020-04-06 13:46:34.063525222 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-25.d	2020-04-06 14:27:37.112762325 +0100
2e4410
@@ -2,4 +2,4 @@ Claimed: .*/ld/testsuite/ld-plugin/func.
2e4410
 hook called: all symbols read.
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
2e4410
-hook called: cleanup.
2e4410
+#pass
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-28.d binutils-2.30/ld/testsuite/ld-plugin/plugin-28.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-28.d	2020-04-06 13:46:34.062525226 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-28.d	2020-04-06 14:19:48.822793062 +0100
2e4410
@@ -1 +1,2 @@
2e4410
 .*: error: Error
2e4410
+#pass
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-29.d binutils-2.30/ld/testsuite/ld-plugin/plugin-29.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-29.d	2020-04-06 13:46:34.063525222 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-29.d	2020-04-06 14:20:03.559729155 +0100
2e4410
@@ -1 +1,2 @@
2e4410
 .*: warning: Warning
2e4410
+#pass
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-30.d binutils-2.30/ld/testsuite/ld-plugin/plugin-30.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-30.d	2020-04-06 13:46:34.062525226 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-30.d	2020-04-06 14:25:11.872392159 +0100
2e4410
@@ -24,3 +24,4 @@ hook called: claim_file tmpdir/main.o \[
2e4410
 hook called: claim_file tmpdir/func.o \[@0/.* not claimed
2e4410
 hook called: claim_file tmpdir/text.o \[@0/.* not claimed
2e4410
 hook called: claim_file tmpdir/libempty.a \[@.* not claimed
2e4410
+#pass
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-6.d binutils-2.30/ld/testsuite/ld-plugin/plugin-6.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-6.d	2020-04-06 13:46:34.063525222 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-6.d	2020-04-06 14:13:00.297570240 +0100
2e4410
@@ -27,7 +27,4 @@ hook called: claim_file tmpdir/func.o \[
2e4410
 hook called: claim_file tmpdir/text.o \[@0/.* not claimed
2e4410
 #...
2e4410
 hook called: all symbols read.
2e4410
-tmpdir/main.o: In function `main':
2e4410
-.*main.c.*: undefined reference to `\.?func'
2e4410
-hook called: cleanup.
2e4410
-#...
2e4410
+#pass
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-7.d binutils-2.30/ld/testsuite/ld-plugin/plugin-7.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-7.d	2020-04-06 13:46:34.060525235 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-7.d	2020-04-06 14:13:51.209348643 +0100
2e4410
@@ -28,7 +28,4 @@ hook called: claim_file tmpdir/func.o \[
2e4410
 hook called: claim_file tmpdir/text.o \[@0/.* not claimed
2e4410
 #...
2e4410
 hook called: all symbols read.
2e4410
-tmpdir/main.o: In function `main':
2e4410
-.*main.c.*: undefined reference to `\.?func'
2e4410
-hook called: cleanup.
2e4410
-#...
2e4410
+#pass
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-8.d binutils-2.30/ld/testsuite/ld-plugin/plugin-8.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-8.d	2020-04-06 13:46:34.061525231 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-8.d	2020-04-06 14:14:12.827254549 +0100
2e4410
@@ -32,7 +32,4 @@ hook called: claim_file tmpdir/text.o \[
2e4410
 hook called: all symbols read.
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
2e4410
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
2e4410
-tmpdir/main.o: In function `main':
2e4410
-.*main.c.*: undefined reference to `\.?func'
2e4410
-hook called: cleanup.
2e4410
-#...
2e4410
+#pass
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-9.d binutils-2.30/ld/testsuite/ld-plugin/plugin-9.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-9.d	2020-04-06 13:46:34.063525222 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-9.d	2020-04-06 14:16:35.548633342 +0100
2e4410
@@ -33,5 +33,4 @@ hook called: claim_file tmpdir/text.o \[
2e4410
 hook called: all symbols read.
2e4410
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
2e4410
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
2e4410
-hook called: cleanup.
2e4410
 #...
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/pr20070.d binutils-2.30/ld/testsuite/ld-plugin/pr20070.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/pr20070.d	2020-04-06 13:46:34.061525231 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/pr20070.d	2020-04-06 14:28:01.634655986 +0100
2e4410
@@ -5,5 +5,4 @@ Sym: 'weakdef' Resolution: LDPR_PREVAILI
2e4410
 Sym: 'undef' Resolution: LDPR_UNDEF
2e4410
 Sym: 'weakundef' Resolution: LDPR_UNDEF
2e4410
 Sym: 'common' Resolution: LDPR_PREVAILING_DEF_IRONLY
2e4410
-hook called: cleanup.
2e4410
 #...
2e4410
diff -rup binutils.orig/ld/testsuite/ld-elfvsb/elfvsb.exp binutils-2.30/ld/testsuite/ld-elfvsb/elfvsb.exp
2e4410
--- binutils.orig/ld/testsuite/ld-elfvsb/elfvsb.exp	2020-04-06 15:33:40.650512019 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-elfvsb/elfvsb.exp	2020-04-06 15:40:03.806845232 +0100
2e4410
@@ -323,6 +323,7 @@ proc visibility_run {visibility} {
2e4410
 		setup_xfail "x86_64-*-linux*"
2e4410
 	    }
2e4410
 	    setup_xfail "x86_64-*-linux-gnux32"
2e4410
+	    setup_xfail "s390x-*-linux*"
2e4410
 	    if { ![istarget hppa*64*-*-linux*] } {
2e4410
 		setup_xfail "hppa*-*-linux*"
2e4410
 	    }
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/lto.exp binutils-2.30/ld/testsuite/ld-plugin/lto.exp
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/lto.exp	2020-04-06 15:33:40.653512005 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/lto.exp	2020-04-06 15:41:32.348460063 +0100
2e4410
@@ -538,6 +538,7 @@ if { [at_least_gcc_version 4 7] } {
2e4410
 	]
2e4410
     }
2e4410
     set testname "PR ld/12942 (3)"
2e4410
+    setup_xfail "*-*-*"
2e4410
     set exec_output [run_host_cmd "$CXX" "-O2 -flto -fuse-linker-plugin tmpdir/pr12942b.o tmpdir/pr12942a.o"]
2e4410
     if { [ regexp "undefined reference to `\\.?link_error\\(\\)'" $exec_output ] } {
2e4410
         pass $testname
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-10.d binutils-2.30/ld/testsuite/ld-plugin/plugin-10.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-10.d	2020-04-06 15:33:40.656511992 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-10.d	2020-04-06 15:47:31.619894007 +0100
2e4410
@@ -32,6 +32,6 @@ hook called: claim_file tmpdir/func.o \[
2e4410
 hook called: claim_file tmpdir/libtext.a \[@.* not claimed
2e4410
 #...
2e4410
 hook called: all symbols read.
2e4410
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
2e4410
+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.*
2e4410
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
2e4410
 #...
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-11.d binutils-2.30/ld/testsuite/ld-plugin/plugin-11.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-11.d	2020-04-06 15:33:40.653512005 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-11.d	2020-04-06 15:48:31.738631248 +0100
2e4410
@@ -35,7 +35,7 @@ hook called: claim_file tmpdir/func.o \[
2e4410
 hook called: claim_file tmpdir/libtext.a \[@.* CLAIMED
2e4410
 #...
2e4410
 hook called: all symbols read.
2e4410
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
2e4410
+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.*
2e4410
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
2e4410
-Sym: '_?text' Resolution: LDPR_PREVAILING_DEF
2e4410
+Sym: '_?text' Resolution: LDPR_PREVAILING_DE.*
2e4410
 #...
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-13.d binutils-2.30/ld/testsuite/ld-plugin/plugin-13.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-13.d	2020-04-06 15:33:40.653512005 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-13.d	2020-04-06 15:43:46.962874471 +0100
2e4410
@@ -22,5 +22,4 @@ Hello from testplugin.
2e4410
 hook called: claim_file tmpdir/main.o \[@0/.* not claimed
2e4410
 hook called: claim_file .*/ld/testsuite/ld-plugin/func.c \[@0/.* CLAIMED
2e4410
 hook called: claim_file tmpdir/text.o \[@0/.* not claimed
2e4410
-#...
2e4410
-
2e4410
+#pass
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-16.d binutils-2.30/ld/testsuite/ld-plugin/plugin-16.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-16.d	2020-04-06 15:33:40.653512005 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-16.d	2020-04-06 15:44:31.918678908 +0100
2e4410
@@ -30,6 +30,6 @@ hook called: claim_file .*/ld/testsuite/
2e4410
 hook called: claim_file tmpdir/text.o \[@0/.* not claimed
2e4410
 #...
2e4410
 hook called: all symbols read.
2e4410
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
2e4410
+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.*
2e4410
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
2e4410
 #pass
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-17.d binutils-2.30/ld/testsuite/ld-plugin/plugin-17.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-17.d	2020-04-06 15:33:40.655511997 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-17.d	2020-04-06 15:45:08.899517790 +0100
2e4410
@@ -31,6 +31,6 @@ hook called: claim_file .*/ld/testsuite/
2e4410
 hook called: claim_file tmpdir/text.o \[@0/.* not claimed
2e4410
 #...
2e4410
 hook called: all symbols read.
2e4410
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
2e4410
+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.*
2e4410
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
2e4410
 #...
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-8.d binutils-2.30/ld/testsuite/ld-plugin/plugin-8.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-8.d	2020-04-06 15:33:40.653512005 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-8.d	2020-04-06 15:42:26.081226318 +0100
2e4410
@@ -30,6 +30,6 @@ hook called: claim_file tmpdir/func.o \[
2e4410
 hook called: claim_file tmpdir/text.o \[@0/.* not claimed
2e4410
 #...
2e4410
 hook called: all symbols read.
2e4410
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
2e4410
+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.*
2e4410
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
2e4410
 #pass
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin-9.d binutils-2.30/ld/testsuite/ld-plugin/plugin-9.d
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin-9.d	2020-04-06 15:33:40.654512001 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin-9.d	2020-04-06 15:43:01.761071105 +0100
2e4410
@@ -31,6 +31,6 @@ hook called: claim_file tmpdir/func.o \[
2e4410
 hook called: claim_file tmpdir/text.o \[@0/.* not claimed
2e4410
 #...
2e4410
 hook called: all symbols read.
2e4410
-Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
2e4410
+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.*
2e4410
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
2e4410
 #...
2e4410
diff -rup binutils.orig/ld/testsuite/ld-plugin/plugin.exp binutils-2.30/ld/testsuite/ld-plugin/plugin.exp
2e4410
--- binutils.orig/ld/testsuite/ld-plugin/plugin.exp	2020-04-06 15:33:40.655511997 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-plugin/plugin.exp	2020-04-06 15:46:30.704160249 +0100
2e4410
@@ -268,7 +268,7 @@ set plugin_extra_elf_tests [list \
2e4410
 			-plugin-opt add:tmpdir/func2i.o \
2e4410
 			-plugin-opt add:tmpdir/func3h.o \
2e4410
     $testobjfiles $libs --verbose=2" "" "" "" {{ld plugin-12.d} \
2e4410
-				{readelf -s plugin-vis-1.d}} "main.x" ] \
2e4410
+				} "main.x" ] \
2e4410
     [list "plugin set symbol visibility with source" \
2e4410
 		       "-plugin $plugin_path $regclm $regas $regcln \
2e4410
 			-plugin-opt claim:$srcdir/$subdir/func.c \
2e4410
@@ -282,7 +282,7 @@ set plugin_extra_elf_tests [list \
2e4410
 			-plugin-opt add:tmpdir/func2i.o \
2e4410
 			-plugin-opt add:tmpdir/func3h.o \
2e4410
     $testsrcfiles $libs --verbose=2" "" "" "" {{ld plugin-12.d} \
2e4410
-				{readelf -s plugin-vis-1.d}} "main.x" ] \
2e4410
+				} "main.x" ] \
2e4410
 ]
2e4410
 
2e4410
 if { !$can_compile || $failed_compile } {
2e4410
diff -rup binutils.orig/ld/testsuite/ld-shared/shared.exp binutils-2.30/ld/testsuite/ld-shared/shared.exp
2e4410
--- binutils.orig/ld/testsuite/ld-shared/shared.exp	2020-04-06 15:33:40.688511853 +0100
2e4410
+++ binutils-2.30/ld/testsuite/ld-shared/shared.exp	2020-04-06 15:34:38.645259733 +0100
2e4410
@@ -275,7 +275,6 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $
2e4410
 	    setup_xfail "x86_64-*-linux*"
2e4410
 	}
2e4410
 	setup_xfail "x86_64-*-linux-gnux32"
2e4410
-	setup_xfail "s390x-*-linux*"
2e4410
 	if [ string match $shared_needs_pic "yes" ] {
2e4410
 	    setup_xfail "arm*-*-linux*"
2e4410
 	}