Use notarget and noskip, like the ld testsuite.
* testsuite/binutils-all/copy-2.d,
* testsuite/binutils-all/copy-3.d,
* testsuite/binutils-all/copy-4.d,
* testsuite/binutils-all/elfedit-1.d,
* testsuite/binutils-all/note-1.d,
* testsuite/binutils-all/note-2-64.d,
* testsuite/binutils-all/strip-11.d,
* testsuite/binutils-all/strip-13.d,
* testsuite/binutils-all/strip-14.d,
* testsuite/binutils-all/testranges.d,
* testsuite/binutils-all/x86-64/pr23494a-x32.d,
* testsuite/binutils-all/x86-64/pr23494a.d,
* testsuite/binutils-all/x86-64/pr23494b-x32.d,
* testsuite/binutils-all/x86-64/pr23494b.d,
* testsuite/binutils-all/x86-64/pr23494c-x32.d,
* testsuite/binutils-all/x86-64/pr23494c.d,
* testsuite/binutils-all/x86-64/pr23494d-x32.d,
* testsuite/binutils-all/x86-64/pr23494d.d,
* testsuite/binutils-all/x86-64/pr23494e-x32.d,
* testsuite/binutils-all/x86-64/pr23494e.d,
* testsuite/lib/utils-lib.exp (run_dump_test): Replace not-target
and not-skip with notarget and noskip.
+2018-09-15 Alan Modra <amodra@gmail.com>
+
+ * testsuite/binutils-all/copy-2.d,
+ * testsuite/binutils-all/copy-3.d,
+ * testsuite/binutils-all/copy-4.d,
+ * testsuite/binutils-all/elfedit-1.d,
+ * testsuite/binutils-all/note-1.d,
+ * testsuite/binutils-all/note-2-64.d,
+ * testsuite/binutils-all/strip-11.d,
+ * testsuite/binutils-all/strip-13.d,
+ * testsuite/binutils-all/strip-14.d,
+ * testsuite/binutils-all/testranges.d,
+ * testsuite/binutils-all/x86-64/pr23494a-x32.d,
+ * testsuite/binutils-all/x86-64/pr23494a.d,
+ * testsuite/binutils-all/x86-64/pr23494b-x32.d,
+ * testsuite/binutils-all/x86-64/pr23494b.d,
+ * testsuite/binutils-all/x86-64/pr23494c-x32.d,
+ * testsuite/binutils-all/x86-64/pr23494c.d,
+ * testsuite/binutils-all/x86-64/pr23494d-x32.d,
+ * testsuite/binutils-all/x86-64/pr23494d.d,
+ * testsuite/binutils-all/x86-64/pr23494e-x32.d,
+ * testsuite/binutils-all/x86-64/pr23494e.d,
+ * testsuite/lib/utils-lib.exp (run_dump_test): Replace not-target
+ and not-skip with notarget and noskip.
+
2018-09-15 Alan Modra <amodra@gmail.com>
* testsuite/binutils-all/group-7a.d,
#objcopy: --set-section-flags foo=contents,alloc,load,code
#name: copy with setting section flags 2
#source: copytest.s
-#not-target: *-*-*aout *-*-aix* h8300-*-* hppa*-*-hpux* mips-*-ultrix* mips-*-osf* mips-*-ecoff* mips-*-irix mips-*-irix[2-4] mips-*-riscos* ns32k-*-netbsd
+#notarget: *-*-*aout *-*-aix* h8300-*-* hppa*-*-hpux* mips-*-ultrix* mips-*-osf* mips-*-ecoff* mips-*-irix mips-*-irix[2-4] mips-*-riscos* ns32k-*-netbsd
# 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.
#objcopy: --set-section-flags .text=alloc,data
#name: copy with setting section flags 3
#source: bintest.s
-#not-target: *-*-*aout *-*-*coff *-*-cygwin* *-*-darwin *-*-mingw* *-*-go32 *-*-*pe hppa*-*-hpux* ns32k-*-netbsd powerpc-*-aix* rs6000-*-* rx-*-*
+#notarget: *-*-*aout *-*-*coff *-*-cygwin* *-*-darwin *-*-mingw* *-*-go32 *-*-*pe hppa*-*-hpux* ns32k-*-netbsd 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.
#source: bintest.s
#strip: --strip-unneeded
#nm: -n
-#not-target: *-*-aix* *-*-linuxecoff
+#notarget: *-*-aix* *-*-linuxecoff
#name: strip --strip-unneeded on common symbol
#...
#readelf: -h
#name: Update ELF header 1
#target: x86_64-*-*
-#not-target: x86_64-*-gnux32 x86_64-*-nacl*
+#notarget: x86_64-*-gnux32 x86_64-*-nacl*
#...
ELF Header:
#objcopy: --add-section .note=$srcdir/note-1.d
#name: add notes section
#source: copytest.s
-#not-target: h8300-*-*
+#notarget: h8300-*-*
There are .*
#objcopy: --merge-notes
#name: merge notes section (64-bits)
#source: note-2-64.s
-#not-target: sparc64-*-*
+#notarget: sparc64-*-*
# Internally the Sparc64 backend uses two relocs for every one reloc visible externally.
# Unfortunately the BFD library does not provide a target specific way to delete individual
# relocs, so the note merging feature fails.
#readelf: -S --wide
#name: strip -g empty file
# The RL78 linker scripts always PROVIDE a __rl78_abs__ symbol so the stripped symbol table is never empty.
-#not-target: rl78-*-*
+#notarget: rl78-*-*
#...
\[ 0\] +NULL +0+ .*
#strip: -g
#error: \A[^\n]*: unsupported relocation type 0x[0-9a-f]+\n
#error: [^\n]*: bad value\Z
-#not-target: rx-*
+#notarget: rx-*
# The RX targets do not complain about unrecognised relocs, unless they
# are actually used
# (which is what should really happen with the other targets...)
#PROG: strip
#strip: -g
#error: \A[^\n]*: relocation 0 has invalid symbol index 1048560\Z
-#not-target: rx-*
+#notarget: rx-*
# The RX targets do not complain about bad relocs, unless they are
# actually used
# (which is what should really happen with the other targets...)
#source: testranges.s
#readelf: -wR --wide
#name: unordered .debug_info references to .debug_ranges
-#not-target: ia64-*-*
+#notarget: ia64-*-*
Contents of the \.z?debug_ranges section:
#as: --x32 -mx86-used-note=yes
#objcopy: -O elf64-x86-64
#readelf: -n
-#not-target: x86_64-*-nacl*
+#notarget: x86_64-*-nacl*
Displaying notes found in: .note.gnu.property
Owner Data size Description
#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#objcopy: -O elf32-x86-64
#readelf: -n
-#not-target: x86_64-*-nacl*
+#notarget: x86_64-*-nacl*
Displaying notes found in: .note.gnu.property
Owner Data size Description
#as: --x32 -mx86-used-note=yes
#objcopy: -O elf64-x86-64 -R .note.gnu.property
#readelf: -n
-#not-target: x86_64-*-nacl*
+#notarget: x86_64-*-nacl*
#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#objcopy: -O elf32-x86-64 -R .note.gnu.property
#readelf: -n
-#not-target: x86_64-*-nacl*
+#notarget: x86_64-*-nacl*
#as: --x32 -mx86-used-note=no
#objcopy: -O elf64-x86-64
#readelf: -n
-#not-target: x86_64-*-nacl*
+#notarget: x86_64-*-nacl*
Displaying notes found in: .note.gnu.property
Owner Data size Description
#as: --64 -defsym __64_bit__=1 -mx86-used-note=no
#objcopy: -O elf32-x86-64
#readelf: -n
-#not-target: x86_64-*-nacl*
+#notarget: x86_64-*-nacl*
Displaying notes found in: .note.gnu.property
Owner Data size Description
#as: --x32 -mx86-used-note=yes
#objcopy: -O elf64-x86-64 --decompress-debug-sections
#readelf: -n
-#not-target: x86_64-*-nacl*
+#notarget: x86_64-*-nacl*
Displaying notes found in: .note.gnu.property
Owner Data size Description
#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#objcopy: -O elf32-x86-64 --decompress-debug-sections
#readelf: -n
-#not-target: x86_64-*-nacl*
+#notarget: x86_64-*-nacl*
Displaying notes found in: .note.gnu.property
Owner Data size Description
#as: --x32 -mx86-used-note=yes
#objcopy: -O elf64-x86-64 --decompress-debug-sections
#readelf: -n
-#not-target: x86_64-*-nacl*
+#notarget: x86_64-*-nacl*
Displaying notes found in: .note.gnu.property
Owner Data size Description
#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#objcopy: -O elf32-x86-64 --decompress-debug-sections
#readelf: -n
-#not-target: x86_64-*-nacl*
+#notarget: x86_64-*-nacl*
Displaying notes found in: .note.gnu.property
Owner Data size Description
# in the space-separated list each glob is passed to "istarget" and
# each proc is called as a TCL procedure. List items are interpreted
# such that procs are denoted by surrounding square brackets, and any
-# other items are consired globs. If the call evaluates true for any
-# of them, the test will be run, otherwise it will be marked
+# other items are considered globs. If the call evaluates true for
+# any of them, the test will be run, otherwise it will be marked
# unsupported.
#
-# not-target: GLOB|PROC ...
+# notarget: GLOB|PROC ...
# Do not run this test on a specified list of targets. Again, each
# glob in the space-separated list is passed to "istarget" and each
# proc is called as a TCL procedure, and the test is run if it
# unsupported.
#
# skip: GLOB|PROC ...
-# not-skip: GLOB|PROC ...
-# These are exactly the same as "not-target" and "target",
+# noskip: GLOB|PROC ...
+# These are exactly the same as "notarget" and "target",
# respectively, except that they do nothing at all if the check
# fails. They should only be used in groups, to construct a single
# test which is run on all targets but with variant options or
set opts(error_output) {}
set opts(warning_output) {}
set opts(target) {}
- set opts(not-target) {}
+ set opts(notarget) {}
set opts(skip) {}
- set opts(not-skip) {}
+ set opts(noskip) {}
foreach i $opt_array {
set opt_name [lindex $i 0]
}
# Handle skipping the test on specified targets.
- # You can have both skip/not-skip and target/not-target, but you can't
- # have both skip and not-skip, or target and not-target, in the same file.
+ # You can have both skip/noskip and target/notarget, but you can't
+ # have both skip and noskip, or target and notarget, in the same file.
if { $opts(skip) != "" } then {
- if { $opts(not-skip) != "" } then {
- perror "$testname: mixing skip and not-skip directives is invalid"
+ if { $opts(noskip) != "" } then {
+ perror "$testname: mixing skip and noskip directives is invalid"
unresolved $testname
return
}
if {[match_target $glob]} { return }
}
}
- if { $opts(not-skip) != "" } then {
+ if { $opts(noskip) != "" } then {
set skip 1
- foreach glob $opts(not-skip) {
+ foreach glob $opts(noskip) {
if {[match_target $glob]} {
set skip 0
break
return
}
}
- if { $opts(not-target) != "" } then {
- foreach glob $opts(not-target) {
+ if { $opts(notarget) != "" } then {
+ foreach glob $opts(notarget) {
if {[match_target $glob]} {
unsupported $testname
return