From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id uTdQKeTAPmowiBkAWB0awg (envelope-from ) for ; Fri, 26 Jun 2026 14:11:48 -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=ZxRFP2ws; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=ZxRFP2ws; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id A41F31E098; Fri, 26 Jun 2026 14:11:48 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::32]) (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 8E89B1E024 for ; Fri, 26 Jun 2026 14:11:47 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id AE78D4BA2E16 for ; Fri, 26 Jun 2026 18:11:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AE78D4BA2E16 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=ZxRFP2ws; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=ZxRFP2ws Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazlp170110003.outbound.protection.outlook.com [IPv6:2a01:111:f403:c207::3]) by sourceware.org (Postfix) with ESMTPS id 9EA274BA2E3A for ; Fri, 26 Jun 2026 18:10:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9EA274BA2E3A 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 9EA274BA2E3A Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c207::3 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1782497403; cv=pass; b=xJMtPXQtPMMZVbDvYAJBM9AMp5hsy8qB/iqT5/ZVjGCgYTKKm2CdUlNMDwe30waNV+Kznd2kDxCVqqvbTwEkx5udXWq7HmFQ1m/QzTN0cVOVcMB6hLaWyQJLUCW7o+DvRE6yovG/l1sKM4v5WNwAuggicyDw9Rf5kYZtDctym+E= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1782497403; c=relaxed/simple; bh=qFFMobB+XOOXWnYhyLxQ0itTXlaA6vx6mO8oosvk/M0=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=hFsQpNNTf/qOgo+uC/4UcKFww6GE87ZbBIcjc3Rin1xKSFvE0cQgvVita+ioyoAJVd30SWoHhyejVmc+uHiK66Za68EF8Wg5d87rwezJ3+DjN9Pbgd/TKbOnIMQTYDewAattbLTppLFFZDFgLz7sS/7sMt1fRsju3xb3tQ9BJpw= ARC-Authentication-Results: i=3; 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=ZxRFP2ws; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=ZxRFP2ws DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9EA274BA2E3A ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=PvDCQ00ulQB35Lz9M7DRq2n2mEtSrhHibAvPp5pOQOUl5AcHLo5XVvg1nOMNdwBOhCvJZKszcM09F4S8OzLzxuRUU/CKDd0cjkzfXnQz/2MkEYjvakhVDg7A9hZMlnoUSHqxEcX9Z5HctR/IJwmXqbfrIBIbbno7n8A+YwncmAuK2AvPLugkAPSeIPCQeo4HG9AaC0A5+0CrrHhX6b1SYR5iWqxxfN49YEPtqhRefOQp86q1n01w74mR7hRkxNZG+xlahpDl5/c+T7rfdnumoJI0Qgfe8XNIusnSwzvbgwhBkIMYiScd2hjlWjMf8xDg3mUzZBSgWb7ys/2tjpUvYQ== 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=c6TnajZ23PYZ8JrRCmUXeduV2aQFKBlv+vMjMvHBF0c=; b=L6WnkyoTJh4qmN6PKqV0yzKCalyu3Ov8jbEpVFHzjiZMuhK7v05vSL1sdikWePgD4kYL9/bP0rT0Ra8IiL6szos3xGBiQH401ESord/1zynydKgQDma4zKUQTArMzTVyrjBwYr2ocGf35CYXeYHQMh3hkC4IQbCn+1PjH44DYLGATZd9lUCzSVfd8Z70PxI5fHvsiS83jWV9m/UkupMk1OOsQZil0C81FjwwOpmmlUkNsLtC149g1J9Kf1BCa/VC1ak4JdPbvBITk9arpOq4mjmDV6pqM3JFtNUcP/GxiyAabtaj0ZunjZgdVdG7nt0DkTGrER8NIZ79ZlGkZyZT3Q== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) 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=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=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=c6TnajZ23PYZ8JrRCmUXeduV2aQFKBlv+vMjMvHBF0c=; b=ZxRFP2wss4kAMtsS59Q6fRHrfUP1vpHA94yYAVRUCcywV15wMK4scW3VzZXUGlje2BdyGUBug+AyGoHmKlHqt6VQA0k1bs82AhqPMLE3uXJie6mby30jCfyVLWrVJapaVShJwgs1EIwdqDA+il8hyMxGwZLvodW+ueHZQj/q2C8= Received: from CWLP265CA0457.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:1d4::11) by GV2PR08MB8727.eurprd08.prod.outlook.com (2603:10a6:150:b6::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.17; Fri, 26 Jun 2026 18:09:47 +0000 Received: from AM4PEPF00027A5D.eurprd04.prod.outlook.com (2603:10a6:400:1d4:cafe::fc) by CWLP265CA0457.outlook.office365.com (2603:10a6:400:1d4::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.159.17 via Frontend Transport; Fri, 26 Jun 2026 18:09:46 +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 AM4PEPF00027A5D.mail.protection.outlook.com (10.167.16.69) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.181.6 via Frontend Transport; Fri, 26 Jun 2026 18:09:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=X4lPleZ3ilvBid6YhQ4CwoWbJaSZmNKcVfM3gRAGNsgDa2lLsjTSYuAk0LrUAZVFJ8B5uDDyIKMSCP3OW7xgFaBMFzYyEh0sXRmP2AKq73AlftvY0v1jsJF7yyCzohMstEP4CKTldWwjFoghiqhYNmBR/Rn9DL6hpy9T5tT+T9WSmzFt7EOaIwwYRgn3M8APS7/JESX6UdxtaOlCpcp6g45xch3f4R8QtZXahYt+h64pm0jQXrNytaWemyQPXl3cbJ3q8j/qjUFSMZVgnJby/vH0P7cRBxf79SUJKUkDtHoDDswnCnN5wLuO/xNB+YTBlT8314+Cg9477hd5iL5UEg== 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=c6TnajZ23PYZ8JrRCmUXeduV2aQFKBlv+vMjMvHBF0c=; b=ogmilURw/iQ6iuDvsybckf7PdQrFUUb/yjACPzyFSjnWTZzkI8/wkh598rC8dLLx/UcHjqFulUsKcfJ+85o+xKJQSy6Msd5zVsZiVoZp+1jfIg2OTKOCxpHzFUfJgomMCqHTOR6Kx3n43dAHtLPaqEncUiX23PaoKOm4wcPvo10Wxt4oQRdnTYBGAsmvlT8Q1MI89WGAUFm9PmYhRmCcrzO77J9WsmBNVhfWMsPmNUhRQKBwHGE8K3arYYmgdPOard+aXCj5uuGthCofp6aLOu3zWT2aj4XMWyeHSUa9O8BFDYwObbdgLbHLzZJ8AirwnL891yCuRsuSL2T5aCX3Ig== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 172.205.89.229) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) 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=c6TnajZ23PYZ8JrRCmUXeduV2aQFKBlv+vMjMvHBF0c=; b=ZxRFP2wss4kAMtsS59Q6fRHrfUP1vpHA94yYAVRUCcywV15wMK4scW3VzZXUGlje2BdyGUBug+AyGoHmKlHqt6VQA0k1bs82AhqPMLE3uXJie6mby30jCfyVLWrVJapaVShJwgs1EIwdqDA+il8hyMxGwZLvodW+ueHZQj/q2C8= Received: from CW1P123CA0027.GBRP123.PROD.OUTLOOK.COM (2603:10a6:400:292::18) by GVXPR08MB11400.eurprd08.prod.outlook.com (2603:10a6:150:2e5::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.21; Fri, 26 Jun 2026 18:08:41 +0000 Received: from AM1PEPF000252DF.eurprd07.prod.outlook.com (2603:10a6:400:292:cafe::a2) by CW1P123CA0027.outlook.office365.com (2603:10a6:400:292::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.11 via Frontend Transport; Fri, 26 Jun 2026 18:08:41 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 172.205.89.229) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 172.205.89.229 as permitted sender) receiver=protection.outlook.com; client-ip=172.205.89.229; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (172.205.89.229) by AM1PEPF000252DF.mail.protection.outlook.com (10.167.16.57) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.6 via Frontend Transport; Fri, 26 Jun 2026 18:08:41 +0000 Received: from AZ-NEU-EX04.Arm.com (10.240.25.138) by AZ-NEU-EX03.Arm.com (10.240.25.137) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Fri, 26 Jun 2026 18:08:25 +0000 Received: from ip-10-249-56-67.eu-west-1.compute.internal (10.249.56.67) by mail.arm.com (10.240.25.138) with Microsoft SMTP Server id 15.2.2562.29 via Frontend Transport; Fri, 26 Jun 2026 18:08:25 +0000 From: To: CC: , , , , , Srinath Parvathaneni Subject: [PATCH v2 7/7] gdb/testsuite: Add FEAT_S1POE testcases Date: Fri, 26 Jun 2026 18:08:21 +0000 Message-ID: <20260626180821.376406-8-srinath.parvathaneni@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260626180821.376406-1-srinath.parvathaneni@arm.com> References: <20260626180821.376406-1-srinath.parvathaneni@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM1PEPF000252DF:EE_|GVXPR08MB11400:EE_|AM4PEPF00027A5D:EE_|GV2PR08MB8727:EE_ X-MS-Office365-Filtering-Correlation-Id: 3b803ff7-d398-4610-a112-08ded3ae1b40 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|82310400026|1800799024|23010399003|376014|36860700016|13003099007|6133799003|18002099003|22082099003|3023799007|56012099006|11063799006|5023799004; X-Microsoft-Antispam-Message-Info-Original: OkSsaACuKwJ5XjAlWe5YNYgPN0KTe790EuhJWrSi7ra5gYwNDWaRLODS6revO0U5Bo/rRrOZ+wf+0WdR1OrfO2HoJN7CkQR8NPAHRKcY4DN08CqXfYHnD/My7DG/HpjpYF7chONvBAn9Vj48J+kP9duscFtK+VtY9/2z9YtoVrxzF9FNzjez+EQUl6aZI+uWA7qqzxzFcip7ck3o2MUDthswgl/qHPtnXdv+LVv2bpSEDlJdYowxft3NUitRunx5fUUnK6272nKu9TN7IfnguwZSOwKuN3+zVbo4BPgkTLlaV4GVr5a/76riprT5p85vOlYIHJ8j2Aa1OQSlbMYP4RKkR6QVIDz1oQ3DCBkYEkSrNe83rF/tNzpI6sMTWhp7KvLNQHVWbJV0RWl2h/963+LERzamZE9S4z60cxfOfvjrzTqD6SWi4LKQFwdUNBeqt35xCE7M6jYYZ1q4bsF3EUkOTEm6Tx2T6+PM6pmwiYd+IlheWBjTtaN3SmurJmhTdpSmp11GS8CNvYX9oZCnLqGPYRHP21zjvvkUhl2OxDtgyP+f/+XLKqDYuDVwLBGZE/+CovqP3tIIUwvzQAu16VXbH4VNElgTLT82GuaD7p38dazX1tib8GNcy5Mh7jIoo3XOX6kP4+I7lvkoWxMlqWmIxC773utZwS0MwGPdyz2qdwetYNmwtaI5TufQPNzukR/UhUXfUT12+SJHlOuqdg== X-Forefront-Antispam-Report-Untrusted: CIP:172.205.89.229; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(1800799024)(23010399003)(376014)(36860700016)(13003099007)(6133799003)(18002099003)(22082099003)(3023799007)(56012099006)(11063799006)(5023799004); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: PhiZTA/grRyNBUJrjP310zxsJSClA7tFzlZCZjUdEJOwTWf/W2fe1nMwgqpkP4E7pE9FJguJMT5awIueTwzoovi5+vs07SiDdGAdgr4ZdRBNn2V1SbU6LFRYpZpv+Hbt4GptY3ivrlKy1Mj2H3Z3gJf3ni/xYepIZ7fqhaJtvespvafMRUWbuxTboSwrfp0wV8Y7DbH0ZtVezkCdx0AR685ZZAxMFv0emttVpc7Qw0PrGurKS7uZ5NNOXXkM0JQXRlckuD4maVGWGpa+aFHnN18+axHo02KF1X54ol7D7UalP++TYCjpC/dWdH/zPazid8PIZrHWT3/Kr/4aB3GlYg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB11400 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM4PEPF00027A5D.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 49413163-f9f1-4e15-ee41-08ded3adf42f X-Microsoft-Antispam: BCL:0; ARA:13230040|35042699022|14060799003|23010399003|1800799024|36860700016|82310400026|376014|6133799003|3023799007|18002099003|22082099003|56012099006|5023799004|11063799006|13003099007; X-Microsoft-Antispam-Message-Info: 4RMIYPH0s4nfF3TOaSRgA6TYgJN0pArhGbH24LZbF8GRRw69jaa6ZllXsEoezXh5yMcuQzrOGBOSpiRp1+CkZer4fjLWh3GMLJ80H6A9xU0a/dAsr3lvWaIATyBl5FPuBVd5XXmFazs/eUB3z0O4ehBnDrDWP5wOTxMuuSW3aalHGNyRdpdaN+9PO8L2z82OqV84NiA79K0saUJKiZ/wHM+Wm5WZn1Y3/oxQXJz31f47OJa0UK9JOiJzWM7/zLhQ4X7gCchEgGNQXSO3W+XlwOSYe5fbpPDHRqq6N2AqfC0V/fR/hrFh1t6Yjh1y+vgj3f+v8qzUHcow0vGS562ZIByB8Ixri+xwjorC38WZxOYeiHsE5+q1M7UT4sJa3v8hHJkp4WUXhOglx+J7KC6JYPWtQD+Xnh7QVd4unBmtG/0aIwCKI+5h8LL+nm5A85rQvzk2bB1i5EZbbzurW8ocP+TUetGGPYXzyQhqrMfE6H8DWXC8w7Q71iw3yYxzOivrcYNNQq8cvazlm1bEXOGJhx9ZjGHZ9SBoau5E/CEN9F2okYWHWflP6Sq9Azhz1NKQj1Maa/G6pc0k0pyc8BdC10QDoiWXzpGaQV8T5aV4r4XW/aum17pabT5e2RylbB07sagUJStXD7N5odhagh7IJZi9Uqk3cXoaWOysHAM1VCN2wKbeMLPTUN6GIDuAd/X7uCdQt6GMKO/5JjQvgZNhNw== 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)(35042699022)(14060799003)(23010399003)(1800799024)(36860700016)(82310400026)(376014)(6133799003)(3023799007)(18002099003)(22082099003)(56012099006)(5023799004)(11063799006)(13003099007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: YmeN3vkzU034+3X4yPNQ59VYmHkOtk627PMtsMHRTpJZiQs/wLNHPwjyz9+8fUNzhmWl6Vzu9lK/9sz5hArzIdSaIfkGwV0IWWLQLLW3dbTZQy9Nt+utI74LoTx6zfecSVry84ZOMah2t9G8xnaJI9yq5Gu2AeCn5Qru6W5OxO2WRYoBkMTVs9kfcOiSO8B10VkdOTKzpiLE/slfc5/y9S3Jniy2/Ih5I5eamXxZMP3SyIltiEH2U8RPLEfurkUMSwDP4bIW6CcntAAf8yH6T7z7AMXVRwt8/Cjd7peqSgRi521C8hJdXQAyw9QEhV4dgcK7ZZNlZajo2vk0fxzCyWPZcILIGQjL8Au+4X2RrDHz+XYLnrpDpF6ThQgejl2Ac4x+Pa6IcfPbxo3mzH5Ll8ZTHbjcI3ubfKC3y+vD6Xp961/0QWeGWpJfvAUCRwl+ X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2026 18:09:46.7211 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3b803ff7-d398-4610-a112-08ded3ae1b40 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: AM4PEPF00027A5D.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8727 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 From: Srinath Parvathaneni Add testcases for POR_EL0 register access, SIGSEGV diagnostics, fix-and-continue support (updating $por_el0 after SIGSEGV and continuing with signal 0), and core file support. --- gdb/testsuite/gdb.arch/aarch64-poe-core.exp | 102 ++++++++++++++++++ gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.c | 52 +++++++++ .../gdb.arch/aarch64-poe-sigsegv.exp | 60 +++++++++++ gdb/testsuite/gdb.arch/aarch64-poe.c | 29 +++++ gdb/testsuite/gdb.arch/aarch64-poe.exp | 44 ++++++++ gdb/testsuite/lib/gdb.exp | 55 ++++++++++ 6 files changed, 342 insertions(+) create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe-core.exp create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.c create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.exp create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe.c create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe.exp diff --git a/gdb/testsuite/gdb.arch/aarch64-poe-core.exp b/gdb/testsuite/gdb.arch/aarch64-poe-core.exp new file mode 100644 index 00000000000..ab998781f10 --- /dev/null +++ b/gdb/testsuite/gdb.arch/aarch64-poe-core.exp @@ -0,0 +1,102 @@ +# Copyright (C) 2026 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 . + +# This file is part of the gdb testsuite. + +# Test generating and reading a core file with POR_EL0. + +proc check_poe_core_file {core_filename} { + # Load the core file. + if { + [gdb_test "core $core_filename" \ + [multi_line \ + "Core was generated by .*" \ + "Program terminated with signal SIGSEGV, Segmentation fault\\." \ + "Protection Key Violation while accessing address ${::hex} with Protection Key = ${::decimal}\\." \ + "#0 ${::hex} in main \\(.*\\) at .*" \ + ".*buf\\\[0\\\] = 42;.*"] \ + "load core file"] + } { + untested "failed to load core file" + return -1 + } + + # Check the value of POR_EL0 in the core file. + gdb_test "print/x \$por_el0" " = 0x55" \ + "por_el0 contents from core file" +} + +require is_aarch64_target +require allow_aarch64_poe_tests + +standard_testfile aarch64-poe-sigsegv.c + +if {[prepare_for_testing "failed to prepare" ${testfile} ${srcfile}]} { + return +} + +set binfile [standard_output_file ${testfile}] + +if {![runto_main]} { + return +} + +set poe_crash_re [multi_line \ + "Program received signal SIGSEGV, Segmentation fault\\." \ + "Protection Key Violation while accessing address ${::hex} with Protection Key = ${::decimal}\\." \ + ".*buf\\\[0\\\] = 42;.*"] + +gdb_test_multiple "continue" "run to POE crash" { + -re "$poe_crash_re.*$gdb_prompt $" { + pass $gdb_test_name + } + + -re ".*exited with code 01.*$gdb_prompt $" { + unsupported "POE userspace support unavailable" + return + } +} + +# Generate the gcore core file. +set gcore_filename [standard_output_file "${testfile}.gcore"] +set gcore_generated [gdb_gcore_cmd "$gcore_filename" "generate gcore file"] + +# Generate a native core file. +set core_filename [core_find ${binfile}] +set core_generated [expr {$core_filename != ""}] + +# At this point we have a couple core files, the gcore one generated by GDB +# and the native one generated by the Linux Kernel. Make sure GDB can read +# both correctly. + +if {$gcore_generated} { + clean_restart + gdb_load ${binfile} + with_test_prefix "gcore corefile" { + check_poe_core_file $gcore_filename + } +} else { + fail "gcore corefile not generated" +} + +if {$core_generated} { + clean_restart + gdb_load ${binfile} + with_test_prefix "native corefile" { + check_poe_core_file $core_filename + } +} else { + untested "native corefile not generated" +} diff --git a/gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.c b/gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.c new file mode 100644 index 00000000000..6b0c07e782f --- /dev/null +++ b/gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.c @@ -0,0 +1,52 @@ +/* This test program is part of GDB, the GNU debugger. + + Copyright 2026 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 . */ + +/* Exercise AArch64's POE Extension. */ + +/* This test is based on the Linux kernel documentation for Memory + Protection Keys, including the arm64 Permission Overlay Extension + (FEAT_S1POE) support described in + Documentation/core-api/protection-keys.rst. */ + +#define _GNU_SOURCE +#include +#include + +int +main (void) +{ + long pagesize = sysconf (_SC_PAGESIZE); + + int *buf = mmap (NULL, pagesize, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); + if (buf == MAP_FAILED) + return 1; + + int pkey = pkey_alloc (0, 0); + if (pkey == -1) + return 1; + + if (pkey_mprotect (buf, pagesize, PROT_READ | PROT_WRITE, pkey) == -1) + return 1; + + if (pkey_set (pkey, PKEY_DISABLE_WRITE) == -1) + return 1; + + buf[0] = 42; /* Expect SIGSEGV POE violation. */ + + return 1; +} diff --git a/gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.exp b/gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.exp new file mode 100644 index 00000000000..b22814f9ab9 --- /dev/null +++ b/gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.exp @@ -0,0 +1,60 @@ +# Copyright (C) 2026 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 a binary that supports FEAT_S1POE and exposes POR_EL0 register. + +global hex +global decimal + +require is_aarch64_target + +if {![allow_aarch64_poe_tests]} { + unsupported "AArch64 POE not supported" + return +} + +standard_testfile +if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } { + return +} + +if {![runto_main]} { + return +} + +# Display POE violation SIGSEGV error message. +set poe_sigsegv_re [multi_line \ + "Program received signal SIGSEGV, Segmentation fault\\." \ + "Protection Key Violation while accessing address ${hex} with Protection Key = ${decimal}"] + +gdb_test_multiple "continue" "display POE violation information" { + -re "$poe_sigsegv_re.*$gdb_prompt $" { + pass $gdb_test_name + } + -re ".*exited with code 01.*$gdb_prompt $" { + unsupported "POE userspace support unavailable" + return + } +} + +# Fix the POE permissions (set $por_el0) and continue without delivering SIGSEGV. +gdb_test "set \$por_el0 = 0x47" "" \ + "allow write access by updating POR_EL0" + +gdb_test_multiple "signal 0" "continue after fixing POE fault" { + -re ".*exited normally.*$gdb_prompt $" { + pass $gdb_test_name + } +} diff --git a/gdb/testsuite/gdb.arch/aarch64-poe.c b/gdb/testsuite/gdb.arch/aarch64-poe.c new file mode 100644 index 00000000000..2c95dc2a99b --- /dev/null +++ b/gdb/testsuite/gdb.arch/aarch64-poe.c @@ -0,0 +1,29 @@ +/* This test program is part of GDB, the GNU debugger. + + Copyright 2026 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 . */ + +/* Exercise AArch64's POE Extension. */ + +/* This test is based on the Linux kernel documentation for Memory + Protection Keys, including the arm64 Permission Overlay Extension + (FEAT_S1POE) support described in + Documentation/core-api/protection-keys.rst. */ + +int +main (void) +{ + return 0; +} diff --git a/gdb/testsuite/gdb.arch/aarch64-poe.exp b/gdb/testsuite/gdb.arch/aarch64-poe.exp new file mode 100644 index 00000000000..ae2663a7dbc --- /dev/null +++ b/gdb/testsuite/gdb.arch/aarch64-poe.exp @@ -0,0 +1,44 @@ +# Copyright (C) 2026 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 a binary that uses POE and exposed POR_EL0 register. + +global hex +global decimal + +require is_aarch64_target + +if {![allow_aarch64_poe_tests]} { + unsupported "AArch64 POE not supported" + return +} + +standard_testfile +if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } { + return +} + +if {![runto_main]} { + return +} + +# Validate the presence of the POE register. + gdb_test "info registers por_el0" \ + "por_el0\[ \t\]+$hex.*" \ + "register por_el0 available" + + gdb_test "p/x \$por_el0" \ + "\\$\[0-9\]+ = ${hex}" \ + "print por_el0" diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index d8619ded236..40a8124955a 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -5654,6 +5654,61 @@ gdb_caching_proc allow_aarch64_gcs_tests {} { return $allow_gcs_tests } +# Run a test on the target to see if it supports AArch64 POE extensions. +# Return 1 if so, 0 if it does not. Note this causes a restart of GDB. + +gdb_caching_proc allow_aarch64_poe_tests {} { + global srcdir subdir gdb_prompt inferior_exited_re + + set me "allow_aarch64_poe_tests" + + if { ![is_aarch64_target]} { + return 0 + } + + # Compile a program that tests the POE feature. + set src { + #include + #include + + /* Feature check for POE feature. */ + #ifndef HWCAP2_POE + #define HWCAP2_POE (1ULL << 63) + #endif + + int main (void) { + bool poe_supported = getauxval (AT_HWCAP2) & HWCAP2_POE; + + /* Return success if POE is supported. */ + return !poe_supported; + } + } + + if {![gdb_simple_compile $me $src executable]} { + return 0 + } + + # Compilation succeeded so now run it via gdb. + set allow_poe_tests 0 + clean_restart + gdb_load $obj + gdb_run_cmd + gdb_expect { + -re ".*$inferior_exited_re normally.*${gdb_prompt} $" { + verbose -log "\n$me: poe support detected" + set allow_poe_tests 1 + } + -re ".*$inferior_exited_re with code 01.*${gdb_prompt} $" { + verbose -log "\n$me: poe support not detected" + } + } + gdb_exit + remote_file build delete $obj + + verbose "$me: returning $allow_poe_tests" 2 + return $allow_poe_tests +} + # A helper that compiles a test case to see if __int128 is supported. proc gdb_int128_helper {lang} { return [gdb_can_simple_compile "i128-for-$lang" { -- 2.43.0