From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id KNgfHCjYU2gtZhQAWB0awg (envelope-from ) for ; Thu, 19 Jun 2025 05:28:08 -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=Ub5RMRW5; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=Ub5RMRW5; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 6E7711E11C; Thu, 19 Jun 2025 05:28:08 -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 521FF1E0C2 for ; Thu, 19 Jun 2025 05:28:07 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E422D383FAE5 for ; Thu, 19 Jun 2025 09:28:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E422D383FAE5 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=Ub5RMRW5; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=Ub5RMRW5 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazlp170130007.outbound.protection.outlook.com [IPv6:2a01:111:f403:c20a::7]) by sourceware.org (Postfix) with ESMTPS id 7D73B3842ED6 for ; Thu, 19 Jun 2025 09:25:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7D73B3842ED6 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 7D73B3842ED6 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c20a::7 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1750325130; cv=pass; b=YYg5NM4TrOgyp3wiz3CMQx2qS/EWnSnzt1ZPG7Ez3EoNdowJTA70rve/tnkG+n27gg6ggA0XFkMXAiBP4J8mJ+q4IZBefUyyf6oMLJ8JLDq74e5HOKwqjs3NPy5RXmTpWFp8EYSbHrm/jVEGtsqsbJvFRtWawgrpjVS6XOFRDaI= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1750325130; c=relaxed/simple; bh=wjTSCScmsfulgQsOs31d3Zrx4u4RtwFK4/Ot73cYbuo=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:From:Subject:To: MIME-Version; b=L2IonTjnowzr1ZgUwDUVdZT9ghsrm5Ao7uv19pk8oWYG0eCNb7TPa1qFIoxw1PjTME7N+EYI/R9buC1q0bYf68ga2ZdT+zsqnSzvxJJGPM653vY+6nZwsR0E4CyVLNAZca5GSojbm3tQLDd4+q51iG+BjEn9+/5I3c4nHlLUUIg= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7D73B3842ED6 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=oqrbtGqKh1H9IQHeeQILRhUNAoTI4WaXstgaFx1+cxr3jx+lkK2BjUgX/SAnzx4fBXUvrAHjoITEznVITxn/o68gqpxRrEEdgK5XnBNSYMt1alNjGW/0HJqML+WbJONV6Ho+GPyVqGUGlkwjOF13U1IyW2elKS3GyIGUfRXkkmPKysb3YXXEN8VdPputviOva0L8BmgpK2M69JpTZFQhNtTpvrMmslQqiJuwSne8K3qEuiDcwtXmyqVfWA7o83LxuusWDddHOhxXqKxuO1bdkvHidUO89cd+BDuYKIA3D75sJutRmePoJ54O4nfFkSBCC78gkewxlqTgWbDnBq8lUw== 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=Rjl4HaDA5hMBgRYQNyDR14FeJbUDVGkMSx8RQkaS2S0=; b=kL/81DcEVmy5b3MT66zc3T/RklZIbrlnUJUhfXbmowazItse7H0ON3LnDBuhTUc4RAaQo8wZ8QXhjnphoQejxsfEmtwVJJwf3hHPx7rowbuX7/nEFrmN8qMXdlehJwsd4qbH72XU2ChuSLzc0ytkBMzGTkLFvZIX5sT2xSqvtCtsmf9mJZrPYFuUV3ELQrS0mvTXz9b5Za+8frqoTaXN3SWHHJ2PjVBmc7KUryeGyetv886F9KpjAr07nG0E2qjloe9KrUPZyrw2gqH4aDHjxr7MA4S8rMX6Ha1fdbA6nCyMKDVgVfEIRY4STg4PYsz8ItkXJ9149g9TWmaoJT6H8w== 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=Rjl4HaDA5hMBgRYQNyDR14FeJbUDVGkMSx8RQkaS2S0=; b=Ub5RMRW5MRHqOESbyv8sCq4+3ftsoZMgthjQ2tASdYZK7kh25R3TYIEUhLEy5UAAuFRMzne/sW+4EpBPJcJCTVQY9L5Huzhh+s5bVrqAIgjqOPiO7r4Q86PStlhgzarUlSth5h0Q/Yg6RGtPj1RJKyKKMifIQKGxdOD6OfDF3MQ= Received: from DU2PR04CA0018.eurprd04.prod.outlook.com (2603:10a6:10:3b::23) by AS8PR08MB6552.eurprd08.prod.outlook.com (2603:10a6:20b:31c::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.21; Thu, 19 Jun 2025 09:25:28 +0000 Received: from DU2PEPF00028D02.eurprd03.prod.outlook.com (2603:10a6:10:3b:cafe::a8) by DU2PR04CA0018.outlook.office365.com (2603:10a6:10:3b::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8835.35 via Frontend Transport; Thu, 19 Jun 2025 09:25:27 +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 DU2PEPF00028D02.mail.protection.outlook.com (10.167.242.186) 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:25:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KfZPnmkFf+nw97hT01qOgLYSQzb+LzjscdriewSt1LtuE55DIbaPnRnNP06T4y3V8YbUpnsLmPkR7VuvVk0SOkg7lk2eDdhjpbz5y0UnGVV1+zyw6cG2C/si4kldY/ngCETbILFr1ZopT13Y4jDIUGYMSe+jZ9/S2djKKHKsKc+EeIt8DCdFb1vVqEHVFo3jkKOQM6ACsSJWTCDMZIJvxZm3SgQmqTUZwteR4xQ+wJJpQe4XLS6pIAcuMsJOw+7mQvANxZp44bbTy+DuVW58xXKLsXAR+gHci0rGHm6Ije/npuOmf/RjXcwXSNAy4qcQdUcT8nsKc7VTEJjbnaghUQ== 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=Rjl4HaDA5hMBgRYQNyDR14FeJbUDVGkMSx8RQkaS2S0=; b=H7okF21QLC3CC7zaFObEbl6gPPfsioXoOqm8M3LTUSgQVnmj4CWBaUrgZx5+njCM+XmdlTVtsUV333M3T9bcBSBbCUf2dz4Z07Qv7gv9//J9SiRfmafnS6z+cwHHNbY1vjSoZ4l54QcQWEWV1+AsP/qiirQgk1mQrBKL9k3gzmc9OLtsWdZz8EC/J4yP5vSg+Ld6QM3LFIcAmEe/yKHmNypuia5nywaa3p4Uofxn1NoK9pn2WuU8mBN7XflLcZzAPnFV6XGTU/yeRpp5qKvDCLwIJAVJOHSKMCHXJRJ+qrNa7yqBUBkJrgpwK3gm/95dm9x8VYoohofY6EapKGF/GA== 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=Rjl4HaDA5hMBgRYQNyDR14FeJbUDVGkMSx8RQkaS2S0=; b=Ub5RMRW5MRHqOESbyv8sCq4+3ftsoZMgthjQ2tASdYZK7kh25R3TYIEUhLEy5UAAuFRMzne/sW+4EpBPJcJCTVQY9L5Huzhh+s5bVrqAIgjqOPiO7r4Q86PStlhgzarUlSth5h0Q/Yg6RGtPj1RJKyKKMifIQKGxdOD6OfDF3MQ= 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 AS4PR08MB7829.eurprd08.prod.outlook.com (2603:10a6:20b:519::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8835.26; Thu, 19 Jun 2025 09:24:55 +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:24:55 +0000 Message-ID: <057fbcf3-9ddf-438c-b19d-90745c35c44d@arm.com> Date: Thu, 19 Jun 2025 10:24:47 +0100 User-Agent: Mozilla Thunderbird From: Luis Machado Subject: Re: [PATCH v4 06/11] gdb: amd64 linux coredump support with shadow stack. 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-7-christina.schimpe@intel.com> Content-Language: en-US In-Reply-To: <20250617121147.1956686-7-christina.schimpe@intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: JNXP275CA0025.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:18::13) To PR3PR08MB5852.eurprd08.prod.outlook.com (2603:10a6:102:8e::21) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: PR3PR08MB5852:EE_|AS4PR08MB7829:EE_|DU2PEPF00028D02:EE_|AS8PR08MB6552:EE_ X-MS-Office365-Filtering-Correlation-Id: 167e0b9c-4653-4ac6-10b0-08ddaf133a72 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|366016|1800799024|376014|7053199007; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?B?cWdBeHhzUzBwNUh0eDBKRkNXTTBVZ3poNkdwR1FBVDJETWROUjFGN3RmL2Vz?= =?utf-8?B?bkhvNUxIR01OV3YrcmZsK2tEeDJCZXNsS2twNUpTOWhmdlpxelJxRFV0VVJ1?= =?utf-8?B?MWtMRGkyclRoM1JtV0V5cXVSRys5ZDNQa08wb2lwMHdiM1oxQVMxQ0laRUZ2?= =?utf-8?B?VXQ4bkRZMS9zQ082MWdZRkJxVUtrSkkwTVJheExpbmQ5NjY2UHhsUWpZS0t1?= =?utf-8?B?MHNNaS9IbUFJeWNnbDdWd0JJMW05TjhNZWMyaDVzR0tiUVg5QnFGMGdMTEhL?= =?utf-8?B?OW56amVsa2I1aUtTU0JEVTBZVzA3dGRlejRhc1FrSWV1bmJkQ0QvSE8zSWRX?= =?utf-8?B?c0QySVFKSDhYWVJZeG1Pa3JJc0NxWFJBbHI2akwwZi9wa1NPbmJwNzVtcE1J?= =?utf-8?B?U1FFVUFiMlpseDRkb3NicDRmSkFtOU80RXNCTWx2ZktjUnBTZG5vQjZQZW9N?= =?utf-8?B?RTZqQmQ2aXhDUUdTZVo3aFh1blJOVTBVeDVTcC9sU0w0L211dkpoUEU3T0FF?= =?utf-8?B?NWdtQ2NIc1NFZ09Mb0FYNlJlVk82VFY0Zm0zbHlpM1NSbStZMXVQMEV0RFUy?= =?utf-8?B?ZWRtdk02cFpFR0FDRkQvKzVveGRMcnJpOEdYMHVLcHJCNGszclVZeWNxR0tF?= =?utf-8?B?VDJxWTl5SjlUclZ2Z0k2U3R3bE9zSWlmRFhsOGdGTWNxN2w5N0FQeFp0M2d0?= =?utf-8?B?UlZPdEM0eVo0RE92N2M2YUw3UzNNRnNkT3YvdkZTQWszdmFUOTQyeHA4eVho?= =?utf-8?B?MVloVGE0cUxFOW1rU0VvRmdrZGg0bFBPY29XREpsUktFb2hGZElNYWFqQzl2?= =?utf-8?B?Tjg0cFRvVFRKWDZXOVdZMytuM1VqR0h4NXhQRGZXMXgxbGgyQ0lxaTN4MktH?= =?utf-8?B?SXFXOU9aK1FLYnZTbWI0VFF4Tys5cGdiSkwvcEhMMTBLU2VmdWE4ZXJkbjJF?= =?utf-8?B?aUlyUzBQa1hvNVlMSVI5Tk4rdld4Sy9Ka2RZaHUrblorSmNra0xRaXRCeGhC?= =?utf-8?B?L3ViUTlXc1BTeHdYb0NLQnZ6ek5tYlRoVkIxWC9ZSUVmNzhxRXZzaVQ5VE1Q?= =?utf-8?B?RE14eEZwYVBNQWtKeVNPRzVjbTlVdmtuVWN3c1FaRStnTzBic096UDlDQWtm?= =?utf-8?B?OWFvTktwNzVtamtsWkJDOXB4OXN3elZkckNiYSsxWE9HR0lMZUZ0eFFUUlM1?= =?utf-8?B?QVJYaCsvc0tJMXRTNDlCZm1ldElJOWdWY2psRjdCSTRMWnRGQ1l1VnVBbTZX?= =?utf-8?B?NTdzcmpzQkk1aWM2VkJaOVBCSjVPK3kxTys2ZDBhUjI0WUJwbmtQSCtJblhr?= =?utf-8?B?T2dVQ1JnTVJPVEQ2dUV2Z0lqbUNkWnRqSi9VQWtDZ1Zyckp5ZEdLQ2UvT2lD?= =?utf-8?B?SGpMRndvUDVxck5NeThrY0JnajZXVE9KRUpRUndubXp5ZHRZd1c4aXB1REdQ?= =?utf-8?B?dklGa21PaEZXT3ZldkFZK2tWQjNVK29nSnkwU2NKdEZwWm9CcXBHbkpCdHJU?= =?utf-8?B?WU9PaFdSTDZvU2pFRWdhT2FrRm1NQURPQUNqUVdHcVdaMmo0SkRFS25ueXNt?= =?utf-8?B?aDVmTDE0R1FKUDhuRUliQ1o4bmFTQ3ZpWWN6eVpZS0xiWVRKc2M0M3ZPTWNm?= =?utf-8?B?N0lXSmhRZHJEYmpQWWpldkRzck5zL2NEdWR2NmcxYVRFMnpDdGtQL2RuTnBj?= =?utf-8?B?KzFOUjloZDNNYVJBbmtsazUyWVVLbVh4Tklpc1RsUVpUZ1V5WGpFWjVyS3FR?= =?utf-8?B?YnFSMzhEcEhGbW9wYmFRUVY0TmRWS3NIaE1kWEFERVVlanl3NDNTSWpSVk9M?= =?utf-8?B?QWRnSWRmYW5oNmM2S0RhRjJUS2NNWEJzREFveUNta1p1aUZDMENVVWlvcEMw?= =?utf-8?B?WExPRTV1NzVndjFFaUtKZTY5TGJQZGxITGRXTlFNZFFZRnRPaEdaWlVTUHQx?= =?utf-8?Q?wJgl+IbFi+g=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)(366016)(1800799024)(376014)(7053199007); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7829 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU2PEPF00028D02.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 848c668c-caf4-469f-b56f-08ddaf132732 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|1800799024|14060799003|35042699022|82310400026|376014|7053199007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?OVFMUEpFK0lXd0VoOThzRy95SHNBa3lhOE83MlRNZ2JsQzNRL0dJaW1TWkJZ?= =?utf-8?B?OElEK21pVkhoQmlxa1NVemF2YlF5SFNNdnQ2aXdONkxtWHBRY05VYmtoTVBa?= =?utf-8?B?d3VtU0I5YlNwak4wRmtOUnAxbFdyeW9Cbit0dDhLRGpHNEVPZDBhQlA3ellJ?= =?utf-8?B?NDZSc3kvMEJNTVcyTG1FSjcxallVTm5VMnJUU2N6NjFQdWlvcmZiem5xSkZo?= =?utf-8?B?NjUwL2F4TldQU3R3T0xDYVJKZWFEdndaTmxLQk8xUEZnVlIweDc5OEs2NkVR?= =?utf-8?B?SUJMUGdvbHpYVDkrNmJGZGIvZGpLcWVvejArWXVPWlZyb3pXZ1JtRjJ4WXVS?= =?utf-8?B?K0lVZmtuQW1pdDcySHRxVEYvdXZtNUhkakRNU29NVGszS29EMXRreUYyY01X?= =?utf-8?B?QXE2dGh0WXJnMWtqaS9qYmN5eFBzZVNja01XK3FBM0plWGRueWQyUVBWRGEv?= =?utf-8?B?NkpxY1BZeUt6NUI1elUxT2ZwbnMzdW85cEFUVEY2Q0oxQlZOTEQwU2hOYkVU?= =?utf-8?B?eFVaVk1BVEtnbjd3b0NiaVVCcE4zQUFpcXlsZjRoTC80RExoRDY1Y0plaTVI?= =?utf-8?B?RmJpZ3hzY3owK0tvMmMvMk1Ccis2N0wvTmNLdTdXR0syTE1kWElQdVFPWG4v?= =?utf-8?B?UDJFY3BvWXdsV05wSHJHWTNSYXhpV3hMYllkcG9qazVKVFN5RnVzWEwxaGdW?= =?utf-8?B?MFFZeGFLMWNBU3lMZ0VXakErKzBDUFJZdzh0ZkJabzJFSTlXRkhWRkIzdk5x?= =?utf-8?B?ak5oNnowTXQ5MFRqeC9MSlEyeFl5L1ZValBlZHZDc1I4L1N3Q2tSeVFIa1BH?= =?utf-8?B?eVhOYURqVFprNHpyVEljT1VyMlF0YUJQVFkzQ1BUSXZuUFEvNTdUNXoxN0tS?= =?utf-8?B?NGZLUzBUN3JKS1cwRFRPY3VtcE5ZZkJNSUVaTlZ6VlNZdC9maVlkQzZ4WU83?= =?utf-8?B?ajVaOGRVelVVNlBndWYwRU00eVFUSm5mbUdRU0dIZ3NQRDNBT2F1amFmQlpY?= =?utf-8?B?MU9wQldNcTNXN2tnYy9GbkpqcEVqSmYvVGN2ckJZWG5MdnZwYW1takh0SGJJ?= =?utf-8?B?QXYrRVRocmNVVW44Y29scWRWYnBUbUNGaFpWMkVrTzdyRis0dXliRDgxdGty?= =?utf-8?B?K2VNa2FuKzl4NjEzd0RSQ2FZRE9MVE9LVFF3ZXU5czJ3SE40UW5oWWtiZDJz?= =?utf-8?B?cjlvdHNncWhkTFFBZWlwa09hMkdzTTM3OENCOFgvK3dKQmZhMEQyQkYxWkpN?= =?utf-8?B?dzlZOWttOS9mRy9uNUYyVGwzdEM3TEJtQS82OVJGZk44SmFwRlJCQlFpVCtW?= =?utf-8?B?UDYwY21vRzlPVmlzQmpZb1VabGhZZTU3MnNNc1ZXYWhlNDZNVk1USHVRbVNp?= =?utf-8?B?ZkRTTUdtelNZZ05UWEpvbEhzaGJXVVNKVmFudXlXLzJEVzJMZFI1S1ZUQXdI?= =?utf-8?B?Um8rdjVkV3FtMFRDeUpzRitHMlU2d2VoWitzVGh2V3JWRWlDMWtoVXFLcEVX?= =?utf-8?B?d0lxekVSaW5aSXdRQldjK3VNMCtDQWdaNTRmYUxVdzB2bFR6emJHdmdZL0Z1?= =?utf-8?B?R2F5TDJRdUphNU5pVUUwQVlrRHRYYkFtc3p2Rkl1TzMvOXFJMnlhdVIrMEFT?= =?utf-8?B?amh2YnZMNGF2VEJXYzgzTE90cDM3ZnkyalQ4UFZLTmljRmZveHhBWStoUEZa?= =?utf-8?B?eXczb2ZaZWFwZ1QyM3lKL2Qrb1hvQXZDWXo1dlVKY0QxK0lCOHZteG1Lekh3?= =?utf-8?B?eXhoaWcxTXh3VjFVUnJTeHJENjl5MU5MSldKclV2WStncm9GQVNlMVFsaVN2?= =?utf-8?B?MGRnc3lqdHk0Y1FuMDZjVnRKeXVzZVVYOW03TU9wbzQwN0xJcTZHTExlaEdP?= =?utf-8?B?eUE5TkY2clRNMDA0dWJISUVEdVRaNmRvenE3cW1oSU9nclB2dkdvV2wyb3Zs?= =?utf-8?B?RDlTL1dpMzJZS0xuYmRSVFVITEpnVUVXU0RGL2Q1czM2dFRxdHc0WHNEellh?= =?utf-8?B?SVhFOExqRXBkcGQvUytNK3YyMkRwT2daOWgrem9ZdXVQTWp2TlVqeHYxMmpo?= =?utf-8?Q?UGRG/T?= 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)(36860700013)(1800799024)(14060799003)(35042699022)(82310400026)(376014)(7053199007); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2025 09:25:27.5223 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 167e0b9c-4653-4ac6-10b0-08ddaf133a72 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: DU2PEPF00028D02.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6552 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: > From: Felix Willgerodt > > Intel's Control-Flow Enforcement Technology (CET) provides the shadow > stack feature for the x86 architecture. > > This commit adds support to write and read the shadow-stack node in > corefiles. This helps debugging return address violations post-mortem. > The format is synced with the linux kernel commit "x86: Add PTRACE > interface for shadow stack". As the linux kernel restricts shadow > stack support to 64-bit, apply the fix for amd64 only. > > Co-Authored-By: Christina Schimpe > > Reviewed-by: Thiago Jung Bauermann > --- > gdb/amd64-linux-tdep.c | 57 +++++++++++++++++-- > .../gdb.arch/amd64-shadow-stack-corefile.exp | 50 ++++++++++++++++ > 2 files changed, 103 insertions(+), 4 deletions(-) > create mode 100644 gdb/testsuite/gdb.arch/amd64-shadow-stack-corefile.exp > > diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c > index f23db4dce22..d806d3cb1f7 100644 > --- a/gdb/amd64-linux-tdep.c > +++ b/gdb/amd64-linux-tdep.c > @@ -46,6 +46,7 @@ > #include "expop.h" > #include "arch/amd64-linux-tdesc.h" > #include "inferior.h" > +#include "x86-tdep.h" > > /* The syscall's XML filename for i386. */ > #define XML_SYSCALL_FILENAME_AMD64 "syscalls/amd64-linux.xml" > @@ -1592,6 +1593,14 @@ amd64_linux_record_signal (struct gdbarch *gdbarch, > return 0; > } > > +/* Get shadow stack pointer state from core dump. */ > + > +static bool > +amd64_linux_core_read_ssp_state_p (bfd *abfd) > +{ > + return bfd_get_section_by_name (abfd, ".reg-ssp") != NULL; We're using nullptr nowadays. > +} > + > /* Get Linux/x86 target description from core dump. */ > > static const struct target_desc * > @@ -1601,11 +1610,14 @@ amd64_linux_core_read_description (struct gdbarch *gdbarch, > { > /* Linux/x86-64. */ > x86_xsave_layout layout; > - uint64_t xcr0 = i386_linux_core_read_xsave_info (abfd, layout); > - if (xcr0 == 0) > - xcr0 = X86_XSTATE_SSE_MASK; > + uint64_t xstate_bv_mask = i386_linux_core_read_xsave_info (abfd, layout); > + if (xstate_bv_mask == 0) > + xstate_bv_mask = X86_XSTATE_SSE_MASK; > + > + if (amd64_linux_core_read_ssp_state_p (abfd)) > + xstate_bv_mask |= X86_XSTATE_CET_U; > > - return amd64_linux_read_description (xcr0 & X86_XSTATE_ALL_MASK, > + return amd64_linux_read_description (xstate_bv_mask & X86_XSTATE_ALL_MASK, > gdbarch_ptr_bit (gdbarch) == 32); > } > > @@ -1636,6 +1648,35 @@ static const struct regset amd64_linux_xstateregset = > amd64_linux_collect_xstateregset > }; > > +/* Supply shadow stack pointer register from the buffer SSP to the > + register cache REGCACHE. */ s/from buffer SSP/from SSP? Otherwise it seems to read strangely. > + > +static void > +amd64_linux_supply_ssp (const regset *regset, > + regcache *regcache, int regnum, > + const void *ssp, size_t len) > +{ > + x86_supply_ssp (regcache, *static_cast (ssp)); > +} > + > +/* Collect the shadow stack pointer register from the register cache > + REGCACHE and store it in SSP. */ > + > +static void > +amd64_linux_collect_ssp (const regset *regset, > + const regcache *regcache, int regnum, > + void *ssp, size_t len) > +{ > + x86_collect_ssp (regcache, *static_cast (ssp)); > +} > + > +/* Shadow stack pointer register. */ > + > +static const struct regset amd64_linux_ssp_register > + { > + NULL, amd64_linux_supply_ssp, amd64_linux_collect_ssp > + }; > + > /* Iterate over core file register note sections. */ > > static void > @@ -1652,6 +1693,14 @@ amd64_linux_iterate_over_regset_sections (struct gdbarch *gdbarch, > cb (".reg-xstate", tdep->xsave_layout.sizeof_xsave, > tdep->xsave_layout.sizeof_xsave, &amd64_linux_xstateregset, > "XSAVE extended state", cb_data); > + > + /* SSP can be unavailable. Thus, we need to check the register status > + in case we write a core file (regcache != nullptr). */ > + if (tdep->ssp_regnum > 0 > + && (regcache == nullptr > + || REG_VALID == regcache->get_register_status (tdep->ssp_regnum))) > + cb (".reg-ssp", 8, 8, &amd64_linux_ssp_register, > + "shadow stack pointer", cb_data); > } > > /* The instruction sequences used in x86_64 machines for a > diff --git a/gdb/testsuite/gdb.arch/amd64-shadow-stack-corefile.exp b/gdb/testsuite/gdb.arch/amd64-shadow-stack-corefile.exp > new file mode 100644 > index 00000000000..25cc1529f0d > --- /dev/null > +++ b/gdb/testsuite/gdb.arch/amd64-shadow-stack-corefile.exp > @@ -0,0 +1,50 @@ > +# Copyright 2021-2024 Free Software Foundation, Inc. > + > +# This program is free software; you can redistribute it and/or modify > +# it under the terms of the GNU General Public License as published by > +# the Free Software Foundation; either version 3 of the License, or > +# (at your option) any later version. > +# > +# This program is distributed in the hope that it will be useful, > +# but WITHOUT ANY WARRANTY; without even the implied warranty of > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +# GNU General Public License for more details. > +# > +# You should have received a copy of the GNU General Public License > +# along with this program. If not, see . > + > +# Test the shadow stack pointer note in core dumps. > + > +require allow_ssp_tests > + > +standard_testfile amd64-shadow-stack.c > +set gcorefile ${binfile}.gcore > + > +save_vars { ::env(GLIBC_TUNABLES) } { > + > + append_environment GLIBC_TUNABLES "glibc.cpu.hwcaps" "SHSTK" > + > + if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > + additional_flags="-fcf-protection=return"] } { > + return -1 > + } > + > + if { ![runto_main] } { > + return -1 > + } > + > + # Save ssp for comparison in the corefile session. > + set ssp [get_hexadecimal_valueof "\$pl3_ssp" ""] > + > + if { ![gdb_gcore_cmd $gcorefile "save a corefile"] } { > + return -1 > + } > + > + # Now restart gdb and load the corefile. > + clean_restart ${binfile} > + > + gdb_test "core ${gcorefile}" \ > + "Core was generated by .*" "re-load generated corefile" > + > + gdb_test "print /x \$pl3_ssp" "= $ssp" > +} The above test seems to exercise the case where a core file is generated by the gcore command. Do we also need to exercise the case where the linux kernel dumps the core file? Like Thiago's AArch64 series for GCS?