From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 0RWcMrKVZ2oIczAAWB0awg (envelope-from ) for ; Mon, 27 Jul 2026 13:30:26 -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=fYNexUbF; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=fYNexUbF; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id C44C01E09E; Mon, 27 Jul 2026 13:30:26 -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 [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 0D6061E099 for ; Mon, 27 Jul 2026 13:30:26 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CEBBA4B9DB6B for ; Mon, 27 Jul 2026 17:30:24 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CEBBA4B9DB6B 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=fYNexUbF; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=fYNexUbF Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazlp170130006.outbound.protection.outlook.com [IPv6:2a01:111:f403:c201::6]) by sourceware.org (Postfix) with ESMTPS id E2C154BA79A5 for ; Mon, 27 Jul 2026 17:29:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E2C154BA79A5 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 E2C154BA79A5 Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c201::6 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1785173396; cv=pass; b=x3/4AO/xxs9CGszDB1JE7rFEpm1Qf2QX/mgmjDeDtP393b2FGDerznvSO6WhGQLZVMP7FYxmLHOY/ssHI7t3VJ7+mnZtZYlbCIk4QSXtADP8HkmPcvcrL/A1OjfaotKrByhLrnv44mmYJSEHMvM25QiPs2KHjd/6evdIFlLx7r0= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1785173396; c=relaxed/simple; bh=eV2JuYcb7Wi+oyVvb6XamZr/ylubxniA5QKkfYJi5ao=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=yFH+sFeGH9yy5SC/Jm9dgo2ckLvej4Va6zoshEbBUzIvXBJ+arnIC6BT+q7+LarjNvWgf8rM7O+1uS21I4cr98LNYoBm0/lEOHMbhRca/RM0ToFPUAgABXfzxa2l6D2gMxG1HUjEB1ulxWGEPALlyveW5cSAE8EmRTEGYo0k6FA= 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=fYNexUbF; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=fYNexUbF DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E2C154BA79A5 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=LmQQ4cBRtWJBuyPQmLUXhN5fN28lStsh/oJx7RIYjHoo0Cygau/LopxsW8BBuToqjVZaM8NqztCOy1jrjQNFe53ObIex30I9qzQTV/kRz5J8UClnbubFyJhV8ppK2t6o1zoZuE9uDJTmH0j34JRxwx0A1rj9atxE4SLT1s3FGGUPvUVyann2PS/bIOd3SOcVaJhywLKOZNnQkr6x6IXVZ3CNX0UimhNmWjx7OwL+6bQooMyt3mZK9bGf1NbbyQpZG8WmoqapAb3otfABWkAjmQ7QNEQshaHX4c7/pgqQqRJZaN9fpRXSS6/CGT4oyrd5UNG3Gc0bTSWHOr7/AxOxyQ== 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=688jm29W06exnoU7Xu12qIaXqyT52ocOjr4Jhw6KX5E=; b=mRTIoaEckeQ2klKdPTLMqB9zoyjHgsFHFMeX/nqJnM8rjWWbgSf+p/uAT5UC3DIwhVdYb30TcxYz0ozauaAuJ1VNsSqN1B2M6Y+CP42ucqOyLFSJcEE/er+ffPKWHDRU2pc/wjG4jN2/GOdvQwIWB5lxvP3W3tHgFKcf1CWKMDlmDt8KnmY8L6uK8H+CLoPoKuOcbQKOPsEYpRbhPLvjlJ4pMgr2JjeniVXXwlq4pBz/TlyofRK4v0Rvb0EE48zJBh4lGV9Awa4l/5cRP36LZTjEyAkqtFVfMES2RP6A/Z+OHJPKvacgJKi3go0MAJdHMkQKOBkQqdtVYgoz+Ihrug== 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=688jm29W06exnoU7Xu12qIaXqyT52ocOjr4Jhw6KX5E=; b=fYNexUbFvnrqh7S/fsZ4pIKGIAd6zPgh2uK9pGKfcjK7AP8WjRi0mdSkAWL1ky6MGvoW91NWfgQc9UWc97mxnnfIQHMVChfhrUiF6dFNaY2bOH+hyw/h5mta5Etw6nF9aUOlEbmkUlzOHxgPX3QjsbHlLwg87zLUmb2PwjtAtEk= Received: from AS4P250CA0026.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:5e3::14) by AM8PR08MB5778.eurprd08.prod.outlook.com (2603:10a6:20b:1d1::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.13; Mon, 27 Jul 2026 17:29:38 +0000 Received: from AM3PEPF0000A792.eurprd04.prod.outlook.com (2603:10a6:20b:5e3:cafe::3a) by AS4P250CA0026.outlook.office365.com (2603:10a6:20b:5e3::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.245.13 via Frontend Transport; Mon, 27 Jul 2026 17:29:38 +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 AM3PEPF0000A792.mail.protection.outlook.com (10.167.16.121) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.270.5 via Frontend Transport; Mon, 27 Jul 2026 17:29:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HxfJDtdS/AIJpe1hl9r15g1xztxKzOg8w4uFuGSV/a06Z0zWovJDz79XKuxGbD2jOEWhatoUQ0oiUEE+odZPEvyX+HtfuF4UGWHvtZJ5BHTk7CQl2xlxG9lIBdoo7/4WW4rL2xIor5FzhayVJH/PQRKG2irCK3+IMhNsLKN2JOB4WzR0up/PBuAoKIRUPRYCQhNMaw9XBB3efMyUgqRbvX1SSzLwoGKRsRI+aqPEd8jpmv+GXunKtyHdXok8Z49fEBnVpD5qdBWFaG/TKaf+cP4fjpvtyg6iSJx+pv4l7O6oHb8TPx63U19RnsPJs5JUKYLafdlSKBPZ/TF+eBL7Mw== 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=688jm29W06exnoU7Xu12qIaXqyT52ocOjr4Jhw6KX5E=; b=ChfRY/cRTPGvlJs7PBgD0mtNqIOuzMbN3l7fljVJgpslA/lCe58J9tPWrRuNhbdWmwarTeh34NVccyNf5++VC/5zaG3qZdh1jz2GB5jnIZ9vm33qCBT9E0u8NheeD+GrEmM+B5IqPcetRDRJpjQ/Mz//pStY6ELjfO4X71CO5ZC/9jwx020w20n4nai30T5mFvyZMoenQsAjmynmZXbVoWv4GMRF4TPGjrk2J9s1/1cWE4U50NT6sxPdo9nWI/U88kF0cuNWA5u7CgPTX08AV7FYmXlN2WV83dyaC1Nee6gyaNMbRObiWF4jAn5iqxB+gXzpySrG1cZWDHUbJK5tDA== 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=688jm29W06exnoU7Xu12qIaXqyT52ocOjr4Jhw6KX5E=; b=fYNexUbFvnrqh7S/fsZ4pIKGIAd6zPgh2uK9pGKfcjK7AP8WjRi0mdSkAWL1ky6MGvoW91NWfgQc9UWc97mxnnfIQHMVChfhrUiF6dFNaY2bOH+hyw/h5mta5Etw6nF9aUOlEbmkUlzOHxgPX3QjsbHlLwg87zLUmb2PwjtAtEk= Received: from AS4P195CA0050.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:65a::8) by GV1PR08MB11246.eurprd08.prod.outlook.com (2603:10a6:150:281::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.13; Mon, 27 Jul 2026 17:28:34 +0000 Received: from AMS0EPF000001A0.eurprd05.prod.outlook.com (2603:10a6:20b:65a:cafe::74) by AS4P195CA0050.outlook.office365.com (2603:10a6:20b:65a::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.245.13 via Frontend Transport; Mon, 27 Jul 2026 17:28:34 +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 AMS0EPF000001A0.mail.protection.outlook.com (10.167.16.230) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.5 via Frontend Transport; Mon, 27 Jul 2026 17:28:34 +0000 Received: from AZ-NEU-EXJ02.Arm.com (10.240.25.139) 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; Mon, 27 Jul 2026 17:28:33 +0000 Received: from AZ-NEU-EX04.Arm.com (10.240.25.138) by AZ-NEU-EXJ02.Arm.com (10.240.25.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Mon, 27 Jul 2026 17:28:33 +0000 Received: from PF4S4363.arm.com (10.57.39.25) by mail.arm.com (10.240.25.138) with Microsoft SMTP Server id 15.2.2562.29 via Frontend Transport; Mon, 27 Jul 2026 17:28:33 +0000 From: Matthieu Longo To: CC: Luis Machado , Luis Machado , Thiago Jung Bauermann , Matthieu Longo Subject: [PATCH v1] gdb/linux: add helpers to read AT_HWCAP3 and AT_HWCAP4 Date: Mon, 27 Jul 2026 18:28:31 +0100 Message-ID: <20260727172831.121566-1-matthieu.longo@arm.com> X-Mailer: git-send-email 2.55.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF000001A0:EE_|GV1PR08MB11246:EE_|AM3PEPF0000A792:EE_|AM8PR08MB5778:EE_ X-MS-Office365-Filtering-Correlation-Id: 5316183f-7240-432d-e557-08deec04a265 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|23010399003|82310400026|1800799024|36860700016|6133799003|56012099006|11063799006|10067099003|18002099003; X-Microsoft-Antispam-Message-Info-Original: 3nRtQ81OrauOg7lNAgH+JTr/n4853+KhoZBohk4emR0Eg4x8+FLrJOjVO7J0wykMhmoYTtgXODqEW2dGn2OQ4rYqji7c19imPrcYsZo0yG6v9cPEuyZuKY6/J77d3LZQD33MCupyay3TdQwrQ1XtYmNy9ZLoGFMr2FsKH22+ubTYqBco5KPzIjNIjcaRDOI+xA6dGJOXvsXVY7Ps5noVHpgAg+GNam6bzfrXDD2zH1ZWauGq8Cpq3avuvaBk93IEbaA6UAGCy/SHeNQ8zbuHTyrJj1MME7lky5LJjYVGrOSkIIDgHjKhEiJSRtc3AqMmjlDDGi0fUpS7BSJT0DZU8M2waV0u+i/24NQ8CrBmQv4yST37I9lhWa7r53e5M2mm83GdFHHloL3Hh0d3zB6/F9uKOGhL8VAYYvhhGnhg4pq6mXV8rURB5vLIiuwCPjLwNM0VZ4pZ/k7CQwrFUnoGgeWBWGcsOkYCAGPqvvIOQdRW8xLJuny07kq099cu0JuaBZqFR81AikkNNXvdkm4O6uM4x+DRxe/hYcOjLE5ARHX+Y+MziA/Y01pq+3tvx3XAGkO0HrJMeYFlSUP5QmF4+MJ3zxDPngq+japC3WIW/EeG1Fn0voL87K6uLGLu41xcjzbqKiN0L4tnsBCyG0e0Vdqe+mdtjz5TO2svj7lsYa1FoH0LZ2K7oqPTv/2ztLWO8wBc+6N6CM6+wjWcM2sg6Q== 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)(376014)(23010399003)(82310400026)(1800799024)(36860700016)(6133799003)(56012099006)(11063799006)(10067099003)(18002099003); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: MD9nkOQy9LkL39lbFyvHirLZghOhjbkyzVd1DzuWuHfaQdfOHadie0lco7T0Im5AWvr9oYEhSikmSPG2IV7Pmv5Fq4RplS6XwdzbF8s4XrHnVYKJiOdRC9p8H0flCZutgIK3Yp/6VFXxW+eH7kwIkxkm3BD3M+Yf/1Dzfm5oxlta00b6/aQPk2g+Karb65ObHHAufoBwQupi2wryN6WcQAXOKYf8euTQr0hINdsh8EgG17ajX42UI+JBUND6LFlCsOEesXO6CRDqBoUHfhkdI9+TGUf6sgjPPczInSlhtkTuETP0niR1YNCMxznYtq/XQfXPFILaJ7eAwYgGK/W+kQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB11246 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM3PEPF0000A792.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: cdd84f7f-0cfd-4602-b75a-08deec047c6a X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|36860700016|35042699022|14060799003|23010399003|376014|82310400026|11063799006|56012099006|10067099003|6133799003|18002099003; X-Microsoft-Antispam-Message-Info: t70DikM6XCjmVTqW6+CirdwBRcKSCCMa5+m7NZ2D6l5k8dPTOVYIVk2yr7RDny+FugJ4iza4fFY3iEXu0upZbf+rnuI+2QNmpFqTa7t4Z8E6kiI2j2qnUdGAvAVbifJVCmbrzLOsxf/SQahZGP89/pA4fkA4MkWKn0ZD64ppo6deBUe2ppKQYSk72lO4zbHMIqGK/0ymtk1yskjbJJ7uUHChHIlxHVl4AIHFrBKdX33TMLCJPLmlctEnxg8XlaF10TT5/cBtrhQ/hCMB2NyYZ5L5L5OE47D9b0kXGJWHCLSwjzW7AjLcxBkqeqGNjb369fOLSAKgQbLXR59AiGV/R0MOF3dO8Sw5abRRulY6CiPENJknS/Q0S2YN6r5aSQzd2jWfvOpyk0qseGkgX4DHMUf1QiWC/ouVHe2pnxziPaylo9VkzZSRGe7UN8JepcYkXb2oLVyrnG+puKCqioVoizptQRogyCrRwqQOkfWIaQKpmjpWMh75XlaI67nZLNcHgdFAKdPrsXqLlPc0CT/gPcH4Q/w8OKmGJn4mqcK2zMHSnyh/Xnf70J4NaGlxNBP6rhN8SYysFxRhXvXU0IhZ8cOvFyIRd4VEqyI7Wlcl1dSJ+x2aUb2Xudfavonk1YjvatVerRhsow/AoNHUldQmp6Q6QqHHizR6XW7c0chyD6vPpW2wEW2evDtfddRxWNgM2BpXpuqYnY023z126Oyuug== 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)(1800799024)(36860700016)(35042699022)(14060799003)(23010399003)(376014)(82310400026)(11063799006)(56012099006)(10067099003)(6133799003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: zitV6uAP1hNaXKtyyosU8KpbLm2wLmoBopahg83sxzVPAODpBFeU6Kn5G9okAsPUXC+7Xq4fV38aM66B7JSyiyPIYfvGuqQjnZkaz8JxCuEuzEFNO6/9NJ4szAyAVLFl6RlmtTYC+tyK6D5DGG3e1yDazsmbWtZ9sEoXLuXRN0LoPINIQuFVmwA198wPSUvdr5QfoeGxhMTUDGJVrPmjTYUL22K03aAeF2CE0/1kYTC8ADr+WBJum/xUQOuRywR3DF59YhOBBeMu8CmySeWId81xipvxrb57ChSOToPHAM37JiPltUFJjmA4sAbeF94DfQ+1vos8gQxNBek5Yq2a0f1aZiZN818R3mczc47O8SGtZc3tEUyOvahNt9XDURlxtc710X6VYy//e+mCF4VQxqdiJ4f1IxQZJvNmvipZPPyjm7HboDg9cmewHR5JAseV X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2026 17:29:38.0875 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5316183f-7240-432d-e557-08deec04a265 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: AM3PEPF0000A792.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5778 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 Add linux_get_hwcap3 and linux_get_hwcap4 helpers to GDB and gdbserver, mirroring the existing linux_get_hwcap and linux_get_hwcap2 interfaces. The new helpers retrieve the AT_HWCAP3 and AT_HWCAP4 auxiliary vector entry either from explicitly supplied auxv data or from the current inferior. This prepares for future features that depend on HWCAP3 and HWCAP4 capability bits. Reviewed-by: Thiago Jung Bauermann --- gdb/linux-tdep.c | 38 ++++++++++++++++++++++++++++++++++++++ gdb/linux-tdep.h | 22 ++++++++++++++++++++++ gdbserver/linux-low.cc | 28 ++++++++++++++++++++++++++++ gdbserver/linux-low.h | 8 ++++++++ 4 files changed, 96 insertions(+) diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c index 30a279248ec..a11427edf61 100644 --- a/gdb/linux-tdep.c +++ b/gdb/linux-tdep.c @@ -3215,6 +3215,44 @@ linux_get_hwcap2 () current_inferior ()->arch ()); } +/* See linux-tdep.h. */ + +CORE_ADDR +linux_get_hwcap3 (const std::optional &auxv, + target_ops *target, gdbarch *gdbarch) +{ + return linux_get_hwcap_helper (auxv, target, gdbarch, AT_HWCAP3); +} + +/* See linux-tdep.h. */ + +CORE_ADDR +linux_get_hwcap3 () +{ + return linux_get_hwcap3 (target_read_auxv (), + current_inferior ()->top_target (), + current_inferior ()->arch ()); +} + +/* See linux-tdep.h. */ + +CORE_ADDR +linux_get_hwcap4 (const std::optional &auxv, + target_ops *target, gdbarch *gdbarch) +{ + return linux_get_hwcap_helper (auxv, target, gdbarch, AT_HWCAP4); +} + +/* See linux-tdep.h. */ + +CORE_ADDR +linux_get_hwcap4 () +{ + return linux_get_hwcap4 (target_read_auxv (), + current_inferior ()->top_target (), + current_inferior ()->arch ()); +} + /* Display whether the gcore command is using the /proc/PID/coredump_filter file. */ diff --git a/gdb/linux-tdep.h b/gdb/linux-tdep.h index 1dd0b3d2a17..8f7e7aafbd0 100644 --- a/gdb/linux-tdep.h +++ b/gdb/linux-tdep.h @@ -91,6 +91,28 @@ extern CORE_ADDR linux_get_hwcap2 (const std::optional &auxv, extern CORE_ADDR linux_get_hwcap2 (); +/* Fetch the AT_HWCAP3 entry from auxv data AUXV. Use TARGET and GDBARCH to + parse auxv entries. + + On error, 0 is returned. */ +extern CORE_ADDR linux_get_hwcap3 (const std::optional &auxv, + struct target_ops *target, gdbarch *gdbarch); + +/* Same as the above, but obtain all the inputs from the current inferior. */ + +extern CORE_ADDR linux_get_hwcap3 (); + +/* Fetch the AT_HWCAP4 entry from auxv data AUXV. Use TARGET and GDBARCH to + parse auxv entries. + + On error, 0 is returned. */ +extern CORE_ADDR linux_get_hwcap4 (const std::optional &auxv, + struct target_ops *target, gdbarch *gdbarch); + +/* Same as the above, but obtain all the inputs from the current inferior. */ + +extern CORE_ADDR linux_get_hwcap4 (); + /* Returns true if ADDR belongs to a shadow stack memory range. If this is the case, assign the shadow stack memory range to RANGE [start_address, end_address). */ diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc index f1be62225e2..c4daba0bf40 100644 --- a/gdbserver/linux-low.cc +++ b/gdbserver/linux-low.cc @@ -70,6 +70,14 @@ #define AT_HWCAP2 26 #endif +#ifndef AT_HWCAP3 +#define AT_HWCAP3 29 +#endif + +#ifndef AT_HWCAP4 +#define AT_HWCAP4 30 +#endif + /* Some targets did not define these ptrace constants from the start, so gdbserver defines them locally here. In the future, these may be removed after they are added to asm/ptrace.h. */ @@ -7235,6 +7243,26 @@ linux_get_hwcap2 (int pid, int wordsize) return hwcap2; } +/* See linux-low.h. */ + +CORE_ADDR +linux_get_hwcap3 (int pid, int wordsize) +{ + CORE_ADDR hwcap3 = 0; + linux_get_auxv (pid, wordsize, AT_HWCAP3, &hwcap3); + return hwcap3; +} + +/* See linux-low.h. */ + +CORE_ADDR +linux_get_hwcap4 (int pid, int wordsize) +{ + CORE_ADDR hwcap4 = 0; + linux_get_auxv (pid, wordsize, AT_HWCAP4, &hwcap4); + return hwcap4; +} + #ifdef HAVE_LINUX_REGSETS void initialize_regsets_info (struct regsets_info *info) diff --git a/gdbserver/linux-low.h b/gdbserver/linux-low.h index 60154240ddd..b274d3cb370 100644 --- a/gdbserver/linux-low.h +++ b/gdbserver/linux-low.h @@ -977,4 +977,12 @@ CORE_ADDR linux_get_hwcap (int pid, int wordsize); CORE_ADDR linux_get_hwcap2 (int pid, int wordsize); +/* Fetch the AT_HWCAP3 entry from the auxv vector, where entries are length + WORDSIZE, of process with pid PID. If no entry was found, return 0. */ +CORE_ADDR linux_get_hwcap3 (int pid, int wordsize); + +/* Fetch the AT_HWCAP4 entry from the auxv vector, where entries are length + WORDSIZE, of process with pid PID. If no entry was found, return 0. */ +CORE_ADDR linux_get_hwcap4 (int pid, int wordsize); + #endif /* GDBSERVER_LINUX_LOW_H */ -- 2.55.0