From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from CAN01-YT3-obe.outbound.protection.outlook.com (mail-yt3can01on2055.outbound.protection.outlook.com [40.107.115.55]) by sourceware.org (Postfix) with ESMTPS id 993D13858D39 for ; Fri, 11 Nov 2022 12:39:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 993D13858D39 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=efficios.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i3nBnw2wgNdgbszlhMOe0henouoWfsbLWVXuEJqZ4pI+jvqdXJp0t73AalX7V25TJeyGS9q6Sj8ra3mfXdJWT6iDsTLEbw7QiQOWkT3R37GY44Z0YwyfdpQjLfhohw03qvPfSPy6mGyPt/taWq+418wUvra+hK58vSpuf3PXrqPu1FmkuhiJEvR6ISR9hUL71UdEFgQ1qaEmzDKtuWPAzqwK553gs6Bw+JOjMFdLvffVHBFXlRg5VxiATE/cRnegicirZcIZSF0k/TALFJ8MnwUfpHSw2ddgxupZmB0HeofViviCuie56EkJpWc1ejt/KQBOLn6HOvz1g2b4+EkvIA== 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=Ynxy+tZ23ESXtKNRUxcCX8EzzqqkbNDb5lZEa6H0Tac=; b=Pn8W/SPoTIBizgEIbKlsFxK/+s0Iw+v5yc5H5fnrIoM2nQeNAht7P6ldSZ7InGD14YIgTg+wbMZhloa/MgHibzJGkNf2GHtXDFC27e42NjsA9bpehHZXy+H42NRqdt3udwyuD4VxvkIM0bzdGRXUuQiZ6ttXCbMXw20cgJlMrbzHtYkGoNhyn5udSM9KFtgrowVCfycdVHKkGbWMg66Jy/n2NEPYE8IvhF07W3JSGIVEKIzhwCnIwFX2N/OuXc6X2+kmWNBbZtNH+DdtJXkbKV2AQgaOAityPcf7GFqdVvlWLaW1kzKtJu3KX7SZ0a1ZDFUpRWy6v6xSOLmY1YnC/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=efficios.com; dmarc=pass action=none header.from=efficios.com; dkim=pass header.d=efficios.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ynxy+tZ23ESXtKNRUxcCX8EzzqqkbNDb5lZEa6H0Tac=; b=oZfNY2ll7TTwi4aWIqtP13H4OTe2XymBX5ZlJZ3ugCiCvy6plo9EXCML/x3fuHl+ni6ZVjooqBOH8wrIxTss6Ftzx/jBjrz8K7gWbmNqvXP88pYTqVce33iBIfoKZ26sEaxvL3+iY/qpOMGwNxD3fDtKG8lt/QCeUP9k6x5+bow9imuexwY28SAyrRdyiAA4jShqKe5Y7qqW0+jr3DdK4Fu4jtClPiHipazzotXYV8ceQC7qLfdFgUdZZM5jJxmOMJiAsY9+4xdUtti/UdeoQhBmpxT2eN3YrSBkADPfdSmR8jEG8d7/n2FcxGygHtcMF9bFJD9nLD1zylBx4wSVRA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=efficios.com; Received: from YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:a::23) by YT3PR01MB5529.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:61::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.13; Fri, 11 Nov 2022 12:39:23 +0000 Received: from YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM ([fe80::2465:ab25:2168:32df]) by YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM ([fe80::2465:ab25:2168:32df%4]) with mapi id 15.20.5813.014; Fri, 11 Nov 2022 12:39:22 +0000 Message-ID: Date: Fri, 11 Nov 2022 07:39:20 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Subject: Re: [PATCH,v3] [PR gdb/29272] Make sure a copy_insn_closure is available when we have a match in copy_insn_closure_by_addr Content-Language: en-US To: Luis Machado , gdb-patches@sourceware.org References: <20221026084100.28009-1-luis.machado@arm.com> <20221111093201.747609-1-luis.machado@arm.com> From: Simon Marchi In-Reply-To: <20221111093201.747609-1-luis.machado@arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: DS7PR05CA0071.namprd05.prod.outlook.com (2603:10b6:8:57::14) To YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:a::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YT1PR01MB2828:EE_|YT3PR01MB5529:EE_ X-MS-Office365-Filtering-Correlation-Id: 51007a8f-4be6-44a6-ea34-08dac3e1c2a9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IqL5TwPSvaxILpVkQTgZCf9lQ1EDZPQDxib1ubdmctiYWfIkSviSdN4FbZwD75nk7PQwwGYGtzG08hzS5ndFKwho4b/Qq1LqTkPvpGdWDf9PNaL8eNZplRXO+SrrgqG7ZfB0eIRnKK5bF9pIYxQUDAumVp/MtKBggaZwEBp9y8sqM098InjsFYpTpeU/MSsJBu3Y1rKDu07cV2Xx1fgEjn9BZKGE+hIsD93cMcIjGdUBESlKy32jWVIsdC4Mw2AUlyEfRyrNXRJvfbYO5k9RTAMSyyrA6HRTVHfvkF/y177vuAqVFCANfT75GAk1S0RDnl5TvoWek7XF3DuL7nVwiK9VLEQl8hAoyYNQ7mivr7bOzcQdCjWf08ft28seqHbUQadTeDuy91swBAa35MZjS/dhzpgFr9ATxFt5Uj3nWX9pMjoI1tgo8gcQPrP498hP4hpqjAJhEx7vtSeAYhfnUzN2pqyhd3LTJwfXEpWVN+2nWbdliaMCz9s5N/+Kt0+Q33/GRmuptWVaeC/SD7VtdeUD/4Kfug1mIBTOq2FTlcjHhotJ0vQiVyM5BvJfw2TJqmEJgGP+akp54g9X3aGvlDD0IzqvjV6P+W6o89lVnc9WTXpxKyvZwjnUqTlJeSmG67wUMjJD1D6rkoTDz1RV1fI46k+Ku9HGWq2rxzTGI/BTCAN0j4PTPPKU6uU+MHO1tZI7hEdT56PwiltooFnWqOfih3OM4m+2K5qhlWSSMG2vJCuYp3j/ivjoW6PKkdlxWYdjZzBMqPBjIqdcxIrMbCo7R8/Oo6uqj5fch+gtwQ89Odr7Haie7gpfddm7PrRy X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(396003)(376002)(366004)(39830400003)(346002)(136003)(451199015)(478600001)(6486002)(966005)(66476007)(66946007)(8676002)(66556008)(26005)(53546011)(316002)(6506007)(6512007)(41300700001)(31696002)(2616005)(8936002)(5660300002)(83380400001)(31686004)(36756003)(38100700002)(44832011)(186003)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NkpwbmttZllZVlJXM0VjUHFUaUxKMGQ3THJ5SzdTSnJQZDZYd1o1MkIyanhY?= =?utf-8?B?a3haREVYQUNEYnE4dkIvdGtsa0RpTmlzOS9tdlJKLzEralV4Qm45K2tPZ0tQ?= =?utf-8?B?N2UwLzVkQ1JJb3FiSSsvZEZiSU9TVnRaSlgwcndWZzhON2MxYnZQNzg1TU1v?= =?utf-8?B?ZVlETWVMVUVkOXhLeDBpRHJJbU84M2pIb2NrV0pianZRc1A3eVc5SnJsNC9Z?= =?utf-8?B?NHRESjVjM3Z4SlJIQklKMWQzaitOelBrREl2MWZUV1prU2t6WmhQWm54b1Ix?= =?utf-8?B?aWM3WmhKa3lxZE9WVDZVU3ZqYjNzTERsY05kL3NZUXZHejdCaGRNcjVia1Bj?= =?utf-8?B?aW9ubFJPOEhESTdDQ2pHbHRBbTJFQUk4Vk8vZm5BeVlHNlN0a0ZYUmRtMTdG?= =?utf-8?B?YUVRSmlZMEw2SVFTZ210Ti93N0VRbjh6dVFRODlOOVQwZTB0ckZrQ0FkUWJu?= =?utf-8?B?NFZORnA4MFdLZVE1bnlMblVRcjh0NysvNWp0TmYrNWFibzhOMC9QY2JXYTdR?= =?utf-8?B?OER3V2NYMjB4bzB2NUY1Rk1ja0l1ZVJQbWRTT1kzSkR2enhxMG9LS2wzb0lm?= =?utf-8?B?QUlrTmhhbjd1OHdJVytEaDNKUUNpS2ZUTkRKRlFFbmNBUkdFdlhFMGk1S3FG?= =?utf-8?B?WHNjSmwzdTl3YkprcWJ5YWUxUUN0Q0RrbnJjc0RESlVUdGNNTDVDdEZPcnlC?= =?utf-8?B?MUZLQVpSeTcxOW9nUW93OXBmV1VIWk9pU054RURlVzNMb0Fpck5ZbXJmdVFn?= =?utf-8?B?VkExcmFxZnlkdjhLUEprOWlsTmliQ0dXZjdreTRDSlFjNDEyeEx0K2llNXRL?= =?utf-8?B?NndaeDVndlZTc3RxRlB4Mno3eUdUOWZHYTc4d3R5Wi9zcnlGL3p4Z1hWQnpP?= =?utf-8?B?SmovYXdqSUlrRUx3b2pubmpLcERBaDVLUTFNOC9ZcGdYaElDYmtLRWhSaWJo?= =?utf-8?B?R3dtRG84T05iZmFQemRwc004Z0hhbDRQNTVqSGtESUJGMk5NRmNqNnNSV1NW?= =?utf-8?B?RTRJUWR6VVlNU3ZJOUZ1bThqZlRZSHBCempzSHVZc2tEU29HdXZIeGwxSUNq?= =?utf-8?B?bFFxWmVrbU96RGxxamd2N3p5V0xFWXJjNXVHQmoxcjQ4SXI4UWJCcm9pM0dF?= =?utf-8?B?TUttVWJUTlFEcmU4bTJ4OUhmZ3hSbTVPWGhvK20vRmlSTjl2a2UxS3NUN0Fp?= =?utf-8?B?aDFXVkQ1MUUwYklUb3U5R1Z4VnFpOWdERnZkS2VLOEI5UFQvOGVUL0JiNEZu?= =?utf-8?B?d1lycXNJM1F4dGNPNjM2ZXVzcVNnd3FlSzFNam54VFhrcWhGa3ljcVVxOGd6?= =?utf-8?B?WmtOK2FJcWdRQ3hkUVJLU213SVEySVFrdWxZb2xwRFRlbUVIOFg2RmJoVGFt?= =?utf-8?B?YVpMeVZPY05WdUZZUTJiSTgyN0NPSFlvY3dZTVJoSHlEbGh1K1VVMWlQOHU2?= =?utf-8?B?ZXZKc0JPRmI0eW9qczl2YXdhdFpVRDZjdTUwa3hGOG91VC9oaG9qRnc2c0tr?= =?utf-8?B?TWJnK1dHSzgxaXhjMkhhbXFiVGN6K1J5bEZSVXd3Skk4WUxnNEU3RjVHR1Vh?= =?utf-8?B?Y1YxY1ZxTE5SU2w5MS9MZVdIa2ZmNDVyTUJzVUNzS1U1bm9jVU5QZDFld01m?= =?utf-8?B?L1YvU0pXd2poR1owcE5KbG9IUmdnWDl1OEtzem9lWDFLODhUUk4vYnpPU3B4?= =?utf-8?B?NHhad3pPY29zL0FrZWQydExzOEQ3RzRVU2lIaWQvaTdnWE8vRFhGNWtHdzEy?= =?utf-8?B?SlhRdlRMOFkwallwV0dOc0s5N3ZKa0VIUUk2c2hlNzhtSTlTT1VEMkZCK041?= =?utf-8?B?bXpMK1VqNVFmZzVJSCtXbWJHY0llZUpUMEp2eHkyeVlyOUtUZ0xIRkhuc3Ry?= =?utf-8?B?SU80TGVQUEx5SzlBUVNqQWNFcU1rSnZqYllGU0dyMVJHODYyb3FUN0c0c3Z6?= =?utf-8?B?MTRsYTV2SktHaUVGc3BHMnFNbnZTT3VOY1d3eFY1a0xkTGVvNGNraHRIbm94?= =?utf-8?B?bzk2Q3Njc2liTm9MWWZ6cUZnMDF1L1RqaGFUOVFQMU0yQ0ZtbmF5RFZ0MTg5?= =?utf-8?B?SWdsN3h5Z0Q2S0pGa0xuTFlhUW9YcnM3VldxWHVWNWlaZ3VzYUdDaTFueWZJ?= =?utf-8?Q?611y+0uecwgpYptEyeopuvGq6?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 51007a8f-4be6-44a6-ea34-08dac3e1c2a9 X-MS-Exchange-CrossTenant-AuthSource: YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Nov 2022 12:39:22.8569 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4f278736-4ab6-415c-957e-1f55336bd31e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6kcuIbwEQKKcFtsOFB2dICvqiJI24bhGD1H60K9sMrpGnHRaxSc54DWv96n2horFFdGn7yC89rWomqqEgwEdiA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT3PR01MB5529 X-Spam-Status: No, score=-3033.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 11/11/22 04:32, Luis Machado wrote: > v2: Add try/catch block > v3: Let it throw after all, and make the rollback cleaner. > > PR gdb/29272 > > Investigating PR29272, it was mentioned a particular test used to work on > GDB 10, but it started failing with GDB 11 onwards. I tracked it down to > some displaced stepping improvements on commit > 187b041e2514827b9d86190ed2471c4c7a352874. > > In particular, one of the corner cases using copy_insn_closure_by_addr got > silently broken. It is hard to spot because it doesn't have any good tests > for it, and the situation is quite specific to the Arm target. > > Essentially, the change from the displaced stepping improvements made it so > we could still invoke copy_insn_closure_by_addr correctly to return the > pointer to a copy_insn_closure, but it always returned nullptr due to > the order of the statements in displaced_step_buffer::prepare. > > The way it is now, we first write the address of the displaced step buffer > to PC and then save the copy_insn_closure pointer. > > The problem is that writing to PC for the Arm target requires figuring > out if the new PC is thumb mode or not. > > With no copy_insn_closure data, the logic to determine the thumb mode > during displaced stepping doesn't work, and gives random results that > are difficult to track (SIGILL, SIGSEGV etc). > > Fix this by reordering the PC write in displaced_step_buffer::prepare > and, for safety, add an assertion to > displaced_step_buffer::copy_insn_closure_by_addr so GDB stops right > when it sees this invalid situation. If this gets broken again in the > future, it will be easier to spot. > > Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29272 LGTM, thanks: Approved-By: Simon Marchi Simon