ld test asciz and ascii fails

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.
This commit is contained in:
Alan Modra
2023-02-17 13:50:18 +10:30
parent 75092c693d
commit 5f497256be
3 changed files with 20 additions and 5 deletions

View File

@@ -112,6 +112,21 @@ proc is_pecoff_format args {
return 0 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 {} { proc is_som_format {} {
if { ![istarget hppa*-*-*] || [istarget hppa*64*-*-*] } { if { ![istarget hppa*-*-*] || [istarget hppa*64*-*-*] } {
return 0; return 0;

View File

@@ -1,8 +1,8 @@
#source: ascii.s #source: ascii.s
#ld: -T ascii.t #ld: -T ascii.t
#objdump: -s -j .header #objdump: -s -j .header
#notarget: [is_aout_format] #target: [is_elf_format] [is_coff_format]
#skip: tic4x-*-* tic54x-*-* *-*-*ecoff *-*-macho *-*-aix* #notarget: tic4x-*-* tic54x-*-*
.*: file format .* .*: file format .*

View File

@@ -1,8 +1,8 @@
#source: asciz.s #source: asciz.s
#ld: -T asciz.t #ld: -T asciz.t
#objdump: -s -j .data #objdump: -s -j .data
#notarget: [is_aout_format] #target: [is_elf_format] [is_coff_format]
#skip: tic4x-*-* tic54x-*-* *-*-*ecoff *-*-macho *-*-aix* #notarget: tic4x-*-* tic54x-*-*
.*: file format .* .*: file format .*
@@ -10,5 +10,5 @@ Contents of section .data:
.... 54686973 20697320 61207374 72696e67 This is a string .... 54686973 20697320 61207374 72696e67 This is a string
.... 00546869 73206973 20616e6f 74686572 .This is another .... 00546869 73206973 20616e6f 74686572 .This is another
.... 0a537472 696e6700 006e6f71 756f7465 .String..noquote .... 0a537472 696e6700 006e6f71 756f7465 .String..noquote
.... 7300 s. .... 7300[ 0]* s.*
#pass #pass