From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id eFIkDE7YU2gtZhQAWB0awg (envelope-from ) for ; Thu, 19 Jun 2025 05:28:46 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=mxjmwQyu; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=mxjmwQyu; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 2C2071E11C; Thu, 19 Jun 2025 05:28:46 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-9.1 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE autolearn=ham autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 2D2D11E0C2 for ; Thu, 19 Jun 2025 05:28:45 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6D703386B8A9 for ; Thu, 19 Jun 2025 09:28:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6D703386B8A9 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=mxjmwQyu; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=mxjmwQyu Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazlp170130007.outbound.protection.outlook.com [IPv6:2a01:111:f403:c20f::7]) by sourceware.org (Postfix) with ESMTPS id F33303844178 for ; Thu, 19 Jun 2025 09:26:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F33303844178 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org F33303844178 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c20f::7 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1750325200; cv=pass; b=Z08FJbOywjR7SdzkeqIXQCmaTL/SJTN8OXTWNKcLG1Y4ZkseUHS1uKpcmUDTc3fRdCRgtg8ugG5TnKULlp9IkRdn36GCcsy9Nk74/hZRU5qH0Rxh8TUn72UOFuuW0lKSGY6AZkDCKPwAAndmduK7/OxZ7O6YgwNRjh3rq/jRZwY= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1750325200; c=relaxed/simple; bh=X0vKzNjcxhFukBEcwOfqmZOFycn36LY9TgrhYNbxxoY=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:From:Subject:To: MIME-Version; b=Lo7PnsCsvAIdyasQJIn9SHi2Ww74p1oWsyu22ET3yPwa7PcaeRBzZC/yQPuC/WbvgMmfaxwYo9podOkOJyMQjimaTQBxuK6ClPHq9AKg93A2XzfhdVk3S8vkF389TxDVzu9XSCQaiRKFF0KCjxT7jWQYVEBtuQWO/WBSWKbBf8Y= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F33303844178 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=CFyAaR/X40fDe5r8XTv41SNIF/1iqCiGgkafC3eCQgSvcYGG0unNl+bIooi61wlj/Mw7uk8jmPRRbSbEH9j3BEJWXQx+nzGmfaBMi8E33Ccm7lkHH3j3nzq6/GbJxDVD0s37KCuwUrblHj9LqLRYFguasa/JM/Lm+Kgs+UymIWg3wlKN9+VI89bNY55LRXWmrx0cBpve51j/nXLI1JFLN3EZ5OeH4gOqRVlJvPpGdwzlm3fdkXgNAjGGcRb5qd477k0YuBe+MZ8WuO84azfR/UctbAMpVaujBoP0pS1bka2doBxql4q5V8GSVQNrLFmDzsWLVCFCqm9dtvK/qqFxMA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=nhg+w8aI1D1E8ScQLE9FMp+tWbUftrxiEj4nlOQbMhw=; b=afSqqa2bRrFmL4d8BFiIoSvIxLDpwklJ4FP2Jrvg3opxnc+S0YtaCnHGVrPO8TOvNI5gzRv8wuxPzIUYC/0U3NkSWjDJ7h9D5wUPeO6Iw/syWSB933DoNGNqxLUBx/yHcs0qZC2IGDJhklmcvUtNsCy0KnifW7nTQJwNmdO0NU+ONIBUHw9zzBYhvc3+YUWscJ3gHBbffnkiFyJiNWGFKDtFNtA6FhhYkJY22htX4zTyOWaD5YuGLXhPEmsNqGaaChYyCCl7ueImbqsbT14H5N1aDaNGr4yp3z+rzX83U3oGEBrHSvUtyVyKCamY9EOrBPq+7ogXskFDQKaSR4xHNg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=intel.com 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=arm.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]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nhg+w8aI1D1E8ScQLE9FMp+tWbUftrxiEj4nlOQbMhw=; b=mxjmwQyupqKJUPc4zGesFKbFnsjIqXyR5fwRGRKnH6KazFeRZ2gWk7XgVyre4NctVkFqZCV6jhBHi9Z3BODbGOBmsHXiJ3GQ4rZgpE+gJPfXO52zqLkNJGXWSJ8JEwpBVgK0N3lu3rWiIEhWpMsqWVGX6chOQ2UDFVa2aJRxfuk= Received: from DUZPR01CA0075.eurprd01.prod.exchangelabs.com (2603:10a6:10:3c2::7) by GVXPR08MB10861.eurprd08.prod.outlook.com (2603:10a6:150:154::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8835.29; Thu, 19 Jun 2025 09:26:35 +0000 Received: from DB1PEPF00039233.eurprd03.prod.outlook.com (2603:10a6:10:3c2:cafe::e4) by DUZPR01CA0075.outlook.office365.com (2603:10a6:10:3c2::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8835.36 via Frontend Transport; Thu, 19 Jun 2025 09:26:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by DB1PEPF00039233.mail.protection.outlook.com (10.167.8.106) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8857.21 via Frontend Transport; Thu, 19 Jun 2025 09:26:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hmh+y0siLdDXjazW7HNw4dpBipvaaCawM1zZORShxVPW3ezWFkeLiABnFALRN/H8fOMYAfbV+5FSqLUM++Wr1mnNrG87jUxPg3tSOJYq5fA3pQ9GrRosY030hc6EX3o43LKinK7OF7qM19pZtbB526KV/i6h3nCc0vl2YWomt1aUxEGpzoszpp6MPOkv31byncKX3e7nAlquFBGDqIUffu3No4T8sBqjjJqZpi9p0tOy6SG2Cpz4oS1SXh9nKEloAG5nSi77k9MU7raYSK4CvQOcnOxT3+4/JcPc1DDBL7c3DcVDK3NVHSmMMp34shhk7MQdBn5mxOiTm+sSWn1Nhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=nhg+w8aI1D1E8ScQLE9FMp+tWbUftrxiEj4nlOQbMhw=; b=pOn6Ojc71s/UMDBlXPxt5GpcLt2IEYHud9oLRadoQ/k2MMsupKJKTEw391NKcMAxJAMzPoNOuCuPAotAR7hh+7idnOcgkcgvadIzPO2SrL0+7i6OEde0qg8L/ZnPmkHGHrRp/BT3Co/Qlk3XRJxeQ9wmeaYoFcCLAmPppRZ15Xi4XEu895kDCydrygAtTHFpWZDS+wSRlPwuRtlvK453PIrBk5nvO5CSHA4tJdl8q2TUJGtg+K8Y07cOPrrR3svjhSzhg1BnUsNmisJJiSZI6FVSP/CII8IGdP655jZ2dihRKy3sr89uJjy0LtugvnBOfEJXw3EQ6cAEjXw2/D2KEA== 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=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nhg+w8aI1D1E8ScQLE9FMp+tWbUftrxiEj4nlOQbMhw=; b=mxjmwQyupqKJUPc4zGesFKbFnsjIqXyR5fwRGRKnH6KazFeRZ2gWk7XgVyre4NctVkFqZCV6jhBHi9Z3BODbGOBmsHXiJ3GQ4rZgpE+gJPfXO52zqLkNJGXWSJ8JEwpBVgK0N3lu3rWiIEhWpMsqWVGX6chOQ2UDFVa2aJRxfuk= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from PR3PR08MB5852.eurprd08.prod.outlook.com (2603:10a6:102:8e::21) by DB3PR08MB8940.eurprd08.prod.outlook.com (2603:10a6:10:431::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8835.30; Thu, 19 Jun 2025 09:26:01 +0000 Received: from PR3PR08MB5852.eurprd08.prod.outlook.com ([fe80::f44:d113:1c29:825d]) by PR3PR08MB5852.eurprd08.prod.outlook.com ([fe80::f44:d113:1c29:825d%6]) with mapi id 15.20.8857.019; Thu, 19 Jun 2025 09:26:01 +0000 Message-ID: <53c8b427-8113-4499-ba9a-5f6294b92857@arm.com> Date: Thu, 19 Jun 2025 10:26:00 +0100 User-Agent: Mozilla Thunderbird From: Luis Machado Subject: Re: [PATCH v4 10/11] gdb, gdbarch: Introduce gdbarch method to get the shadow stack pointer. To: Christina Schimpe , gdb-patches@sourceware.org Cc: thiago.bauermann@linaro.org, eliz@gnu.org References: <20250617121147.1956686-1-christina.schimpe@intel.com> <20250617121147.1956686-11-christina.schimpe@intel.com> Content-Language: en-US In-Reply-To: <20250617121147.1956686-11-christina.schimpe@intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO2P265CA0450.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:e::30) To PR3PR08MB5852.eurprd08.prod.outlook.com (2603:10a6:102:8e::21) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: PR3PR08MB5852:EE_|DB3PR08MB8940:EE_|DB1PEPF00039233:EE_|GVXPR08MB10861:EE_ X-MS-Office365-Filtering-Correlation-Id: b49af9a5-9045-4b19-436b-08ddaf1361d5 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?B?ZStTRDN3a0lBVmVseEkrMUNHYTVxSHRuMlJFSXBzOVliN1U0WWlrM2lYME1D?= =?utf-8?B?aEEyUWJ5Y2xPRDdYWUdNQW5rcUZmMVpmSDM4OERFSVh6RG9sRWlJQVVxU00r?= =?utf-8?B?NXY5dG5jOVZxOVZ2aWQ0dlVnZlRCZFFVbk9jaW5nU2tUcmhmQXlrZnQrdXhP?= =?utf-8?B?UFh5czB5Z29sZmltY3YzazV4VENuQjZXeU9DZXhzR0FKZms4bGc1WGNMNHhp?= =?utf-8?B?bmo3eWJOQVRHMHZwNmJXdjViS1pXN0NkeVc1cGl2SEt0WTh0bFV6cXRSTzJP?= =?utf-8?B?a2xicGxPMkRkdVNFTjdmSUJwSHRySGJDYi9MNHpBYU4zK2szeGJGdnhYTzJp?= =?utf-8?B?Y2IrMHROeHpmaEhxWXZiZWFQRjdvRVoxamZvdmo0RkFEUmJBamNYSkp5dVMz?= =?utf-8?B?cTJkRi95dWpuRjQvV0JRUjRHbG4yZERPS2JpYVRLSk12Z29VN2xiZ2RsemRl?= =?utf-8?B?RWRPaW1yUEFvYmF5a0x2bFZ4TnNIbXcwRStIWDkzUHFSUlRNWG5UWUFheGFr?= =?utf-8?B?OUxMenl1S25QakVmZmY5dnFWMks0bTBPY3RvYVBTU3Q1Mm1kVFdiYWxGZEh3?= =?utf-8?B?b1hZMmRUb3owRUR3MWRwWVRVdlZZc0F5WVNuMlZiWXRJL2hBMENicnZ5Y2Yw?= =?utf-8?B?d1Y0M0MwYW5Bc09iSm9DNGVkZ096MGJ2N04zR081VXVqUmlEZmNPM2hhVHJN?= =?utf-8?B?TWplSjREMTkxMzJHZHpJaU8vNVdDR2hSaEQvR2U2QXA1ZWw4bStRdVMyQy9s?= =?utf-8?B?cUpoWnFjOUV5SFBBcnVJSXRkZ3hObkVvN2tWbzd3emcxWDljejltVWFqemZp?= =?utf-8?B?WGxuVUhQTC9TU3R4SjBhUG93bGdQMVhHZWExK1VVeThOWjNXd3Voci9FNS92?= =?utf-8?B?QWhhaklWWXlBckNmK01sMVZuTTZHOGN0eU5zZGxJckk0WXV1eUxhZFVuYWUw?= =?utf-8?B?K1JYM1p2cXJyWTlOYUJhbzJqVlJOaUt2ZWdMRGl2S0R2MVFVbm5iQzNpWHFy?= =?utf-8?B?bGszR2ZCQnE5L3RZdUtZZzgwR1NLZ095WWF0L005WThNcHZFdlpDZlEzZkFm?= =?utf-8?B?c1BIN1QzL1NaMzhITG9yWHpUTTExVXRoSEZ6cUVvYksyWm5wNEdseXk3eXY1?= =?utf-8?B?N1ZiMDN5UXRGQ2RTcFdKQVNrYkpxaWNsR2FVcmZMNWtSUXUrSGsxTWF0eTFw?= =?utf-8?B?Nm9BdVduVkF4ZG9QSTk4ZTBXMmd3Y2JFUStzVHl6MzR3N3NCeVBVSy9YSGdN?= =?utf-8?B?dHpiQXpTcTRvWkw3SGp0WVVsM2hwL0puTDRUVGswTmFwL2F3blYzNkgrL2h4?= =?utf-8?B?REE0b01rZVVGNWpNc1MxZW1kWkN5T3lIWWt0WWU3RXEwOVFKdHdNaDh5eDkx?= =?utf-8?B?M0JjWEFZdnpPeVExTXA4K1BUczN2ZFU1ckN5WTV1VHQ3Q0ZGUklaUFhUSVVB?= =?utf-8?B?b1lDQk9YSktLdG9sdVRJejBZTHAyaWxpeFpaSVNmSEhBS1dQa3hzS25hSERF?= =?utf-8?B?QWVIcWZpcHNkdkl3MHQ4NCtZcitsV3hSSCthZllvYVRCdi9nZkRGYzZlTC9w?= =?utf-8?B?TGlLN0I0Q0laUEtkSmVmbEppOUhmcFQwa0FFN0lPZHA3eTFESFl2OEw1eUly?= =?utf-8?B?SnZ5YUliRExyWW1xaFNNYi8vWi9BWitPTlZMcXVlVUhNOFl1SDFoWnlBRUpF?= =?utf-8?B?NjAvcER4Qkd0UGRyakFOR0ZOTkpXVjNBb1pGZDRMYjM5T0Vtb2dXQmYrcDhN?= =?utf-8?B?VEY3ZXV6Qi9aVG1JWHFvTGs0OFNJaWZuVDZmS3VQM01BZTZHcWJsbzlGaENN?= =?utf-8?B?UTZvWFlBdkNIUktscmo0VVovdkRHNHNacHdwbDNwNEc3aUVxVVE1SkNsM0pi?= =?utf-8?B?NkJVWVBJS1RXcU5LUFM0U0VueVQwbUpvL3JlV25CQjBFbERZY2dyeVJ0T0ZZ?= =?utf-8?Q?tl4VDaQGPoE=3D?= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PR3PR08MB5852.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB8940 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB1PEPF00039233.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 2262b861-203a-4811-2300-08ddaf134e45 X-Microsoft-Antispam: BCL:0; ARA:13230040|14060799003|82310400026|376014|1800799024|35042699022|36860700013; X-Microsoft-Antispam-Message-Info: =?utf-8?B?VDBSaTY1RGVsRUNFa2dPMUw1clpXSWJidk45d3lhY1N3bGZPaDd4Mk8vRk9C?= =?utf-8?B?akhNQjA1bGJFSUFrSHo0TjJ1NHJjSDYrU2tqQXNJREE1VFU0R0JPTGFQc2Nz?= =?utf-8?B?TXU0M24wUm9Yem5FdEhoZFArblFrUGM0UjE2a1I0RmYrUWEwV04rRTFrMHQ5?= =?utf-8?B?ZWJzSU5RdXFQSWNQWjBuWmROZ0k4T2JxTktBMDhFWDNBOWxXQ0RSR29KMkNi?= =?utf-8?B?S1B0bGNtZlV1QkFNR0pxTmUvbkxpclN1c1FWS0RkWnFWbE8zTDVJUzNmcWow?= =?utf-8?B?a0tUcyt1MVUvN1ZuMzcvOTFWeXRReTlMQ2dHeDJCcmEzYmFkSmVMb3hTMDZE?= =?utf-8?B?VG8rWFZKazhoazJDNC9FUmhrTEpIdW5pWnpTOVhraGkreEtWYkIxNmF4ZW1I?= =?utf-8?B?SmQzeGwvRjdxdTM1UU5zQlNTa012bjJySWt5bXRIU2FSZmdkS21RUi9jOVRB?= =?utf-8?B?SDFqYU4vWFBxNTM2dmhBQ3UrUUNBZjhvSUVQMkh5TmdmeEQzcU5uUW9rL242?= =?utf-8?B?U2l1K3VyZjJMdTdGMHVwbFFSaDFDNHRYSjdyK2hwVW0rQ05UVzhheExuNzBl?= =?utf-8?B?aTkzMEtnZjRYN2tRRC93SzYxcHlCK0xjb09SdUZKMERZc1M4WldLVDQrc1p6?= =?utf-8?B?MWJKejVHczVITndidHU2QTQxZ0Z4NW04Y2tXNWVObEtJSWpBTkkyNkNtQlNx?= =?utf-8?B?dUpQc0p4M1NmQkUzN0twYUVQWTZKTlMyc24vZkVQS1ZqaGpGSGhaQzloQlV5?= =?utf-8?B?eXY0RTRST0xNMUF1Zis3YVRTRXpUZWNjUUtHb1RUN21jVVF3V0F6NFdBemQy?= =?utf-8?B?NnZ4a1paK0xzL2NPRnhjMVFnQW14R2ZSSUNzVVdndzFUcFN3dzdoQXNpMnVq?= =?utf-8?B?azZJdFhVeDBKVmF5UmlWSXZhS1liM0kvdzE1Q2NpZ3ZTdmhWVXlZYlRmZXVC?= =?utf-8?B?aXU4amt4SThUb0hxZlRzV2s5YjNTT1hvL1BXdU5WMDI0bC95ek5LaEdqR3JC?= =?utf-8?B?QUVXYVNXZmdIVnRUSGF3OG85bEhNb1RyYmlFNnErcktCb3NBbzNNeHlnU0RX?= =?utf-8?B?a3I0SlJ3S01HRDJWNW9seWpjNkdQNnJXZmdBcHU2S1BTMHdoNUJLdWRWMEh4?= =?utf-8?B?UWU5Ymp3K09DdVBiSnl3S0NCcDZjOWd0YU4zMWd4bUZEbDBsMFFQUU8xRXNR?= =?utf-8?B?WTRRektqektnUjBYV2NHNHZvVlBYNmdqZzA0WkRqdlIxWWx4ZTljdU95RmU4?= =?utf-8?B?UCtFaUFhSlNVYUZSSEJIeDBXRmN6ZG9yWDB1eVF2U0NOeUR5OGx6UmozS3VX?= =?utf-8?B?RHp1U0RpdENUdDhuVFhlQ2JHdU9mcEg0WWRCbE5hbzFldlQzZ0F3RzZzZEJ1?= =?utf-8?B?a2F3dFlmNmxtTWxoZWRBNWZQRi9ZOWZVa2wxcmcrRjlxM2Mwa2RZZ3d4TEJj?= =?utf-8?B?UkQ1UFJsdXhNYlk0NFlpMmo4N25RRGFrTWlseDhwVTh5enRFYTN5Rm5yL2JT?= =?utf-8?B?bEl1clVBR05USjZDbmxkd0lwaXNrUXFJUXVKdk1HM1VCU2VHQTFTZ3lzbDNo?= =?utf-8?B?T2ovMlRxa1BNYTluc2h0Y3M5VFE3SUV2M0x4L2pjVS9nTkcyVDRXZ2hXTE5G?= =?utf-8?B?YWJSaGNWN2FnVGhlR3pidVBQYXZkM2RqSkZ4TmJ4QXhTTFBRenFSd29KRU40?= =?utf-8?B?dHdzSmg0NS9OZ0FuemVzSEJjVTFsY21YTUl5KzFwU1VQaTRGNUxpbVFuMy9G?= =?utf-8?B?SllvZmE2RzU1VXV6ek1Uem54Q1YyY1B2N1R6R01VRzY0UkZUSERaTDZWVXJ1?= =?utf-8?B?NjZoaHQrOUZyRkhZbjVqQ0FJOXQrZll1UXh1S280c2NCVDNkSG9MZEZnYXBk?= =?utf-8?B?OFY0Qm1qK3IrNFFONE4yaEVHRVF0WXhwU2RMLzRDVFJWZkQ1QllBVWVad2ds?= =?utf-8?B?Y2I3aTY1VDB0d0hXd3lJYk9WdHZ6c01TT25KVVphSHRhTWhuaFRwMEJQNzFT?= =?utf-8?B?UXBnT0tPTG9pRWhwUkJNb3pCWHVDMEM1K01DNUhCYkJHaHdQZHBDcmd1Uk9T?= =?utf-8?Q?AvKsxT?= X-Forefront-Antispam-Report: CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(14060799003)(82310400026)(376014)(1800799024)(35042699022)(36860700013); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2025 09:26:33.6006 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b49af9a5-9045-4b19-436b-08ddaf1361d5 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129]; Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF00039233.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB10861 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org On 6/17/25 13:11, Christina Schimpe wrote: > This patch is required by the following commit. What particular entry in the series uses this? The displaced stepping one? If so, we should make it more explicit. > > Reviewed-by: Thiago Jung Bauermann > --- > gdb/arch-utils.c | 10 ++++++++++ > gdb/arch-utils.h | 5 +++++ > gdb/gdbarch-gen.c | 22 ++++++++++++++++++++++ > gdb/gdbarch-gen.h | 10 ++++++++++ > gdb/gdbarch_components.py | 15 +++++++++++++++ > 5 files changed, 62 insertions(+) > > diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c > index be0494fba1e..c86df72a6d8 100644 > --- a/gdb/arch-utils.c > +++ b/gdb/arch-utils.c > @@ -1218,6 +1218,16 @@ default_gdbarch_return_value > readbuf, writebuf); > } > > +/* See arch-utils.h. */ > + > +std::optional > +default_get_shadow_stack_pointer (gdbarch *gdbarch, regcache *regcache, > + bool &shadow_stack_enabled) > +{ > + shadow_stack_enabled = false; > + return {}; > +} > + > obstack *gdbarch_obstack (gdbarch *arch) > { > return &arch->obstack; > diff --git a/gdb/arch-utils.h b/gdb/arch-utils.h > index 1509cb7441e..14a84b74733 100644 > --- a/gdb/arch-utils.h > +++ b/gdb/arch-utils.h > @@ -414,4 +414,9 @@ extern enum return_value_convention default_gdbarch_return_value > struct regcache *regcache, struct value **read_value, > const gdb_byte *writebuf); > > +/* Default implementation of gdbarch default_get_shadow_stack_pointer > + method. */ > +extern std::optional default_get_shadow_stack_pointer > + (gdbarch *gdbarch, regcache *regcache, bool &shadow_stack_enabled); > + > #endif /* GDB_ARCH_UTILS_H */ > diff --git a/gdb/gdbarch-gen.c b/gdb/gdbarch-gen.c > index 3ca19c427a3..4490d53a940 100644 > --- a/gdb/gdbarch-gen.c > +++ b/gdb/gdbarch-gen.c > @@ -263,6 +263,7 @@ struct gdbarch > gdbarch_use_target_description_from_corefile_notes_ftype *use_target_description_from_corefile_notes = default_use_target_description_from_corefile_notes; > gdbarch_core_parse_exec_context_ftype *core_parse_exec_context = default_core_parse_exec_context; > gdbarch_shadow_stack_push_ftype *shadow_stack_push = nullptr; > + gdbarch_get_shadow_stack_pointer_ftype *get_shadow_stack_pointer = default_get_shadow_stack_pointer; > }; > > /* Create a new ``struct gdbarch'' based on information provided by > @@ -537,6 +538,7 @@ verify_gdbarch (struct gdbarch *gdbarch) > /* Skip verify of use_target_description_from_corefile_notes, invalid_p == 0. */ > /* Skip verify of core_parse_exec_context, invalid_p == 0. */ > /* Skip verify of shadow_stack_push, has predicate. */ > + /* Skip verify of get_shadow_stack_pointer, invalid_p == 0. */ > if (!log.empty ()) > internal_error (_("verify_gdbarch: the following are invalid ...%s"), > log.c_str ()); > @@ -1414,6 +1416,9 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) > gdb_printf (file, > "gdbarch_dump: shadow_stack_push = <%s>\n", > host_address_to_string (gdbarch->shadow_stack_push)); > + gdb_printf (file, > + "gdbarch_dump: get_shadow_stack_pointer = <%s>\n", > + host_address_to_string (gdbarch->get_shadow_stack_pointer)); > if (gdbarch->dump_tdep != NULL) > gdbarch->dump_tdep (gdbarch, file); > } > @@ -5583,3 +5588,20 @@ set_gdbarch_shadow_stack_push (struct gdbarch *gdbarch, > { > gdbarch->shadow_stack_push = shadow_stack_push; > } > + > +std::optional > +gdbarch_get_shadow_stack_pointer (struct gdbarch *gdbarch, regcache *regcache, bool &shadow_stack_enabled) > +{ > + gdb_assert (gdbarch != NULL); > + gdb_assert (gdbarch->get_shadow_stack_pointer != NULL); > + if (gdbarch_debug >= 2) > + gdb_printf (gdb_stdlog, "gdbarch_get_shadow_stack_pointer called\n"); > + return gdbarch->get_shadow_stack_pointer (gdbarch, regcache, shadow_stack_enabled); > +} > + > +void > +set_gdbarch_get_shadow_stack_pointer (struct gdbarch *gdbarch, > + gdbarch_get_shadow_stack_pointer_ftype get_shadow_stack_pointer) > +{ > + gdbarch->get_shadow_stack_pointer = get_shadow_stack_pointer; > +} > diff --git a/gdb/gdbarch-gen.h b/gdb/gdbarch-gen.h > index c276cd66d71..b8d1df94f59 100644 > --- a/gdb/gdbarch-gen.h > +++ b/gdb/gdbarch-gen.h > @@ -1806,6 +1806,8 @@ extern void set_gdbarch_core_parse_exec_context (struct gdbarch *gdbarch, gdbarc > technologies. For example, the Intel Control-Flow Enforcement Technology > (Intel CET) on x86 provides a shadow stack and indirect branch tracking. > To enable inferior calls the function shadow_stack_push has to be provided. > + The method get_shadow_stack_pointer has to be provided to enable displaced > + stepping. > > Push the address NEW_ADDR on the shadow stack and update the shadow stack > pointer. */ > @@ -1815,3 +1817,11 @@ extern bool gdbarch_shadow_stack_push_p (struct gdbarch *gdbarch); > typedef void (gdbarch_shadow_stack_push_ftype) (struct gdbarch *gdbarch, CORE_ADDR new_addr, regcache *regcache); > extern void gdbarch_shadow_stack_push (struct gdbarch *gdbarch, CORE_ADDR new_addr, regcache *regcache); > extern void set_gdbarch_shadow_stack_push (struct gdbarch *gdbarch, gdbarch_shadow_stack_push_ftype *shadow_stack_push); > + > +/* If possible, return the shadow stack pointer. On some architectures, the > + shadow stack pointer is available even if the feature is disabled. To > + return the shadow stack enablement state configure SHADOW_STACK_ENABLED. */ > + > +typedef std::optional (gdbarch_get_shadow_stack_pointer_ftype) (struct gdbarch *gdbarch, regcache *regcache, bool &shadow_stack_enabled); > +extern std::optional gdbarch_get_shadow_stack_pointer (struct gdbarch *gdbarch, regcache *regcache, bool &shadow_stack_enabled); > +extern void set_gdbarch_get_shadow_stack_pointer (struct gdbarch *gdbarch, gdbarch_get_shadow_stack_pointer_ftype *get_shadow_stack_pointer); > diff --git a/gdb/gdbarch_components.py b/gdb/gdbarch_components.py > index ab685b14ec7..ccbdcaf07c9 100644 > --- a/gdb/gdbarch_components.py > +++ b/gdb/gdbarch_components.py > @@ -2855,6 +2855,8 @@ Some targets support special hardware-assisted control-flow protection > technologies. For example, the Intel Control-Flow Enforcement Technology > (Intel CET) on x86 provides a shadow stack and indirect branch tracking. > To enable inferior calls the function shadow_stack_push has to be provided. > +The method get_shadow_stack_pointer has to be provided to enable displaced Maybe... "The get_shadow_stack_pointer gdbarch hook has to be..." > +stepping. > > Push the address NEW_ADDR on the shadow stack and update the shadow stack > pointer. > @@ -2864,3 +2866,16 @@ pointer. > params=[("CORE_ADDR", "new_addr"), ("regcache *", "regcache")], > predicate=True, > ) > + > +Method( > + comment=""" > +If possible, return the shadow stack pointer. On some architectures, the > +shadow stack pointer is available even if the feature is disabled. To > +return the shadow stack enablement state configure SHADOW_STACK_ENABLED. > +""", > + type="std::optional", > + name="get_shadow_stack_pointer", > + params=[("regcache *", "regcache"), ("bool &", "shadow_stack_enabled")], > + predefault="default_get_shadow_stack_pointer", > + invalid=False, > +) Otherwise looks OK. Reviewed-By: Luis Machado