From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2126) id 4F6B53858C2F; Wed, 25 Jan 2023 16:21:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4F6B53858C2F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1674663687; bh=MiVjGGIie/JYSGZrnSLNjxItp42mwuXY7Hug4a7s76U=; h=From:To:Subject:Date:From; b=FtjwaUBkmHvIuqQKi39W+fGh+c0zl22r1ar1dFbvII8rrst+QKmpnLSiIWedSPkVk fn9qdrC9kms+sGlNXAjt64OV9Q8WKSLiRmG0Q6T/YozVHIDgL3fudh7E5bdM2RJ14A bvs8/4UKWD+jsij1usN6Q0gQG0c7hA8lMw+0IwrU= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Tom Tromey To: gdb-cvs@sourceware.org Subject: [binutils-gdb] Introduce and use is_any_target X-Act-Checkin: binutils-gdb X-Git-Author: Tom Tromey X-Git-Refname: refs/heads/master X-Git-Oldrev: 73c06197483d1dcb82d17580f60d94ebfecf7a3b X-Git-Newrev: c7ccb471770f90e5d35bf9ba873e5748c3e60a50 Message-Id: <20230125162127.4F6B53858C2F@sourceware.org> Date: Wed, 25 Jan 2023 16:21:27 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3Dc7ccb471770f= 90e5d35bf9ba873e5748c3e60a50 commit c7ccb471770f90e5d35bf9ba873e5748c3e60a50 Author: Tom Tromey Date: Sun Jan 22 10:05:00 2023 -0700 Introduce and use is_any_target =20 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. =20 This patch introduces a new is_any_target proc and then converts these tests to use it in a 'require'. Diff: --- 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/testsuite/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. =20 -if { (![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"]) || ![is_lp64_tar= get] - || [istarget "*-*-openbsd*"] } then { - verbose "Skipping amd64->i386 address test." - return -} +require {is_any_target "x86_64-*-*" "i?86-*-*"} is_lp64_target +require {!istarget "*-*-openbsd*"} =20 if [prepare_for_testing "failed to prepare" amd64-i386-address amd64-i386-= address.S [list debug "additional_flags=3D-m32 -nostdlib"]] { return -1 diff --git a/gdb/testsuite/gdb.arch/arm-neon.exp b/gdb/testsuite/gdb.arch/a= rm-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 @@ =20 # This file is part of the gdb testsuite. =20 -if {![istarget "aarch64*-*-*"] && ![istarget "arm*-*-*"]} { - verbose "Skipping ${gdb_test_file_name}." - return -} +require {is_any_target "aarch64*-*-*" "arm*-*-*"} =20 require allow_float_test =20 diff --git a/gdb/testsuite/gdb.arch/i386-avx.exp b/gdb/testsuite/gdb.arch/i= 386-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. =20 =20 -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 AVX tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} =20 require have_avx =20 diff --git a/gdb/testsuite/gdb.arch/i386-avx512.exp b/gdb/testsuite/gdb.arc= h/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. =20 =20 -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 AVX512 tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} =20 standard_testfile =20 diff --git a/gdb/testsuite/gdb.arch/i386-biarch-core.exp b/gdb/testsuite/gd= b.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 =20 -if {![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"]} { - verbose "Skipping i386 biarch core test." - return -} +require {is_any_target "i?86-*-*" "x86_64-*-*"} =20 standard_testfile =20 diff --git a/gdb/testsuite/gdb.arch/i386-bp_permanent.exp b/gdb/testsuite/g= db.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 @@ =20 # Test stepping over permanent breakpoints on i386. =20 -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-*-*"} =20 standard_testfile =20 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. =20 =20 -if {(![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"])} { - verbose "Skipping i386 byte register tests." - return -} +require {is_any_target "x86_64-*-*" "i?86-*-*"} =20 standard_testfile i386-pseudo.c =20 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-*-*"} =20 standard_testfile =20 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 @@ =20 # Test the x87 floating point information printout. =20 -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-*-*"} =20 standard_testfile .S =20 diff --git a/gdb/testsuite/gdb.arch/i386-mpx-call.exp b/gdb/testsuite/gdb.a= rch/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 . =20 =20 -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - untested "skipping x86 MPX tests." - return -} +require {is_any_target "i?86-*-*" "x86_64-*-*"} =20 standard_testfile =20 diff --git a/gdb/testsuite/gdb.arch/i386-mpx-map.exp b/gdb/testsuite/gdb.ar= ch/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 . =20 -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 MPX tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} =20 standard_testfile =20 diff --git a/gdb/testsuite/gdb.arch/i386-mpx-sigsegv.exp b/gdb/testsuite/gd= b.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 . =20 =20 -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 MPX tests." - return -} +require {is_any_target "i?86-*-*" "x86_64-*-*"} =20 standard_testfile =20 diff --git a/gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp b/gdb/testsuit= e/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. =20 -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 MPX tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} =20 standard_testfile =20 diff --git a/gdb/testsuite/gdb.arch/i386-mpx.exp b/gdb/testsuite/gdb.arch/i= 386-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 . =20 -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 MPX tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} =20 standard_testfile =20 -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 MPX tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} =20 require supports_mpx_check_pointer_bounds have_mpx =20 diff --git a/gdb/testsuite/gdb.arch/i386-permbkpt.exp b/gdb/testsuite/gdb.a= rch/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 @@ =20 # Test inserting breakpoints over permanent breakpoints on i386 and amd64. =20 -if {![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"]} { - verbose "Skipping i386 test for multi break at permanent breakpoint lo= cation." - return -} +require {is_any_target "i?86-*-*" "x86_64-*-*"} =20 standard_testfile .S =20 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 @@ =20 standard_testfile =20 -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - unsupported "skipping x86 PKEYS tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} =20 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} =20 -if { ![istarget x86_64-*-*] && ![istarget i?86-*-*] } { - verbose "Skipping ${testfile}." - return -} +require {is_any_target x86_64-*-* i?86-*-*} =20 require supports_fcf_protection =20 diff --git a/gdb/testsuite/gdb.arch/i386-signal.exp b/gdb/testsuite/gdb.arc= h/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 . =20 -if {![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"]} { - verbose "Skipping i386 unwinder tests." - return -} +require {is_any_target "i?86-*-*" "x86_64-*-*"} =20 standard_testfile =20 diff --git a/gdb/testsuite/gdb.arch/i386-sse.exp b/gdb/testsuite/gdb.arch/i= 386-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. =20 =20 -if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { - verbose "Skipping x86 SSE tests." - return -} +require {is_any_target i?86-*-* x86_64-*-*} =20 standard_testfile .c =20 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. =20 =20 -if {(![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"])} { - verbose "Skipping i386 word register tests." - return -} +require {is_any_target "x86_64-*-*" "i?86-*-*"} =20 standard_testfile i386-pseudo.c =20 diff --git a/gdb/testsuite/gdb.arch/s390-tdbregs.exp b/gdb/testsuite/gdb.ar= ch/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 @@ =20 # This file is part of the gdb testsuite. =20 - -if { ![istarget s390-*-*] && ![istarget s390x-*-* ] } { - verbose "Skipping s390 TDB register tests." - return -} +require {is_any_target s390-*-* s390x-*-*} =20 standard_testfile .c =20 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 @@ =20 # Test vector register access for s390 platforms. =20 -if { ![istarget s390-*-*] && ![istarget s390x-*-* ] } { - verbose "Skipping s390 vector register tests." - return -} +require {is_any_target s390-*-* s390x-*-*} =20 standard_testfile .S =20 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) =20 -if { ! [istarget "*-*-linux*"] && ! [istarget "*-*-solaris*"] } { - verbose "Skipping auxv.exp because of lack of support." - return -} - +require {is_any_target "*-*-linux*" "*-*-solaris*"} =20 standard_testfile .c =20 diff --git a/gdb/testsuite/gdb.base/catch-fork-static.exp b/gdb/testsuite/g= db.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 @@ =20 # Until "catch fork" is implemented on other targets... # -if {![istarget "*-*-linux*"] && ![istarget "*-*-openbsd*"]} { - return -} +require {is_any_target "*-*-linux*" "*-*-openbsd*"} =20 # 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 =20 standard_testfile jit-reader-host.c =20 -if { (![istarget x86_64-*-*] && ![istarget i?86-*-*]) || ![is_lp64_target]= } { - return -1; -} +require {is_any_target "i?86-*-*" "x86_64-*-*"} is_lp64_target =20 require allow_shlib_tests isnative =20 diff --git a/gdb/testsuite/gdb.server/extended-remote-restart.exp b/gdb/tes= tsuite/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] !=3D "extended-remote"} { =20 # 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*"} =20 # 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.tra= ce/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\]+" =20 # Only x86 and x86_64 targets are supported for now. =20 -if { ![istarget "x86_64-*"] && ![istarget "i?86-*"] } { - return -} +require {is_any_target "x86_64-*" "i?86-*"} =20 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\\).*" "$g= db_prompt $"] } =20 +# 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