From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2068.outbound.protection.outlook.com [40.107.22.68]) by sourceware.org (Postfix) with ESMTPS id EAD403858C00 for ; Wed, 7 Sep 2022 09:34:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EAD403858C00 ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=eM+zuXvj56dd9mMJ1znvPXJ1/koqQukbE8s6VyI5Ikj9EU1QrqbzL6Pga8M/WFVhKbpgYK38d+tes8bDvOmAWteMjoqsJO3RhY5tit+iSxo6L007f3FOQbY6F46Fjp9S/TL/UmlKqZztSheQdo3qwS1GwZoQKbGPnGhq3XqhSSFAQRde8XFTWGID82g9fT8bVe/tK6Nf3Q3fkRoJ589at+r5iQwJZIWyicloQ8+iE6T/eiYeii9f5QamOtq1XIVcSK5Z/ynnhTIunmuAT5OzGKd+/O3ftKX0EMCBEpBN9leeEwqnGdoR+Ug2Bz9gj/f+et7UcMoiwnYIITAHCfK79A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CUm0IPvDFD4JlkcsR0xDMqaR8xsGMfKtts6KSvabn1s=; b=NpzPh2f9B3Bq19S7STqMh00mLnL9ddVuvPfx6OsZQ+E8L5vwvVm4hLLr7hFr9eIJDfWZ3x06IarPMJrY2CL1hrwfSLs4tVg+ppZEKqzmn3tUMz6BxZv6tWas+96qjrtqzwo/KZJMacUM7KtJlNd5yV36QUDBEyZpX8RvW4hdQKOAOmUS8v+bjMdnb9/RErgx5rQedFZzgeeGVaJWMsquszxMbTy3hUj8NkJWVFZPCHmN24je6ExUW4M5Tg2rMnxQJZolr+mF1seyQwGiGKD5ehBATmBeNREL9+tcw0Fin1Y17KGCQlmcjovAK5jE3ms2LbzMoEtvGGG2q6UPxQ0d7g== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) Received: from DU2PR04CA0049.eurprd04.prod.outlook.com (2603:10a6:10:234::24) by DBAPR08MB5736.eurprd08.prod.outlook.com (2603:10a6:10:1a9::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.11; Wed, 7 Sep 2022 09:34:08 +0000 Received: from DBAEUR03FT049.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:234:cafe::fa) by DU2PR04CA0049.outlook.office365.com (2603:10a6:10:234::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.13 via Frontend Transport; Wed, 7 Sep 2022 09:34:08 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DBAEUR03FT049.mail.protection.outlook.com (100.127.142.192) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.13 via Frontend Transport; Wed, 7 Sep 2022 09:34:08 +0000 Received: ("Tessian outbound fa99bf31ee7d:v123"); Wed, 07 Sep 2022 09:34:08 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 716ce40d786e8f38 X-CR-MTA-TID: 64aa7808 Received: from 03d58cc2a6ba.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 353CC063-474F-4EF8-98EA-6F797B64D937.1; Wed, 07 Sep 2022 09:34:01 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 03d58cc2a6ba.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 07 Sep 2022 09:34:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TQgMEQ77KomPnQLiCRRP8r77wGE94zQVMrMgJZx05rrXck+ew2ago0L4jYUyOU7RMbjtTzNfcAPLxe5/CaHBXV7d00WsYe/fh5X87y8jYas2bP/knuee8jI2hbymUjDu8r93LlQYku7sss12F6Hohc6CVxwayiMdWt2vDQgFnDoA/f6ygjnuwcQ/8/K6Y2e93WjjeH0ZU+O4rUgAgHqNOnkBlMRSaiOaKe1Jub6stFB4mVrQcsDIYgFvNE4nR6gB2pC5iHKp79/lM/1x67GXi7sypKvEsSMIL980CxwTt4XgpdJOagfwHxfl00hEIjEtuARj0W3TYs+OdE5YG9dCHQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CUm0IPvDFD4JlkcsR0xDMqaR8xsGMfKtts6KSvabn1s=; b=CqkCg39djWl7QKt8Eu0z+tOgNRSYOZ7fjQVFWqJkq578oNiyFgoTTWR2XX3EsgY4M6Gz2nVij63jKOrdCrTZfGetXPlDJ0VseiE4Aw7Xbjcp8VHshfiZK3z2b3e6tApXTe1Lx/kL7LqpJKfuPQbGkjLP5ZZfK4cjIf6A3WtbEI5Jjkk4c/DhP7Jz52FTDV9Be5uzWiCNR9H9VUKgVYIr69Ln3mghAIAQYZmuz1hMsH+RW3z28JgSUjWJFo/J6SL6eooYhLJ/tTOsqMUD78e6orp9aVlkG9S/Ia2VxnMstsl+5Un2Nt6m4qopliLBuj3gZbTy3LwiU2n1YVRwSTXGmA== 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 Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) by GV1PR08MB7729.eurprd08.prod.outlook.com (2603:10a6:150:50::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.12; Wed, 7 Sep 2022 09:33:58 +0000 Received: from VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::b932:b8bf:a61d:db28]) by VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::b932:b8bf:a61d:db28%3]) with mapi id 15.20.5588.017; Wed, 7 Sep 2022 09:33:58 +0000 Message-ID: <154fd7ff-9620-db1d-6469-38a6a08278b3@arm.com> Date: Wed, 7 Sep 2022 10:33:53 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [committed][gdb/testsuite] Fix gdb.ada/access_tagged_param.exp for aarch64 Content-Language: en-US To: Tom de Vries , gdb-patches@sourceware.org References: <20220907092959.GA30111@delia> From: Luis Machado In-Reply-To: <20220907092959.GA30111@delia> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0400.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:189::9) To VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: a024c931-d47b-4f3a-6134-08da90b41d37 X-MS-TrafficTypeDiagnostic: GV1PR08MB7729:EE_|DBAEUR03FT049:EE_|DBAPR08MB5736:EE_ x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: D6gjAsAMvf016MvmdDPmWo9zm+0mS3+SHmga1BP5xlRfznm7OkdBvdQszlEB2CkGBr7Y7mNlfeQsdkIvOSknEW56D63cThmz7LqHgpE7qunBoebbLq8WEUyfxRpmvFEbC7ctdqFYJoDHCDGZbm1H356SvxUjNQP1TcjOB8z/9pb2Iw4jeyi/lnjRlLGK2YnCLMsx17xPkkx7jkOGytULsAaWVP/OukwWIePuvs58h5uyCxHAU0c3DR42kds/grexITkKWQ9Phy2/BBIBY9mGjYDqGWbS5y1vzitv1d2FaVqebP6Ez+a+l8xGjwFbuv+dt/RKxJMcoeRQ0c53IoIhWfJGr9U02BtHpcS34Cr0ZG2YTZlOG2o/81PyF29tYjkSMBExTIRgsokstPQN51UTkWwoXf/VEUaUguO2RcjywXDgKWL9sm8UahLzULUp1EGvXeuITALi6pmvgwotZWa8dciyJSVEIP4DFf87hlG4PvIo1dw0iZBiweqVhcXkT1ib3ucKdZwS98Xn8C1qq0vDp0W35alpjYaqRSd/RbwhkYAvMqbJ5ipxme77QSbsUfBmnUD9L/vq9QQZrUlfIwtMrp6/38ZFFTFamYNplEIto7abSKJshfi+VC+FkmN/aDYBmplhLeqVq9f9FMfdwM6TQGfigwVETVeJM/1/9oCzKYygIvbWhiFg1ZN2hPPOjlcRHxadyrBZllrSLM1NtllWwnwFHXWfkODp4GCAxn3KfznPhv+Ayc0aZ45oiEwX+hKWJ0IZXLA9g+whH6qxTgtUPBJn3s7AC9Z+PHl4flWTB+Vn8BgburK28JTzhl+HjAYg X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB3919.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(136003)(396003)(376002)(346002)(39860400002)(366004)(86362001)(6512007)(2616005)(44832011)(53546011)(26005)(6506007)(5660300002)(84970400001)(6666004)(186003)(31686004)(6486002)(478600001)(41300700001)(66476007)(8936002)(36756003)(31696002)(83380400001)(316002)(2906002)(66946007)(66556008)(8676002)(38100700002)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7729 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT049.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: ccbd7194-2cd5-4df2-1bfd-08da90b4171e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1rQyT+kHLezVFZSmA8TNcee+xiGdLM6+1G5yXKbG0TCgnrsfVs7wR2sinkxSnz+x2hBRBgxeeCVxPkrgB1m3ryduTXtA+H9RB7+CXPOBghsi7rPOVJTxFSFBtJxCCpKArRLZLJMj/jNytb5YCvd9+lTIHb6XJhYrcTDoNgufi+MNzJmBHGNDA0jTEGn17D9az6pi/06L46RMnNfshOZVOcEka22DiPjFL6The4MTBHkqHQbLqB5x5cdsMer1IBD+PFiKYkl6ZdXoCMDgmpmKzFzpemSng220BPxOfkdylkbryD4quiE8UyATCwYN4bLx5Bv3XWVPGOgeAsN/7MwgvoiWchlvWSh0D0Kw/XoDAK6Vjlfz9qn39eikXg/Ef0a1KZ8lq8rIWzNaOMXinQPWSffLZdhwNVdyN4VTUUrW6wg+vatd4/qf/rmJkqGPlEfeVZzf56EO/0nsA1oj+9kYsDaNleZKHG6jwCjtGCAk2b+sqQ0fz4szAnwdHkxxdaFEtRNLKYu+RIfPXfMYDcqW/xiWDOSvXPVMn3/W8XA8DqLThoBF4oqCO0h9WcpxeRW/w9mbRH3RajhMj6Dys5Zyngd/VshvdmJOn/wYfSxjKugpjQpVSebBZzlTLL+1vH5OZLDlfAHGVMLhAJhal5TOuwP6WozOHX7a/BmG2SZJVHWzuvFSVboZLzQfGECElogTGESYdK3kCEVTbZgQlqaWliHdnRA955jks27C5BdvV+FRyFYaTiiJ3zTXsEahsq4QG5Zp5ilz0tuB3JjDGAw5WvE0goqYU2Y/LJQ8pII/WXU88Lke2ToOnbgJXtof+7Rjp5ihHMZjDN8Mq4LGTi9HBg== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230016)(4636009)(136003)(396003)(376002)(39860400002)(346002)(46966006)(40470700004)(36840700001)(356005)(40460700003)(81166007)(70586007)(82740400003)(36860700001)(70206006)(82310400005)(316002)(8676002)(40480700001)(83380400001)(2906002)(5660300002)(2616005)(41300700001)(6512007)(8936002)(186003)(26005)(47076005)(6486002)(336012)(478600001)(53546011)(44832011)(6506007)(6666004)(31686004)(36756003)(31696002)(84970400001)(86362001)(43740500002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Sep 2022 09:34:08.5028 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a024c931-d47b-4f3a-6134-08da90b41d37 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DBAEUR03FT049.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5736 X-Spam-Status: No, score=-14.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_DMARC_NONE, KAM_NUMSUBJECT, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Sep 2022 09:34:13 -0000 On 9/7/22 10:30, Tom de Vries wrote: > Hi, > > On aarch64-linux, I run into: > ... > Breakpoint 2, pck.inspect (obj=0x430eb0 \ > , =0) at pck.adb:17^M > 17 procedure Inspect (Obj: access Top_T'Class) is^M > (gdb) FAIL: gdb.ada/access_tagged_param.exp: continue > ... > while on x86_64-linux, I see: > ... > Breakpoint 2, pck.inspect (obj=0x62b2a0, =2) at pck.adb:19^M > 19 null;^M > (gdb) PASS: gdb.ada/access_tagged_param.exp: continue > ... > Note the different line numbers, 17 vs 19. > > The difference comes from the gdbarch_skip_prologue implementation. > > The amd64_skip_prologue implementation doesn't use gcc line numbers, and falls > back to the architecture-specific prologue analyzer, which correctly skips > past the prologue, to address 0x4022f7: > ... > 00000000004022ec : > 4022ec: 55 push %rbp > 4022ed: 48 89 e5 mov %rsp,%rbp > 4022f0: 48 89 7d f8 mov %rdi,-0x8(%rbp) > 4022f4: 89 75 f4 mov %esi,-0xc(%rbp) > 4022f7: 90 nop > 4022f8: 90 nop > 4022f9: 5d pop %rbp > 4022fa: c3 ret > ... > > The aarch64_skip_prologue implementation does use gcc line numbers, which are: > ... > File name Line number Starting address View Stmt > pck.adb 17 0x402580 x > pck.adb 17 0x402580 1 x > pck.adb 19 0x40258c x > pck.adb 20 0x402590 x > ... > and which are represented like this internally in gdb: > ... > INDEX LINE ADDRESS IS-STMT PROLOGUE-END > 0 17 0x0000000000402580 Y > 1 17 0x0000000000402580 Y > 2 19 0x000000000040258c Y > 3 20 0x0000000000402590 Y > 4 END 0x00000000004025a0 Y > ... > > The second entry is interpreted as end-of-prologue, so 0x402580 is used, while > the actual end of the prologue is at 0x40258c: > ... > 0000000000402580 : > 402580: d10043ff sub sp, sp, #0x10 > 402584: f90007e0 str x0, [sp, #8] > 402588: b90007e1 str w1, [sp, #4] > 40258c: d503201f nop > 402590: d503201f nop > 402594: 910043ff add sp, sp, #0x10 > 402598: d65f03c0 ret > 40259c: d503201f nop > ... > > Note that the architecture-specific prologue analyzer would have gotten this > right: > ... > (gdb) p /x aarch64_analyze_prologue (gdbarch, pc, pc + 128, 0) > $2 = 0x40258c > ... > > Fix the FAIL by making the test-case more robust against problems in prologue > skipping, by setting the breakpoint on line 19 instead. > > Likewise in a few similar test-cases. > > Tested on x86_64-linux and aarch64-linux. > > Committed to trunk. > > Thanks, > - Tom > > [gdb/testsuite] Fix gdb.ada/access_tagged_param.exp for aarch64 > > --- > gdb/testsuite/gdb.ada/access_tagged_param.exp | 2 +- > gdb/testsuite/gdb.ada/ptype_tagged_param.exp | 2 +- > gdb/testsuite/gdb.ada/ref_param.exp | 2 +- > 3 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/gdb/testsuite/gdb.ada/access_tagged_param.exp b/gdb/testsuite/gdb.ada/access_tagged_param.exp > index 2b8e8ef172f..931c7fb12a9 100644 > --- a/gdb/testsuite/gdb.ada/access_tagged_param.exp > +++ b/gdb/testsuite/gdb.ada/access_tagged_param.exp > @@ -33,7 +33,7 @@ if ![runto "foo"] then { > return > } > > -gdb_breakpoint "pck.inspect" > +gdb_breakpoint "pck.adb:19" > > # Continue until we reach the breakpoint, and verify that we can print > # the value of all the parameters. > diff --git a/gdb/testsuite/gdb.ada/ptype_tagged_param.exp b/gdb/testsuite/gdb.ada/ptype_tagged_param.exp > index 0972e02a636..3a4a84a22ce 100644 > --- a/gdb/testsuite/gdb.ada/ptype_tagged_param.exp > +++ b/gdb/testsuite/gdb.ada/ptype_tagged_param.exp > @@ -27,7 +27,7 @@ set has_runtime_debug_info [gnat_runtime_has_debug_info] > > clean_restart ${testfile} > > -if ![runto "position_x" ] then { > +if ![runto "pck.adb:20" ] then { > return -1 > } > > diff --git a/gdb/testsuite/gdb.ada/ref_param.exp b/gdb/testsuite/gdb.ada/ref_param.exp > index cbe0c065d34..56347932564 100644 > --- a/gdb/testsuite/gdb.ada/ref_param.exp > +++ b/gdb/testsuite/gdb.ada/ref_param.exp > @@ -25,7 +25,7 @@ if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } > > clean_restart ${testfile} > > -if ![runto call_me] then { > +if ![runto pck.adb:20] then { > perror "Couldn't run ${testfile}" > return > } Great! Thanks for the fixing this Tom.