Message ID | 20190809092128.94802-1-alan.hayward@arm.com |
---|---|
State | New, archived |
Headers |
Received: (qmail 59928 invoked by alias); 9 Aug 2019 09:21:47 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: <gdb-patches.sourceware.org> List-Unsubscribe: <mailto:gdb-patches-unsubscribe-##L=##H@sourceware.org> List-Subscribe: <mailto:gdb-patches-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-help@sourceware.org>, <http://sourceware.org/ml/#faqs> Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 59919 invoked by uid 89); 9 Aug 2019 09:21:47 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-23.8 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.1 spammy=buildbot X-HELO: EUR02-VE1-obe.outbound.protection.outlook.com Received: from mail-eopbgr20089.outbound.protection.outlook.com (HELO EUR02-VE1-obe.outbound.protection.outlook.com) (40.107.2.89) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 09 Aug 2019 09:21:44 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zg1sNORTGp6ba1TeIC2srxiXypU7/CcdBnNNQOh9Qz4=; b=BjR0a6LQOgQ0CgUEgGUYTLP6qL06ZKeRZGfqN4qqCg8KDxhfS0GIX3O3/7Ip0EnhMmCNPaAUonRyWLIb/P021ypCYnSImdAPcY+b//LjrLOuevCsuvX2KSJkR1kRQGXHF2YJ30nq8uSYi/meiZDjncuc7s1oIUprS3CqBOZY9Qw= Received: from DB6PR0801CA0054.eurprd08.prod.outlook.com (2603:10a6:4:2b::22) by AM5PR0801MB1843.eurprd08.prod.outlook.com (2603:10a6:203:3a::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2157.20; Fri, 9 Aug 2019 09:21:40 +0000 Received: from VE1EUR03FT037.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e09::205) by DB6PR0801CA0054.outlook.office365.com (2603:10a6:4:2b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2157.15 via Frontend Transport; Fri, 9 Aug 2019 09:21:40 +0000 Authentication-Results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; sourceware.org; dmarc=temperror action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT037.mail.protection.outlook.com (10.152.19.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2052.18 via Frontend Transport; Fri, 9 Aug 2019 09:21:38 +0000 Received: ("Tessian outbound a1fd2c3cfdb0:v26"); Fri, 09 Aug 2019 09:21:38 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 8aaae708489c09cc X-CR-MTA-TID: 64aa7808 Received: from 6b3e0c583588.1 (cr-mta-lb-1.cr-mta-net [104.47.4.53]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id 93703D3F-DAAE-42AB-8058-1FF6DC831946.1; Fri, 09 Aug 2019 09:21:32 +0000 Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-am5eur02lp2053.outbound.protection.outlook.com [104.47.4.53]) by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6b3e0c583588.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 09 Aug 2019 09:21:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z8sEUVUbKOl2Z7lhJ0TY4EKyeCGidLRiJepmFx8lcreBvI/Ynau14BCmffawqChUEtlYyvSfVmSkgzu4HKFZrBHYRQj2Prp6hioyCrv5ARhteoJqhs381HUQFTCSo78f71545HA0+tbzAhyuf7gGAG/TrsZLEGu7RBcf3tA1H9XPmo2ta7xBBaxGg8dUaqADS5cbM+f6qnTHKzYYD6KhSoP00HsaMUW02UCzqmzALQ3YarR6y3WYZW+Nnqp9fwso7vKYs09AMGraa+2khpScSCkb/6xbECcbeKkIpPqRQ9DBYWUCkjye06y6EGcLpKveCR83eH2LR2N8zaYV3lfA6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zg1sNORTGp6ba1TeIC2srxiXypU7/CcdBnNNQOh9Qz4=; b=nxFzwHA6Nk6A621AdJpXYRSXDRWXu3S9NsWYNQd6cj38uTjFicKThKl9igjNjrkwtO7dkGJ+AbJk13OTUHIve7Oiuf18388yuX12A1aZNcVgXVZQ2gJ8G9mzEVYDs3wG4MpuyPqqfHXmU35w27T2dtuQJ1Svz+Mbx0AOx2ZXieiAEKSO5lTzxfyeBND9sSmopzil4ai+FYErXrFYGTN2sUxMI+FshAqV3EL3PKrquJw7ERC0/bMKs+VfQ9E4HXXp1aJLj9TFp6H0fiEwCHs2xseuqh2Zh7Qfh/v1ejRRNPip0p2SWWu63nqYBsw2wNUsbghC5vvdb/u1y7J3igBfzA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zg1sNORTGp6ba1TeIC2srxiXypU7/CcdBnNNQOh9Qz4=; b=BjR0a6LQOgQ0CgUEgGUYTLP6qL06ZKeRZGfqN4qqCg8KDxhfS0GIX3O3/7Ip0EnhMmCNPaAUonRyWLIb/P021ypCYnSImdAPcY+b//LjrLOuevCsuvX2KSJkR1kRQGXHF2YJ30nq8uSYi/meiZDjncuc7s1oIUprS3CqBOZY9Qw= Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com (10.172.227.22) by DB6PR0802MB2567.eurprd08.prod.outlook.com (10.172.246.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2157.18; Fri, 9 Aug 2019 09:21:31 +0000 Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::5ce5:cf42:42dd:eda1]) by DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::5ce5:cf42:42dd:eda1%6]) with mapi id 15.20.2157.020; Fri, 9 Aug 2019 09:21:31 +0000 From: Alan Hayward <Alan.Hayward@arm.com> To: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org> CC: nd <nd@arm.com>, Alan Hayward <Alan.Hayward@arm.com> Subject: [PATCH] testsuite: disable break-interp.exp for Arm buildbot Date: Fri, 9 Aug 2019 09:21:31 +0000 Message-ID: <20190809092128.94802-1-alan.hayward@arm.com> Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; X-Microsoft-Antispam-Untrusted: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:DB6PR0802MB2567; x-ms-exchange-transport-forked: True x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:8273;OLM:8273; X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(979002)(4636009)(366004)(376002)(136003)(396003)(39860400002)(346002)(189003)(199004)(54534003)(6916009)(476003)(2616005)(2351001)(25786009)(52116002)(66946007)(6436002)(4326008)(386003)(26005)(102836004)(186003)(6506007)(316002)(6486002)(50226002)(305945005)(7736002)(54906003)(486006)(81166006)(5640700003)(81156014)(8676002)(44832011)(2906002)(5660300002)(3846002)(6116002)(64756008)(66556008)(66476007)(66446008)(86362001)(99286004)(53936002)(66066001)(2501003)(1076003)(478600001)(14444005)(36756003)(71190400001)(71200400001)(256004)(8936002)(6512007)(14454004)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0802MB2567; H:DB6PR0802MB2133.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info-Original: 4vks3mifHCAzrd7IqjqKWvPQ328ZEd7qLNT8AZaY4V+nM9WnxRcY0Ogte1VKAxXMwuQCeQeALQRuv5o42XcxIUE270F4g3lSnbV4pR7xafDLQpc5ipzZOQedirJ6tXjpsqobNpAQQOVkZrTxg4qzpeecck++t2PrsDKfWCBZ+OzoEOn38TYD9rL1EL6IbbyUrrJKYnfE/xk6ObAWVqT2NSyU/HbnrGwEZaOcCLROfUPyglwV8dePY02fny/KYd7CH+tF8sa/wC5PPW84V4EaPIAsqD3Zu3vQIsWocoz71PuumZC8snwX1cyVgc68Oe1OMkiGp2Zg8tMPewLP375WngrDX4ToqT5NqxJwsxSGiZ8OMpeDQ+FiLUw7U4BAbBu1t/y6N7zMLCb9l0OU8UuWNN+4hCn4a7nlzWwlEdbG6L4= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; Return-Path: Alan.Hayward@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT037.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 4f290731-a0f1-4fed-13fa-08d71caaf737 X-IsSubscribed: yes |
Commit Message
Alan Hayward
Aug. 9, 2019, 9:21 a.m. UTC
[As a side note, the Arm buildbot worker is now up and running!] [The better solution here would be to fix stop on solib, but I have no idea why it's failing (yet working on a real Arm box, which is where it really matters), for the moment I'd rather get buildbot working.] Add is_aarch32_on_aarch64_target to detect an Arm target that is running on AArch64 (for example, in an AArch64 docker). The key here is that the target will be Arm, but uname will still report AArch64. Use this test to disable gdb.base/break-interp.exp, as this test currently generates 132 sequential timeouts. This change will enable the Arm buildbot worker setup to run the testsuite within a reasonable timeframe. gdb/testsuite/ChangeLog: 2019-08-09 Alan Hayward <alan.hayward@arm.com> * gdb.base/break-interp.exp: Skip if is AArch32 on AArch64 target. * lib/future.exp (gdb_find_uname): New procedure. * lib/gdb.exp (is_aarch32_on_aarch64_target): Likewise. --- gdb/testsuite/gdb.base/break-interp.exp | 3 ++- gdb/testsuite/lib/future.exp | 10 ++++++++++ gdb/testsuite/lib/gdb.exp | 20 ++++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-)
Comments
On 8/9/19 10:21 AM, Alan Hayward wrote: > Use this test to disable gdb.base/break-interp.exp, I'd rather avoid completely skipping silently, since this way nobody will ever remember to enable it back. > as this test currently generates 132 sequential timeouts. So, in the general case, when something like that happens, it's better to make the testcase bail out earlier in response to one of the failures. Like, if we fail to run to a breakpoint or something, then there's no point in continuing the parts of the testcase that depend on running to that breakpoint. Is there some fundamental failures in each of the iterations of the test that we could detect to skip most of the tests in each of the iterations? From your mention of "fix stop on solib" not working, it sounds like the trouble is that when the testcase does "set stop-on-solib-events 1 + run", the inferior never stops and we time out. Can you make reach_1 detect it and bail out without waiting for a time out? Like, make the testcase put a breakpoint somewhere in case stop-on-solib-events fails to stop the inferior. That'd be better since it'd record the FAILs, and it would be target independent. Some minor comments below. > diff --git a/gdb/testsuite/gdb.base/break-interp.exp b/gdb/testsuite/gdb.base/break-interp.exp > index d6da653529..6a366db49f 100644 > --- a/gdb/testsuite/gdb.base/break-interp.exp > +++ b/gdb/testsuite/gdb.base/break-interp.exp > @@ -15,7 +15,8 @@ > > # This test only works on GNU/Linux. > if { ![isnative] || [is_remote host] || [use_gdb_stub] > - || ![istarget *-linux*] || [skip_shlib_tests]} { > + || ![istarget *-linux*] || [skip_shlib_tests] > + || [is_aarch32_on_aarch64_target]} { > continue > } ENOCOMMENTS. > > diff --git a/gdb/testsuite/lib/future.exp b/gdb/testsuite/lib/future.exp > index 122e652858..d43dd95904 100644 > --- a/gdb/testsuite/lib/future.exp > +++ b/gdb/testsuite/lib/future.exp > @@ -172,6 +172,16 @@ proc gdb_find_eu-unstrip {} { > return $eu_unstrip > } > > +proc gdb_find_uname {} { > + global UNAME_FOR_TARGET > + if [info exists UNAME_FOR_TARGET] { > + set uname $UNAME_FOR_TARGET > + } else { > + set uname [transform uname] > + } > + return $uname > +} > + Not sure this should be here. See the comment at the top of the file. Thanks, Pedro Alves
> On 9 Aug 2019, at 18:22, Pedro Alves <palves@redhat.com> wrote: > > On 8/9/19 10:21 AM, Alan Hayward wrote: > >> Use this test to disable gdb.base/break-interp.exp, > > I'd rather avoid completely skipping silently, since this way > nobody will ever remember to enable it back. > >> as this test currently generates 132 sequential timeouts. > > So, in the general case, when something like that happens, it's better > to make the testcase bail out earlier in response to one of the > failures. Like, if we fail to run to a breakpoint or something, then > there's no point in continuing the parts of the testcase that depend > on running to that breakpoint. > > Is there some fundamental failures in each of the iterations of > the test that we could detect to skip most of the tests in each of > the iterations? > > From your mention of "fix stop on solib" not working, it sounds like the > trouble is that when the testcase does "set stop-on-solib-events 1 + run", > the inferior never stops and we time out. Can you make reach_1 detect it > and bail out without waiting for a time out? Like, make the testcase > put a breakpoint somewhere in case stop-on-solib-events fails to stop > the inferior. > > That'd be better since it'd record the FAILs, and it would be target > independent. > Agreed. It’s not quite that simple - the failures happen in cases where there is no debug (eg BINprelinkNOdebugNOpieNO), so there is nowhere I can place a breakpoint. Maybe exit the test case if one of them times out? (I’m not keen on that either). Alan.
On 8/12/19 4:53 PM, Alan Hayward wrote: > Agreed. It’s not quite that simple - the failures happen in cases where there > is no debug (eg BINprelinkNOdebugNOpieNO), so there is nowhere I can place > a breakpoint. Even if you have no debug info, you should still be able to put a breakpoint on functions. GDB knows the functions exist from the ELF symbol tables (minsyms): Reading symbols from testsuite/outputs/gdb.base/break-interp/break-interp-BINprelinkNOdebugNOpieNO... (No debugging symbols found in testsuite/outputs/gdb.base/break-interp/break-interp-BINprelinkNOdebugNOpieNO) (gdb) b main Breakpoint 1 at 0x40074b (gdb) Thanks, Pedro Alves
diff --git a/gdb/testsuite/gdb.base/break-interp.exp b/gdb/testsuite/gdb.base/break-interp.exp index d6da653529..6a366db49f 100644 --- a/gdb/testsuite/gdb.base/break-interp.exp +++ b/gdb/testsuite/gdb.base/break-interp.exp @@ -15,7 +15,8 @@ # This test only works on GNU/Linux. if { ![isnative] || [is_remote host] || [use_gdb_stub] - || ![istarget *-linux*] || [skip_shlib_tests]} { + || ![istarget *-linux*] || [skip_shlib_tests] + || [is_aarch32_on_aarch64_target]} { continue } diff --git a/gdb/testsuite/lib/future.exp b/gdb/testsuite/lib/future.exp index 122e652858..d43dd95904 100644 --- a/gdb/testsuite/lib/future.exp +++ b/gdb/testsuite/lib/future.exp @@ -172,6 +172,16 @@ proc gdb_find_eu-unstrip {} { return $eu_unstrip } +proc gdb_find_uname {} { + global UNAME_FOR_TARGET + if [info exists UNAME_FOR_TARGET] { + set uname $UNAME_FOR_TARGET + } else { + set uname [transform uname] + } + return $uname +} + proc gdb_default_target_compile {source destfile type options} { global target_triplet global tool_root_dir diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index edc8dfcdfd..ffdb763104 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -2629,6 +2629,26 @@ proc is_aarch64_target {} { return [expr ![is_aarch32_target]] } +# Return 1 if this target is AArch32/Arm running on AArch64. + +proc is_aarch32_on_aarch64_target {} { + if { ![istarget "arm*-*-*"] } { + return 0 + } + + set uname_program [gdb_find_uname] + set command "exec $uname_program -m" + verbose -log "command is $command" + set result [catch $command output] + verbose -log "result is $result" + verbose -log "output is $output" + if {$result == 0 && [string match $output "aarch64"]} { + return 1 + } + return 0 +} + + # Return 1 if displaced stepping is supported on target, otherwise, return 0. proc support_displaced_stepping {} {