ld test asciz and ascii fails

Message ID Y+8HWSTBuPWN+K3i@squeak.grove.modra.org
State Repeat Merge
Headers
Series ld test asciz and ascii fails |

Checks

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

Commit Message

Alan Modra Feb. 17, 2023, 4:49 a.m. UTC
  Fix these fails:
alpha-dec-vms  +FAIL: ld-scripts/asciz
alpha-dec-vms  +FAIL: ld-scripts/ascii
i386-go32  +FAIL: ld-scripts/asciz
sh-coff  +FAIL: ld-scripts/asciz

It's better to positively select targets for .section support than to
try to exclude all targets that don't.  Make a new is_coff_format so
we can easily select such.

binutils/
	* testsuite/lib/binutils-common.exp (is_coff_format): New.
ld/
	* testsuite/ld-scripts/ascii.d: Use is_elf_format and
	is_coff_format to select targets, exclude ti coff.
	* testsuite/ld-scripts/asciz.d: Likewise.  Accept trailing zeros.
  

Patch

diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp
index b0190ac51ac..ab752417295 100644
--- a/binutils/testsuite/lib/binutils-common.exp
+++ b/binutils/testsuite/lib/binutils-common.exp
@@ -112,6 +112,21 @@  proc is_pecoff_format args {
     return 0
 }
 
+# True if the object format is known to COFF or PE (but not ECOFF or XCOFF)
+#
+proc is_coff_format {} {
+    if { [is_pecoff_format]
+	 || [istarget *-*-coff*]
+	 || [istarget *-*-go32*]
+	 || [istarget *-*-msdosdjgpp*]
+	 || [istarget tic4x-*-*]
+	 || [istarget tic54x-*-*]
+	 || [istarget z8k-*-*] } {
+	return 1
+    }
+    return 0
+}
+
 proc is_som_format {} {
     if { ![istarget hppa*-*-*] || [istarget hppa*64*-*-*] } {
 	return 0;
diff --git a/ld/testsuite/ld-scripts/ascii.d b/ld/testsuite/ld-scripts/ascii.d
index cfc1a4cbdba..ff3bd328c15 100644
--- a/ld/testsuite/ld-scripts/ascii.d
+++ b/ld/testsuite/ld-scripts/ascii.d
@@ -1,8 +1,8 @@ 
 #source: ascii.s
 #ld: -T ascii.t
 #objdump: -s -j .header
-#notarget: [is_aout_format]
-#skip: tic4x-*-* tic54x-*-* *-*-*ecoff *-*-macho *-*-aix*
+#target: [is_elf_format] [is_coff_format]
+#notarget: tic4x-*-* tic54x-*-*
 
 .*:     file format .*
 
diff --git a/ld/testsuite/ld-scripts/asciz.d b/ld/testsuite/ld-scripts/asciz.d
index 75e3c858a07..38d0408b6e9 100644
--- a/ld/testsuite/ld-scripts/asciz.d
+++ b/ld/testsuite/ld-scripts/asciz.d
@@ -1,8 +1,8 @@ 
 #source: asciz.s
 #ld: -T asciz.t
 #objdump: -s -j .data
-#notarget: [is_aout_format]
-#skip: tic4x-*-* tic54x-*-* *-*-*ecoff *-*-macho *-*-aix*
+#target: [is_elf_format] [is_coff_format]
+#notarget: tic4x-*-* tic54x-*-*
 
 .*:     file format .*
 
@@ -10,5 +10,5 @@  Contents of section .data:
  .... 54686973 20697320 61207374 72696e67  This is a string
  .... 00546869 73206973 20616e6f 74686572  .This is another
  .... 0a537472 696e6700 006e6f71 756f7465  .String..noquote
- .... 7300                                 s.              
+ .... 7300[ 0]*  s.*
 #pass