Use is_xcoff_format in binutils testsuite

Message ID 20200707085230.GJ28359@bubble.grove.modra.org
State New
Headers show
Series
  • Use is_xcoff_format in binutils testsuite
Related show

Commit Message

Alan Modra via Binutils July 7, 2020, 8:52 a.m.
and restrict some other tests using is_*_format.

	* testsuite/binutils-all/ar.exp: Use is_xcoff_format.
	* testsuite/binutils-all/nm.exp: Likewise.
	* testsuite/binutils-all/copy-2.d: Run only for elf and pe targets.
	* testsuite/binutils-all/copy-3.d: Run only for elf targets.
	* testsuite/binutils-all/set-section-alignment.d: Likewise.
	* testsuite/binutils-all/copy-4.d: Don't run for xcoff.


-- 
Alan Modra
Australia Development Lab, IBM

Patch

diff --git a/binutils/testsuite/binutils-all/ar.exp b/binutils/testsuite/binutils-all/ar.exp
index 86827814d7..5a9d27c6d0 100644
--- a/binutils/testsuite/binutils-all/ar.exp
+++ b/binutils/testsuite/binutils-all/ar.exp
@@ -727,7 +727,7 @@  if { [file exists $base_dir/bfdtest1] && [file exists $base_dir/bfdtest2] } {
     long_filenames $bfdtests
 
     # xcoff, ecoff, and vms archive support doesn't handle thin archives
-    if { ![istarget "*-*-aix*"]
+    if { ![is_xcoff_format]
 	 && ![istarget "*-*-*ecoff"]
 	 && ![istarget "*-*-vms"] } {
 	thin_archive $bfdtests
diff --git a/binutils/testsuite/binutils-all/copy-2.d b/binutils/testsuite/binutils-all/copy-2.d
index 9eda63bc87..8d066c53c5 100644
--- a/binutils/testsuite/binutils-all/copy-2.d
+++ b/binutils/testsuite/binutils-all/copy-2.d
@@ -3,10 +3,9 @@ 
 #objcopy: --set-section-flags foo=contents,alloc,load,code
 #name: copy with setting section flags 2
 #source: copytest.s
-#notarget: *-*-*aout *-*-aix* h8300-*-* hppa*-*-hpux* mips-*-ultrix* mips-*-osf* mips-*-ecoff* mips-*-irix mips-*-irix[2-4] mips-*-riscos* ns32k-*-*
-# Note - we use copytest.s and a section named "foo" rather
-# than .text because for some file formats (eg PE) the .text
-# section has a fixed set of flags and these cannot be changed.
+# Many formats do not allow arbitrary section flags, just run for ELF and PE.
+#target: [is_elf_format] [is_pecoff_format]
+#xfail: h8300-*-*
 
 .*: +file format .*
 
diff --git a/binutils/testsuite/binutils-all/copy-3.d b/binutils/testsuite/binutils-all/copy-3.d
index dd28719e8b..63e84c7163 100644
--- a/binutils/testsuite/binutils-all/copy-3.d
+++ b/binutils/testsuite/binutils-all/copy-3.d
@@ -3,9 +3,10 @@ 
 #objcopy: --set-section-flags .text=alloc,data
 #name: copy with setting section flags 3
 #source: bintest.s
-#notarget: *-*-*aout *-*-*coff *-*-cygwin* *-*-darwin *-*-mingw* *-*-go32 *-*-*pe hppa*-*-hpux* ns32k-*-* powerpc-*-aix* rs6000-*-* rx-*-*
-# The .text # section in PE/COFF has a fixed set of flags and these
-# cannot be changed.  We skip it for them.
+# The .text section in most formats has a fixed set of flags which
+# cannot be changed, just run for ELF.
+#target: [is_elf_format]
+#xfail: rx-*-*
 
 .*: +file format .*
 
diff --git a/binutils/testsuite/binutils-all/copy-4.d b/binutils/testsuite/binutils-all/copy-4.d
index 554c894150..fa09182f23 100644
--- a/binutils/testsuite/binutils-all/copy-4.d
+++ b/binutils/testsuite/binutils-all/copy-4.d
@@ -2,7 +2,7 @@ 
 #source: bintest.s
 #strip: --strip-unneeded
 #nm: -n
-#notarget: *-*-aix* *-*-linuxecoff
+#notarget: [is_xcoff_format] *-*-linuxecoff
 #name: strip --strip-unneeded on common symbol
 
 #...
diff --git a/binutils/testsuite/binutils-all/nm.exp b/binutils/testsuite/binutils-all/nm.exp
index 8964014f30..96cb50a300 100644
--- a/binutils/testsuite/binutils-all/nm.exp
+++ b/binutils/testsuite/binutils-all/nm.exp
@@ -50,7 +50,9 @@  if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o]} then {
 
     # This test does not work correctly on XCOFF targets, because XCOFF
     # does not enter static symbols in the symbol table.
-    setup_xfail "*-*-aix*"
+    if [is_xcoff_format] {
+	setup_xfail *-*-*
+    }
 
     set got [binutils_run $NM "$NMFLAGS $tempfile"]
 
@@ -108,7 +110,9 @@  if {![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o]} then {
 
     # This test does not work correctly on XCOFF targets, because XCOFF
     # does not enter static symbols in the symbol table.
-    setup_xfail "*-*-aix*"
+    if [is_xcoff_format] {
+	setup_xfail *-*-*
+    }
 
     set got [binutils_run $NM "$NMFLAGS -P $tempfile"]
 
diff --git a/binutils/testsuite/binutils-all/set-section-alignment.d b/binutils/testsuite/binutils-all/set-section-alignment.d
index d562ce1503..a193bb7897 100644
--- a/binutils/testsuite/binutils-all/set-section-alignment.d
+++ b/binutils/testsuite/binutils-all/set-section-alignment.d
@@ -2,7 +2,8 @@ 
 #PROG: objcopy
 #objcopy: --set-section-alignment .text=16
 #objdump: --section-headers
-#notarget: *-*-*aout *-*-*coff *-*-cygwin* *-*-darwin *-*-mingw* *-*-go32 *-*-*pe hppa*-*-hpux* ns32k-*-* powerpc-*-aix* rs6000-*-* rx-*-* *-*-vms
+#target: [is_elf_format]
+#xfail: rx-*-*
 
 #...
 .*\.text.*2\*\*4