From c7ccb471770f90e5d35bf9ba873e5748c3e60a50 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 22 Jan 2023 10:05:00 -0700 Subject: [PATCH] Introduce and use is_any_target A few tests work on two different targets that can't be detected with a single call to istarget -- that proc only accepts globs, not regular expressions. This patch introduces a new is_any_target proc and then converts these tests to use it in a 'require'. --- gdb/testsuite/gdb.arch/amd64-i386-address.exp | 7 ++----- gdb/testsuite/gdb.arch/arm-neon.exp | 5 +---- gdb/testsuite/gdb.arch/i386-avx.exp | 5 +---- gdb/testsuite/gdb.arch/i386-avx512.exp | 5 +---- gdb/testsuite/gdb.arch/i386-biarch-core.exp | 5 +---- gdb/testsuite/gdb.arch/i386-bp_permanent.exp | 5 +---- gdb/testsuite/gdb.arch/i386-byte.exp | 5 +---- gdb/testsuite/gdb.arch/i386-dr3-watch.exp | 4 +--- gdb/testsuite/gdb.arch/i386-float.exp | 5 +---- gdb/testsuite/gdb.arch/i386-mpx-call.exp | 5 +---- gdb/testsuite/gdb.arch/i386-mpx-map.exp | 5 +---- gdb/testsuite/gdb.arch/i386-mpx-sigsegv.exp | 5 +---- gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp | 5 +---- gdb/testsuite/gdb.arch/i386-mpx.exp | 10 ++-------- gdb/testsuite/gdb.arch/i386-permbkpt.exp | 5 +---- gdb/testsuite/gdb.arch/i386-pkru.exp | 5 +---- .../gdb.arch/i386-prologue-skip-cf-protection.exp | 5 +---- gdb/testsuite/gdb.arch/i386-signal.exp | 5 +---- gdb/testsuite/gdb.arch/i386-sse.exp | 5 +---- gdb/testsuite/gdb.arch/i386-word.exp | 5 +---- gdb/testsuite/gdb.arch/s390-tdbregs.exp | 6 +----- gdb/testsuite/gdb.arch/s390-vregs.exp | 5 +---- gdb/testsuite/gdb.base/auxv.exp | 6 +----- gdb/testsuite/gdb.base/catch-fork-static.exp | 4 +--- gdb/testsuite/gdb.base/jit-reader.exp | 4 +--- gdb/testsuite/gdb.server/extended-remote-restart.exp | 4 +--- gdb/testsuite/gdb.trace/stap-trace.exp | 4 +--- gdb/testsuite/lib/gdb.exp | 10 ++++++++++ 28 files changed, 39 insertions(+), 110 deletions(-) diff --git a/gdb/testsuite/gdb.arch/amd64-i386-address.exp b/gdb/testsuite/gdb.arch/amd64-i386-address.exp index 7f7863a1d57..8224d8d8218 100644 --- a/gdb/testsuite/gdb.arch/amd64-i386-address.exp +++ b/gdb/testsuite/gdb.arch/amd64-i386-address.exp @@ -18,11 +18,8 @@ # Test UNsigned extension of the 32-bit inferior address on a 64-bit host. # On native 32-bit host the test always PASSed. -if { (![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"]) || ![is_lp64_target] - || [istarget "*-*-openbsd*"] } then { - verbose "Skipping amd64->i386 address test." - return -} +require {is_any_target "x86_64-*-*" "i?86-*-*"} is_lp64_target +require {!istarget "*-*-openbsd*"} if [prepare_for_testing "failed to prepare" amd64-i386-address amd64-i386-address.S [list debug "additional_flags=-m32 -nostdlib"]] { return -1 diff --git a/gdb/testsuite/gdb.arch/arm-neon.exp b/gdb/testsuite/gdb.arch/arm-neon.exp index 54720e891e3..a34dbc3b051 100644 --- a/gdb/testsuite/gdb.arch/arm-neon.exp +++ b/gdb/testsuite/gdb.arch/arm-neon.exp @@ -15,10 +15,7 @@ # This file is part of the gdb testsuite. -if {![istarget "aarch64*-*-*"] && ![istarget "arm*-*-*"]} { - verbose "Skipping ${gdb_test_file_name}." - return -} +require {is_any_target "aarch64*-*-*" "arm*-*-*"} require allow_float_test diff --git a/gdb/testsuite/gdb.arch/i386-avx.exp b/gdb/testsuite/gdb.arch/i386-avx.exp index 72523c5d47b..ad2cb5852d1 100644 --- a/gdb/testsuite/gdb.arch/i386-avx.exp +++ b/gdb/testsuite/gdb.arch/i386-avx.exp @@ -19,10 +19,7 @@ # This file is part of the gdb testsuite. -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 AVX tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} require have_avx diff --git a/gdb/testsuite/gdb.arch/i386-avx512.exp b/gdb/testsuite/gdb.arch/i386-avx512.exp index b62cb9cf6bb..0c50591dcbe 100644 --- a/gdb/testsuite/gdb.arch/i386-avx512.exp +++ b/gdb/testsuite/gdb.arch/i386-avx512.exp @@ -19,10 +19,7 @@ # This file is part of the gdb testsuite. -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 AVX512 tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} standard_testfile diff --git a/gdb/testsuite/gdb.arch/i386-biarch-core.exp b/gdb/testsuite/gdb.arch/i386-biarch-core.exp index a36153cfe27..f70b0922212 100644 --- a/gdb/testsuite/gdb.arch/i386-biarch-core.exp +++ b/gdb/testsuite/gdb.arch/i386-biarch-core.exp @@ -21,10 +21,7 @@ # #define EM_X86_64 62 /* AMD x86-64 architecture */ # patch @0x12: 0x3E -> 0x03 -if {![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"]} { - verbose "Skipping i386 biarch core test." - return -} +require {is_any_target "i?86-*-*" "x86_64-*-*"} standard_testfile diff --git a/gdb/testsuite/gdb.arch/i386-bp_permanent.exp b/gdb/testsuite/gdb.arch/i386-bp_permanent.exp index 9f8b8e63409..d75ea648148 100644 --- a/gdb/testsuite/gdb.arch/i386-bp_permanent.exp +++ b/gdb/testsuite/gdb.arch/i386-bp_permanent.exp @@ -18,10 +18,7 @@ # Test stepping over permanent breakpoints on i386. -if {![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"]} { - verbose "Skipping skip over permanent breakpoint on i386 tests." - return -} +require {is_any_target "i?86-*-*" "x86_64-*-*"} standard_testfile diff --git a/gdb/testsuite/gdb.arch/i386-byte.exp b/gdb/testsuite/gdb.arch/i386-byte.exp index 02a2380cd3f..07f292c3313 100644 --- a/gdb/testsuite/gdb.arch/i386-byte.exp +++ b/gdb/testsuite/gdb.arch/i386-byte.exp @@ -19,10 +19,7 @@ # This file is part of the gdb testsuite. -if {(![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"])} { - verbose "Skipping i386 byte register tests." - return -} +require {is_any_target "x86_64-*-*" "i?86-*-*"} standard_testfile i386-pseudo.c diff --git a/gdb/testsuite/gdb.arch/i386-dr3-watch.exp b/gdb/testsuite/gdb.arch/i386-dr3-watch.exp index 2356c3c3e78..b5c43f2db35 100644 --- a/gdb/testsuite/gdb.arch/i386-dr3-watch.exp +++ b/gdb/testsuite/gdb.arch/i386-dr3-watch.exp @@ -19,9 +19,7 @@ # This test relies on being able to set 4 hardware watchpoints. Since # that is not a valid assumption across most targets, and we're # testing a x86 specific bug, skip everywhere else. -if {![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"]} { - return 0 -} +require {is_any_target "i?86-*-*" "x86_64-*-*"} standard_testfile diff --git a/gdb/testsuite/gdb.arch/i386-float.exp b/gdb/testsuite/gdb.arch/i386-float.exp index dd613444fdc..3ae6f849f34 100644 --- a/gdb/testsuite/gdb.arch/i386-float.exp +++ b/gdb/testsuite/gdb.arch/i386-float.exp @@ -18,10 +18,7 @@ # Test the x87 floating point information printout. -if {![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"]} { - verbose "Skipping i386 tests for x87 floating point support." - return -} +require {is_any_target "i?86-*-*" "x86_64-*-*"} standard_testfile .S diff --git a/gdb/testsuite/gdb.arch/i386-mpx-call.exp b/gdb/testsuite/gdb.arch/i386-mpx-call.exp index 8371546a8f9..95b68cd30df 100644 --- a/gdb/testsuite/gdb.arch/i386-mpx-call.exp +++ b/gdb/testsuite/gdb.arch/i386-mpx-call.exp @@ -14,10 +14,7 @@ # along with this program. If not, see . -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - untested "skipping x86 MPX tests." - return -} +require {is_any_target "i?86-*-*" "x86_64-*-*"} standard_testfile diff --git a/gdb/testsuite/gdb.arch/i386-mpx-map.exp b/gdb/testsuite/gdb.arch/i386-mpx-map.exp index d95adef7d8b..6d95fd89171 100644 --- a/gdb/testsuite/gdb.arch/i386-mpx-map.exp +++ b/gdb/testsuite/gdb.arch/i386-mpx-map.exp @@ -16,10 +16,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 MPX tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} standard_testfile diff --git a/gdb/testsuite/gdb.arch/i386-mpx-sigsegv.exp b/gdb/testsuite/gdb.arch/i386-mpx-sigsegv.exp index eaac31edbd3..84c04763257 100644 --- a/gdb/testsuite/gdb.arch/i386-mpx-sigsegv.exp +++ b/gdb/testsuite/gdb.arch/i386-mpx-sigsegv.exp @@ -16,10 +16,7 @@ # along with this program. If not, see . -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 MPX tests." - return -} +require {is_any_target "i?86-*-*" "x86_64-*-*"} standard_testfile diff --git a/gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp b/gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp index a33c4f526f7..5f9568357b4 100644 --- a/gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp +++ b/gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp @@ -22,10 +22,7 @@ # # Caveat: Setting the handle to nopass, ends up in a endless loop. -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 MPX tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} standard_testfile diff --git a/gdb/testsuite/gdb.arch/i386-mpx.exp b/gdb/testsuite/gdb.arch/i386-mpx.exp index 5534ec9aa81..156c3ae7831 100644 --- a/gdb/testsuite/gdb.arch/i386-mpx.exp +++ b/gdb/testsuite/gdb.arch/i386-mpx.exp @@ -15,17 +15,11 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 MPX tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} standard_testfile -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 MPX tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} require supports_mpx_check_pointer_bounds have_mpx diff --git a/gdb/testsuite/gdb.arch/i386-permbkpt.exp b/gdb/testsuite/gdb.arch/i386-permbkpt.exp index f2a39666903..42171093ba7 100644 --- a/gdb/testsuite/gdb.arch/i386-permbkpt.exp +++ b/gdb/testsuite/gdb.arch/i386-permbkpt.exp @@ -18,10 +18,7 @@ # Test inserting breakpoints over permanent breakpoints on i386 and amd64. -if {![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"]} { - verbose "Skipping i386 test for multi break at permanent breakpoint location." - return -} +require {is_any_target "i?86-*-*" "x86_64-*-*"} standard_testfile .S diff --git a/gdb/testsuite/gdb.arch/i386-pkru.exp b/gdb/testsuite/gdb.arch/i386-pkru.exp index 5d2b1a24a15..90d8c1d9d4c 100644 --- a/gdb/testsuite/gdb.arch/i386-pkru.exp +++ b/gdb/testsuite/gdb.arch/i386-pkru.exp @@ -15,10 +15,7 @@ standard_testfile -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - unsupported "skipping x86 PKEYS tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} set default_pkru_re 0x0 if { [istarget *-*-linux*] } { diff --git a/gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection.exp b/gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection.exp index 06cb2b1b818..256f6fde9e5 100644 --- a/gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection.exp +++ b/gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection.exp @@ -22,10 +22,7 @@ standard_testfile .c set binfile ${binfile} -if { ![istarget x86_64-*-*] && ![istarget i?86-*-*] } { - verbose "Skipping ${testfile}." - return -} +require {is_any_target x86_64-*-* i?86-*-*} require supports_fcf_protection diff --git a/gdb/testsuite/gdb.arch/i386-signal.exp b/gdb/testsuite/gdb.arch/i386-signal.exp index 9806970b245..17c6467076c 100644 --- a/gdb/testsuite/gdb.arch/i386-signal.exp +++ b/gdb/testsuite/gdb.arch/i386-signal.exp @@ -15,10 +15,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -if {![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"]} { - verbose "Skipping i386 unwinder tests." - return -} +require {is_any_target "i?86-*-*" "x86_64-*-*"} standard_testfile diff --git a/gdb/testsuite/gdb.arch/i386-sse.exp b/gdb/testsuite/gdb.arch/i386-sse.exp index a178247e066..6df98ec1219 100644 --- a/gdb/testsuite/gdb.arch/i386-sse.exp +++ b/gdb/testsuite/gdb.arch/i386-sse.exp @@ -19,10 +19,7 @@ # This file is part of the gdb testsuite. -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 SSE tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} standard_testfile .c diff --git a/gdb/testsuite/gdb.arch/i386-word.exp b/gdb/testsuite/gdb.arch/i386-word.exp index 4e1e634bb12..42d4446c4d0 100644 --- a/gdb/testsuite/gdb.arch/i386-word.exp +++ b/gdb/testsuite/gdb.arch/i386-word.exp @@ -19,10 +19,7 @@ # This file is part of the gdb testsuite. -if {(![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"])} { - verbose "Skipping i386 word register tests." - return -} +require {is_any_target "x86_64-*-*" "i?86-*-*"} standard_testfile i386-pseudo.c diff --git a/gdb/testsuite/gdb.arch/s390-tdbregs.exp b/gdb/testsuite/gdb.arch/s390-tdbregs.exp index 4908fff5619..7d1ea0bdedd 100644 --- a/gdb/testsuite/gdb.arch/s390-tdbregs.exp +++ b/gdb/testsuite/gdb.arch/s390-tdbregs.exp @@ -18,11 +18,7 @@ # This file is part of the gdb testsuite. - -if { ![istarget s390-*-*] && ![istarget s390x-*-* ] } { - verbose "Skipping s390 TDB register tests." - return -} +require {is_any_target s390-*-* s390x-*-*} standard_testfile .c diff --git a/gdb/testsuite/gdb.arch/s390-vregs.exp b/gdb/testsuite/gdb.arch/s390-vregs.exp index b1f8eed6701..21f468f8472 100644 --- a/gdb/testsuite/gdb.arch/s390-vregs.exp +++ b/gdb/testsuite/gdb.arch/s390-vregs.exp @@ -15,10 +15,7 @@ # Test vector register access for s390 platforms. -if { ![istarget s390-*-*] && ![istarget s390x-*-* ] } { - verbose "Skipping s390 vector register tests." - return -} +require {is_any_target s390-*-* s390x-*-*} standard_testfile .S diff --git a/gdb/testsuite/gdb.base/auxv.exp b/gdb/testsuite/gdb.base/auxv.exp index 3529d55261d..89242b6f432 100644 --- a/gdb/testsuite/gdb.base/auxv.exp +++ b/gdb/testsuite/gdb.base/auxv.exp @@ -18,11 +18,7 @@ # This file is based on corefile.exp which was written by Fred # Fish. (fnf@cygnus.com) -if { ! [istarget "*-*-linux*"] && ! [istarget "*-*-solaris*"] } { - verbose "Skipping auxv.exp because of lack of support." - return -} - +require {is_any_target "*-*-linux*" "*-*-solaris*"} standard_testfile .c diff --git a/gdb/testsuite/gdb.base/catch-fork-static.exp b/gdb/testsuite/gdb.base/catch-fork-static.exp index a59c6808f85..2844843638f 100644 --- a/gdb/testsuite/gdb.base/catch-fork-static.exp +++ b/gdb/testsuite/gdb.base/catch-fork-static.exp @@ -23,9 +23,7 @@ # Until "catch fork" is implemented on other targets... # -if {![istarget "*-*-linux*"] && ![istarget "*-*-openbsd*"]} { - return -} +require {is_any_target "*-*-linux*" "*-*-openbsd*"} # Reusing foll-fork.c since it's a simple forking program. standard_testfile foll-fork.c diff --git a/gdb/testsuite/gdb.base/jit-reader.exp b/gdb/testsuite/gdb.base/jit-reader.exp index 399cb67dcce..d603ad975ff 100644 --- a/gdb/testsuite/gdb.base/jit-reader.exp +++ b/gdb/testsuite/gdb.base/jit-reader.exp @@ -18,9 +18,7 @@ load_lib gdb-python.exp standard_testfile jit-reader-host.c -if { (![istarget x86_64-*-*] && ![istarget i?86-*-*]) || ![is_lp64_target] } { - return -1; -} +require {is_any_target "i?86-*-*" "x86_64-*-*"} is_lp64_target require allow_shlib_tests isnative diff --git a/gdb/testsuite/gdb.server/extended-remote-restart.exp b/gdb/testsuite/gdb.server/extended-remote-restart.exp index 6622b526125..8d3b384f348 100644 --- a/gdb/testsuite/gdb.server/extended-remote-restart.exp +++ b/gdb/testsuite/gdb.server/extended-remote-restart.exp @@ -35,9 +35,7 @@ if {[target_info gdb_protocol] != "extended-remote"} { # This test also makes use of 'detach-on-fork' which is not supported # on all platforms. -if {![istarget "*-*-linux*"] && ![istarget "*-*-openbsd*"]} { - return -} +require {is_any_target "*-*-linux*" "*-*-openbsd*"} # And we need to be able to reconnect to gdbserver. set gdbserver_reconnect_p 1 diff --git a/gdb/testsuite/gdb.trace/stap-trace.exp b/gdb/testsuite/gdb.trace/stap-trace.exp index b40c7bc9e0d..34122737d20 100644 --- a/gdb/testsuite/gdb.trace/stap-trace.exp +++ b/gdb/testsuite/gdb.trace/stap-trace.exp @@ -23,9 +23,7 @@ set cr "\[\r\n\]+" # Only x86 and x86_64 targets are supported for now. -if { ![istarget "x86_64-*"] && ![istarget "i?86-*"] } { - return -} +require {is_any_target "x86_64-*" "i?86-*"} proc compile_stap_bin {exec_name {arg ""}} { global srcfile diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 4b8337dbc1c..d30340e1df1 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -4201,6 +4201,16 @@ proc gdb_is_target_native { } { return [gdb_is_target_1 "native" ".*native \\(Native process\\).*" "$gdb_prompt $"] } +# Like istarget, but checks a list of targets. +proc is_any_target {args} { + foreach targ $args { + if {[istarget $targ]} { + return 1 + } + } + return 0 +} + # Return the effective value of use_gdb_stub. # # If the use_gdb_stub global has been set (it is set when the gdb process is -- 2.30.2