From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id qcYnD3+ZVmrlawgAWB0awg (envelope-from ) for ; Tue, 14 Jul 2026 16:18:07 -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=YDYi4iM7; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=YDYi4iM7; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 37FE71E09E; Tue, 14 Jul 2026 16:18:07 -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=unavailable autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.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 42FB71E033 for ; Tue, 14 Jul 2026 16:18:06 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D5DF54BA23EB for ; Tue, 14 Jul 2026 20:18:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D5DF54BA23EB 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=YDYi4iM7; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=YDYi4iM7 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013064.outbound.protection.outlook.com [52.101.83.64]) by sourceware.org (Postfix) with ESMTPS id E425A4BA23FE for ; Tue, 14 Jul 2026 20:17:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E425A4BA23FE 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 E425A4BA23FE Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=52.101.83.64 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1784060230; cv=pass; b=T3cpcJJZVluOvnJnMg8Xv1fP0tiFHM2ClGQGWr8FkZS8WlY49HS4erIVFglShMZtkQR1C7HKObEIpw8Pwy2snKEFyKcaQNtbE4gEhqx/DZ1MfAolmecVsihURb1BOVdKBDT4/NuZRVQKG0GHkfefhd+lehTObYcj2pRymDDYKlY= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1784060230; c=relaxed/simple; bh=yGNWSzwYFiOjREqeDF9SggfyFpMCoKDdjkHl/RChXdY=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=okKofgIhXySqFYRGRA2ecOwPakvSnpud7K6dQ3Y/DUdruNvJn2J37rknHw/FuL3BgCVVF+RQgWN7ApNn0X7ldr/klqonpco46/2MLk/xTGS9bkgRDRs/iFwobOtnBLEbMGCezXgao0XpahCBfaN+ER9QlT0ejpUUOgY0YfqdX6I= 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=YDYi4iM7; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=YDYi4iM7 DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E425A4BA23FE ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=oO7TZH3wHfgUIiE2uDGNMOxwgJD2ZRdcV3qrJB9BMe32SjsA3z37B/6rfDB4xgEtJAhdvy7D0F+2yqdG7nLscEnjmzscr1Qk1qarF7Ss5T20M2S5I3KQUBzjfmMXMt5/jSoJDBnmr9D7amukeld0kOgABhuL1YlD2+nxBElT32xGir0vfoMXelBEFdRQZXTFjjeyMdbEmgKbNGNEJ5B3Er9k0EhCpLnB8C58+wDwCxO3aci5KSVO7oMZZOy86G1sNuIvxo/JTWvv/oi4ah1MVE/hvw7Cb73+uWBnTRNnrvMqiroyfN+osqWjvSpYQUvLf4aC7UgYW2OyS3MebHbgCg== 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=Y9D6+l09SFt5AlzrpCZElEBnIIX/It84QgCDXNmbCYA=; b=CReWYu8MO0YAysv2UMMn7NM9VzS9y/QbSCw7bI9+dB11a706yh79NYZ0VqYRwy6q930206y5/C0xM+04Eb3Y/W2fTP1lbcFVLgdtGypaiMchKPX4NZ4PHdgEIweazfN5L6vPzNKAddVJEo4Bsn2OKoHL3HZeirSfHAhTruFOQl5kqBHBlZJG0hQJVVNTVJuQL6S5yTCB5EU7IhMHSOqvkvYeJXuAl8xht8Ph3BvFeuxZ6VuU110txkGTR/KO5dn/e8l7VaaSG42tXYFZb1jLgJuJJqMKSc9Qkm6EYRCzY+lzaAu/csp3j7J0dCax8FsMyDM+9VED904bmEf/0qfUsg== 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=Y9D6+l09SFt5AlzrpCZElEBnIIX/It84QgCDXNmbCYA=; b=YDYi4iM7jiaGDiQPUWpEbEVIDvEtQIob+yaUe/pLkmUsvM/Pn9j4G5I1v6N8C1xHI61W3otdQufDSp+cl8ITPNy6oRV5mqE6DIb2uXrAb/hMvQycB8Plv3YkBho3X4hZODg5pTDDGVBk+D4b8jJ0cZoBVqNO7OJYxDhv6T5HF94= Received: from DU7P190CA0009.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:550::19) by PAVPR08MB9881.eurprd08.prod.outlook.com (2603:10a6:102:32c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.19; Tue, 14 Jul 2026 20:16:51 +0000 Received: from DB1PEPF00050A00.eurprd03.prod.outlook.com (2603:10a6:10:550:cafe::2c) by DU7P190CA0009.outlook.office365.com (2603:10a6:10:550::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.223.9 via Frontend Transport; Tue, 14 Jul 2026 20:16:51 +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 DB1PEPF00050A00.mail.protection.outlook.com (10.167.242.42) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.223.9 via Frontend Transport; Tue, 14 Jul 2026 20:16:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=j2N/7CygPUevzb36yj1nT7medUlqoEHZ0WWcWYVpP5C80BFjCl9w980lX9DIfIJBDumbhlKyPDahlMC+4GLRHcrkryGz+KKxnOOsvM9fGOVsZWrv2W9B+RnzlCLfhzSTC4zwBhmFsEqelA8YP5XsWI5a4a85xr0lDiYgN/lqIiNcgmjmcro4gYBKboglT3yAno0Vlx+gpk+XUJYmcxe2W0+At58ciI6PTaTpNaKo7cz0Amsc/kGQcPUnN4eZ1KBAwMJAWbl4U0r9TQddo7LuCFCiyfVozaCY4w3MX7bQau8XSzokEV0RA0AlWR6cI9Rqu4B5TVt18ZAx9jZHYBByqA== 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=Y9D6+l09SFt5AlzrpCZElEBnIIX/It84QgCDXNmbCYA=; b=AJG6P3SB8BuJTcR8gr/P50CMzCA9aLPPvVgWJ5OA20eYCSp9ZfOn4mrc4DQBBhenTMnw/s+MFRiwTmATOufRRry+A8dt4et06z5pdruDwh7sjL5UEZnwSmhAIG6pwzechwkjIMfytAYhEV02ZFewVSCItdcpOQGdpFE7humCrU2fSS7NA4umcojTQW+73w3QCYzD0TcakLyqR3unk/QTuZurrKZqtOYlUmXL9cMleWVIgu0AVpNno1djS1fR0Bv+ED7YEks4eiv0MAUERTlA+SyXtV5iA6qO1/P06zohCeOizAeRoABi6tPxz4isqM0vwwcyfrB1MMMWehJYrbYKmQ== 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=Y9D6+l09SFt5AlzrpCZElEBnIIX/It84QgCDXNmbCYA=; b=YDYi4iM7jiaGDiQPUWpEbEVIDvEtQIob+yaUe/pLkmUsvM/Pn9j4G5I1v6N8C1xHI61W3otdQufDSp+cl8ITPNy6oRV5mqE6DIb2uXrAb/hMvQycB8Plv3YkBho3X4hZODg5pTDDGVBk+D4b8jJ0cZoBVqNO7OJYxDhv6T5HF94= Received: from PR1P264CA0064.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2ca::16) by DB5PR08MB9971.eurprd08.prod.outlook.com (2603:10a6:10:488::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.10; Tue, 14 Jul 2026 20:15:41 +0000 Received: from AM4PEPF00025F99.EURPRD83.prod.outlook.com (2603:10a6:102:2ca:cafe::70) by PR1P264CA0064.outlook.office365.com (2603:10a6:102:2ca::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.202.20 via Frontend Transport; Tue, 14 Jul 2026 20:15: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 AM4PEPF00025F99.mail.protection.outlook.com (10.167.16.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.3 via Frontend Transport; Tue, 14 Jul 2026 20:15:41 +0000 Received: from AZ-NEU-EX04.Arm.com (10.240.25.138) by AZ-NEU-EX04.Arm.com (10.240.25.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Tue, 14 Jul 2026 20:15:33 +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; Tue, 14 Jul 2026 20:15:33 +0000 From: To: CC: , , , , , , Srinath Parvathaneni Subject: [PATCH v3 5/5] [PATCH 5/5] gdb/testsuite: Add FEAT_S1POE testcases Date: Tue, 14 Jul 2026 20:15:30 +0000 Message-ID: <20260714201530.78374-6-srinath.parvathaneni@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260714201530.78374-1-srinath.parvathaneni@arm.com> References: <20260714201530.78374-1-srinath.parvathaneni@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM4PEPF00025F99:EE_|DB5PR08MB9971:EE_|DB1PEPF00050A00:EE_|PAVPR08MB9881:EE_ X-MS-Office365-Filtering-Correlation-Id: be6c1d52-ada4-424c-743e-08dee1e4d6dd x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|23010399003|36860700016|1800799024|82310400026|376014|3023799007|6133799003|5023799004|56012099006|11063799006|13003099007|18002099003|22082099003; X-Microsoft-Antispam-Message-Info-Original: dS0Nu2499uxJxlh/sKwbC424WTSMMVxwSpB+3ROjenD9RtM3X1GfkTtG4tH5JOa7F4tPnKUGBpOL8FwzkXU6+LQ70bWHR974NxYMbaaoWp3KQ5Yu4gMDC4x2v7EWDpSe42NQXPbwJOElnWxp7Wa19xrz+/dW64DoeCLl1DvIQJYGlNtvIc/mea+c6fHtKUqUIe4kRXVl3yFuS11yIWCj8Q+rChFJON8sn0tuFE+WQda0OhILqUOABc7A4WQHFYdE8yHM9dXCTjKQiRlypipQSvFMsgkf4q11xj2VxMCPpCxCjGagWpvdVa0EQ+H+miBeWM9lAq9VI/3cZnii//+gJcMILEaFJz11OpKCTqt6we/dXeOXTEuxBudu3RHgNF9zk1Rscm6xRCa+mcUSKIvR9rDug0JAqCiHUlFaVox19aysEf07/HBVdsWEG5t6rzBqEtxEha5TSwdsiO+mUYknHF4F50HUkTNqQNjTkSdYwVaPXznHycmMB1aXK5BFfS1AUiG7sXLxNM+PHvhN3WUZFVJ55WD3vDTp+sVHDafRVFjGdN86S8aWYE+KZXCLgsU47Nglr5v9njynn0ATrcrHqQ+vl0BN9nrc6oYRLM8xF+wXNfhu6QmmAcneaJQvbtMra3fRQdyiuLEQYjTaq65uaErZRCLUU2Yzd9ue3FTnRz+IIDPGg8Xux8LoyUPkRX/Se+BBN1VWYWbJDk1O5s2Lrw== 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)(23010399003)(36860700016)(1800799024)(82310400026)(376014)(3023799007)(6133799003)(5023799004)(56012099006)(11063799006)(13003099007)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: LeC7c2IKgk/ZL+NFfu1zE+07z/CVHAkn/lYPuUZHxLFaeBQYgkKQ0QJwz2vttAewM/KTm6u8j/MIR2k35zffp1ymCbn9gX98Pncp3AD0TEss+J2/Mez75VxgSwrii8cPWc6OuxvLpMj/aHS8sf/aHPKrytDNdJxHL5aB/JLeFgSHGaGMkU+Qqh7K34Rw4KZAG6+XD6oRuf5qvvK3y5x5xN7AYCbt4Njmo+nNKxZynI729GvYPX00fJUqQ4vUQyjTUrFWU5QLbt8oN1qTDlIEECE8UKk+iPvulMAWpqAUFfvV3v1zmBvD3+U7c7pSe4EXFjW21LqGjq2bKvsQua31/g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB9971 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB1PEPF00050A00.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 527ad495-7e50-4c92-69ea-08dee1e4adb8 X-Microsoft-Antispam: BCL:0; ARA:13230040|14060799003|376014|1800799024|35042699022|36860700016|82310400026|23010399003|13003099007|22082099003|18002099003|3023799007|6133799003|5023799004|11063799006|56012099006; X-Microsoft-Antispam-Message-Info: EYI9bSrWRkm1PeofoqeQllJII5R1zGOTIxPqQz8J1CxT4/9kbQ5rntHSwXukfy9Sdo2b4UT6vZlo7+D+8raq7JH77ZIxRv/Wtl2AjPRRZ/3OV5gT2SSuJFIQa1VE2k60QlWF5gL4yr82JBx9gcZan+sbcwC9+fLvj9Azwcsg3yrDaWxg4EKEpVSiFbqv1FzH6tySvRknTtsRlQ7tKARAgHaSC1Jk6zHBvpbP4F9SN2O1OmmuADX02Wy7ZlEuDNxeYCGh1XcBLz58a388xxaF1vfkeJ8MU07SDFuS7vwVna5rWzHHRlm7S+ojSoqUUYJca7FQABVCe8B9+84Br1Q9EJBN1leR36nvAkzq1JtxmH/3g8uhSInXXtNxyZjILs0r7X3QXti7aMDcWytPVScW8GHV/0k4BwMkd9wmXSm9NqNAjMIkzEQTWVfWt84o4t3+pxdoKoa2ovcRx/U06r6/yI2QOWK7D32sL0QPvCi49r8weljFcYD0YtthSucwaJNuqow15U8q03vxvN4sHbjIPBG+bF7QUJviSGYKdCeBrrvZIeXUMOEDQN9r/etAtVrm3WnAwITIIiB0j69o/yQ8yO0s8jzrn/opezi/bkBroyMGIl7dQgD3p+JOo3pLm07Ql6XiqTz/aKW9bV6hyvjVcAWIFFvldN8Hmzy+VuJTS/IIu1bPI/yq4GbGC1zabB5GjI5GPBaSzM0wgRq2CKFqOg== 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)(376014)(1800799024)(35042699022)(36860700016)(82310400026)(23010399003)(13003099007)(22082099003)(18002099003)(3023799007)(6133799003)(5023799004)(11063799006)(56012099006); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: vn+D3g3wHK1d1RlJWxHCe/YuWaHDxyT8w807qnVVxiDCwyJPvarHcPatDd8IrgzqkDLjeZw/sVFySk1l4UPUDEkJX1DI+4Hr0vDWOYxyTYxcHw053YvRZAos1qCRKjRn6AF54vUP/4GcSFngyDsqqfMrJX7zd8FMhQPI3OYd2Cjk6DJIF1FIfAIVv4kW7KaWqKDsFHP/FmAiRy8S4wubOxsPg++dE0epHi1FYjyeDPDYsg0s8JFfB/U04xP4RNPZk9pOMlWlMmEHaF0T+hvBMTTkL0NJXhObED5SBmE8BFTEZ4wA5KQ/z4Fa3Pis43gTnCnlCzvNPu6fg0+noSijkOPQ+RN4/yFXvXrssLTzpxe5rE7kizVGgsCJBfC+K96Zvuh8EocCScVMTTU5gEBmJP57Zn+PZiS797Zd0lC9YBOEpBNzK1D/zy4e8jHyh3TM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2026 20:16:50.5745 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: be6c1d52-ada4-424c-743e-08dee1e4d6dd 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: DB1PEPF00050A00.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9881 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 | 101 ++++++++++++++++++ gdb/testsuite/gdb.arch/aarch64-poe-sigsegv. | 0 gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.c | 52 +++++++++ .../gdb.arch/aarch64-poe-sigsegv.exp | 58 ++++++++++ gdb/testsuite/gdb.arch/aarch64-poe.c | 29 +++++ gdb/testsuite/gdb.arch/aarch64-poe.exp | 46 ++++++++ gdb/testsuite/lib/gdb.exp | 55 ++++++++++ 7 files changed, 341 insertions(+) create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe-core.exp create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe-sigsegv. 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..22fe646ac43 --- /dev/null +++ b/gdb/testsuite/gdb.arch/aarch64-poe-core.exp @@ -0,0 +1,101 @@ +# 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" " = 0x37" \ + "por_el0 contents from core file" +} + +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. b/gdb/testsuite/gdb.arch/aarch64-poe-sigsegv. new file mode 100644 index 00000000000..e69de29bb2d 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..5346e51dbba --- /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 0; +} 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..19eafd14a2f --- /dev/null +++ b/gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.exp @@ -0,0 +1,58 @@ +# 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 + +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_no_output "set \$por_el0 = 0x57" \ + "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..5aea0350d81 --- /dev/null +++ b/gdb/testsuite/gdb.arch/aarch64-poe.exp @@ -0,0 +1,46 @@ +# 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 + +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.*" \ + "info register por_el0 available" + +gdb_test "p \$por_el0" \ + "\\$\[0-9\]+ = .*" \ + "print por_el0 available" + +gdb_test "p/x \$por_el0" \ + "\\$\[0-9\]+ = ${hex}" \ + "print/x por_el0 available" diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index a40c87c6727..ab573f50660 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -5645,6 +5645,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