From patchwork Mon May 18 10:47:14 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Muhammad Kamran X-Patchwork-Id: 135192 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5A4DF4BA9008 for ; Mon, 18 May 2026 10:49:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5A4DF4BA9008 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=ocFzD7mM; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=ocFzD7mM X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org 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 3C0804BA2E05 for ; Mon, 18 May 2026 10:48:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3C0804BA2E05 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 3C0804BA2E05 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=1779101315; cv=pass; b=LXBZSXc3Jc2tO9OBIxeANP7JBxsjX6cgpnjnwg2Qm8W6+D8V8TwYzGnozRWmnEj3C9ksl0+ZFDWpoyVxSHWSYUMHcxK0C+38y2mSjU+osoZmt79WxKCzH0JDrrRlHy+k4Afb7cIey7qTnAvQROfhue6gQh3/m0+x1nmOO+OXRBM= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1779101315; c=relaxed/simple; bh=dIgt8PWB7K+DPQop2kiMqSpE/s5uSp07XIZj2StZxK4=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=KfhiJ7aH5ymILzZsd8BQfr7U/jjMShkRTyRzCVgkEOK6oBTQxr8q33Ub1Jx3QeVZbqddBoy/tdZAmO6JFj5WgrE7Xk6Zpw9jVKIE0LYYI62GQqwY4xinW2P0B8yMeT2vRviGBAb+E8tXLGsLqQ46f62KvQ283OSJCukIAwd7Tqk= 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=ocFzD7mM; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=ocFzD7mM DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3C0804BA2E05 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=yh26tHemIZQ2/TQSxg7yl944p/1GH1kVv0e0aSWOgtErFsnWi4SeWf9OlkW09hdOvow8cOiycxwwbeU00yxeL/hJNFhhFPE8QhV7oB739hvBQs++eaiAQEMt0C6IW5xt3p3FDJQOL7b7sgiJsjMqBMShcpQ6pyblUUbAmDr25THAjeezgaSvPl3Gg4dyP0+0+9bfUntsarrU0HdZX6Ydxr9gvgcrPy3eBuhNP8g55rLvkgym9CjSILQ7mqsRXCFdmTkRy9zEnUr7QbvnsiH1L9lKw3rNHoOFCOhy9wQNnpV03qcAA7RXVUmkRnD4FOhT0Veg+GumcKyfuOdKGxQFJw== 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=9eH+hFX6lZb7+V4/D0f6xGrsFc4iVZqRCh/6uDtEJpI=; b=ydutVjckksBP9HnMRHYbmsTxeQZ5WeJeSMlhc6rS24HOCyucyPOladUpPF2mynrXrxbQUreE9/CpMD+HlvzOm5SeTPAmTKAHMhMgY0+PMmCQ7neHh5NFws1wEGzMYv+whGl30slC5/CvFtydXh0snr6jbDkyS/BwVsU4NQY00BdmnjM+2uCOrW1pmqoL/s+KNY8Ev3lCoFkH1/1EMIrSPoUXgpUdpewd9CgjuhN9W/M/avL003AMzAtTuyrsjZ7Fo/jFli6r5lBkHOjR0h1Woam5I6tpC9FMV0TWJXc7icVPXSn7oKQnbKstlIKaEnakIBXBNK4WPHVZa57r/YrzBg== 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=9eH+hFX6lZb7+V4/D0f6xGrsFc4iVZqRCh/6uDtEJpI=; b=ocFzD7mMsF/L3cccVSClkUhA8uXG15vfE1Ung8lAaVRSUGlfjRdBUiCAFXTxM3zKAn8KEZsiQ/LeU25T1RbKzE+wxa5SyCPkp/XE4GthmJDU1cPFY/nj420UTU1eGKw2MIU2FFaxl42egUrdaOatN/taCqkuiTV0D4+BfKjFdeM= Received: from DU2PR04CA0232.eurprd04.prod.outlook.com (2603:10a6:10:2b1::27) by PAXPR08MB6719.eurprd08.prod.outlook.com (2603:10a6:102:137::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9913.11; Mon, 18 May 2026 10:48:27 +0000 Received: from DU6PEPF00009528.eurprd02.prod.outlook.com (2603:10a6:10:2b1:cafe::b4) by DU2PR04CA0232.outlook.office365.com (2603:10a6:10:2b1::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.25.23 via Frontend Transport; Mon, 18 May 2026 10:48: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 DU6PEPF00009528.mail.protection.outlook.com (10.167.8.9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.48.11 via Frontend Transport; Mon, 18 May 2026 10:48:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RneQ/tDFeGMFZ+JTrCf1yZT9r7C3RtSGXSk5Y+Zqiq34E49tCNO75ULLGurfGJlELwi0kSRwLSJPxVdAALwO3+5CXIar72aLwTL4Ork030DIBsO7MHa49DyQ4pfkVPP9RWj8g0D2pszkS5oEfkAT1ovVLU4EtdxrmsnoX8qtli5KaTKPXY020nedByTFSWvyICbD/DLrNXEeKpL8TRQgXeLu+Q0bhVDfeSKM5zPb+598QFRR71GgfVngiY6i/WGxxOA1onqAgQBpeh9xYBWbBs+OgDbrH3qgf8KEMmSqbaZi3eLpk+UQNhPpEhOAr20fPZBlnAWtDcV0maTZRQexLg== 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=9eH+hFX6lZb7+V4/D0f6xGrsFc4iVZqRCh/6uDtEJpI=; b=Zj3oSAohnZdvOxVLfecUcHPKFoRSS7dfoG8//Zx7oGggWo28w1fTghLVq036wZBTujgyHGrjckSy876iz9V6o4YUrNewf9YhwKVa+AFuevF3XCDaGK63l8rp2TholgYmYy8Q8+L626ZyYFjnwhgsod0NRQdFqmrExMF6D6mFF5f64lkgGxuePgW6Qc3wTEKQL66putUNsuKP1YFWfFrgBwa9/7gUt839Jm5jKGwjOzCDJ3FoNy/G9X9ExccaIbzawGkeSTv6XmXx7NV4Lt6D130Z29O4KAk6HqdSN/VFC5Jxho4wqPehoKSdg7iyWvNoxzZ1KD3yCK28ybrTBySkhA== 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=9eH+hFX6lZb7+V4/D0f6xGrsFc4iVZqRCh/6uDtEJpI=; b=ocFzD7mMsF/L3cccVSClkUhA8uXG15vfE1Ung8lAaVRSUGlfjRdBUiCAFXTxM3zKAn8KEZsiQ/LeU25T1RbKzE+wxa5SyCPkp/XE4GthmJDU1cPFY/nj420UTU1eGKw2MIU2FFaxl42egUrdaOatN/taCqkuiTV0D4+BfKjFdeM= Received: from AS9PR07CA0006.eurprd07.prod.outlook.com (2603:10a6:20b:46c::7) by GVXPR08MB7750.eurprd08.prod.outlook.com (2603:10a6:150:68::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.23; Mon, 18 May 2026 10:47:23 +0000 Received: from AM1PEPF000252DE.eurprd07.prod.outlook.com (2603:10a6:20b:46c:cafe::98) by AS9PR07CA0006.outlook.office365.com (2603:10a6:20b:46c::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.48.14 via Frontend Transport; Mon, 18 May 2026 10:47:23 +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 AM1PEPF000252DE.mail.protection.outlook.com (10.167.16.56) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.48.11 via Frontend Transport; Mon, 18 May 2026 10:47:23 +0000 Received: from AZ-NEU-EX03.Arm.com (10.240.25.137) 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; Mon, 18 May 2026 10:47:21 +0000 Received: from ip-10-249-57-232.eu-west-1.compute.internal (10.249.57.232) by mail.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 via Frontend Transport; Mon, 18 May 2026 10:47:21 +0000 From: Muhammad Kamran To: CC: Wilco Dijkstra , Yury Khrustalev , Muhammad Kamran Subject: [PATCH v2 1/1] aarch64: Use build attributes for asm feature marking Date: Mon, 18 May 2026 10:47:14 +0000 Message-ID: <20260518104714.19292-2-muhammad.kamran@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260518104714.19292-1-muhammad.kamran@arm.com> References: <20260518104714.19292-1-muhammad.kamran@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM1PEPF000252DE:EE_|GVXPR08MB7750:EE_|DU6PEPF00009528:EE_|PAXPR08MB6719:EE_ X-MS-Office365-Filtering-Correlation-Id: 04db6295-90eb-41b6-751c-08deb4cafe2f 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|36860700016|1800799024|82310400026|18002099003|22082099003|56012099003|11063799003; X-Microsoft-Antispam-Message-Info-Original: XwRB2wR5lqQhXFpf04HbwWoWAZ02He99YtKappgc0dPcMjA4iKGx5pqcAoEiuTP/g8Qnyq+/vkj/jIBUptSN2z4xaZav+Flu/btnEflkcBQQNGnGWa5PThA9/1LIXCyhhbmcdpKEw5gfx+xqu0Fy/FS+Os1yv5hUEcvD523bN2sAW3sr+loJA6O1iZHWAfPt+yzux/xKH+dQV7a5VsuchjZhelFfTpA38qtEhzx1jrNWYG7ChW6TOF9LxI0+64rKqS74MWIjJ8Y3TKFnFyaH4Q64HGZYzxsraBoZGPisnD90iHuCAOkWkQS6Atf1Jr6FWngmriJjugkzszEhSbAXaprXFKg/Cm657FGBKJwBmfeZ5cpA29lUB5wIfmICU+ZxNFOSa+DG2L6Jq8HI8vFVIwDMXyzXPQktH0b+Na+TpJPS2RXnxQ6J3kZjUu8Bz3jsp3MOLKdiWEXaUdG4LYeV22sFSAhB/WLh/uCSDMMW3YuOzpofbxY7Z7ivcslKtyFj/MM2OSo7OGzo8qqTXiHtHA9Gle1exEtFLiGjJ8mfHqQxeAPatxIxrT2m+2kUuSnwYWFBnsgGkP2jzOBGpsbPZqho4CGHL6UkvCjQoTYtj57g6w9utncGiWrtOd3w4EETfWIupnCAOrQh3oWPM+MFwmNcPDTz8a6fF44YSjhfzvYqq8bkCtc+4f9z62AmXii+Q4EEYjrcCztPo0VFK6aWa2pvXFR4s833Iaeeg3DV/+o= 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)(36860700016)(1800799024)(82310400026)(18002099003)(22082099003)(56012099003)(11063799003); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: gc6uiXvL3c1BobRY9+ncBEmm2xriaJIcylL20k3fUZxSFflDo4qAmn8669aJIN0pE3vcjwLFKfiiBCUSHBAb/FPjfVsMldOwoR6wUJRDnj3B1VJCln2vI5FRA6utKuMBsskXHR8WLEKfUN8mUMycJghKUhYSxwLdaLuVGE17rsagYsFsy/bGZ4FifGMshKgTLWyOck8e//b+IyWjWnx9H6bszPaTA6Vi7Z7IaNJaK49pdplSPaSIjvYga1nocR8JQkFOFBHf2FrYWfIqkCNad6ukJbM9Q0Y8KK/1AVQv1/49Sl4uCCpLh2r5qxXup4JIASi+ZZsMcuUJnI5+aZ4GKQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7750 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU6PEPF00009528.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: dd9cebcb-5c8d-4d06-f016-08deb4cad81b X-Microsoft-Antispam: BCL:0; ARA:13230040|35042699022|36860700016|82310400026|1800799024|14060799003|376014|11063799003|18002099003|22082099003|56012099003; X-Microsoft-Antispam-Message-Info: ipFXp5etXrgZR7IAgBWLoUid93R0d7fdl5AD087F4ren9tos8dAwEP8kwA6QHyfCahPqwn/MB/hxpPqkaw+dCsIsZNmGhdi1M/Ieg8/UwSJNbzQarG03P2wC4HQLMxKLYP3HtBbXIUEIUOfBmWYWKacm/58anL1r65dQ3DCP51Cuu9eyghgqiT6d9fnJjk+cL2lkCJqPpnzenuPAbSFw/z99mayHUOzJzJXV20QdaI39K2ObYjNTgMY4L4m40uVKVDMIPUen8J735geoXhUx+wKyMY23dtqw1g1VTexzVNIwMz2k5Qu1xNBf3Rn3ZMKyT1BWOlOswe880I8IgnhRsGvHijbNvIzFRRTABAiOloMtz6GVuzYcl3qfOx41AsvlOHsvF+kjBNE6ZUXjiwKky6vNphcJjqlo1zNvNXtoNywnJzRHsiLy1IXSpXeIVfzzS2npjvcKmJ2TTV6ZccuWK0jl5A6jJ3fNsDupbHeQNgLb7AUA7630BcaxFl6upjfHir+hAeYgF64nGqTbNtOniVYS8gRCPEuKcbtddBWSnNhsV6Yp0LooHIm0grPkdjSCDkO4M7AJYCVRclP2y0L9QWSkOwu1akVKUe4MrEIh4kifdsKdgi02N8k4mGZo3W1YDGdnamAAu+G+dHBLmNb9pA+uGha/5iILTs8y1TU8GzTQ90ZCjuprs314rl1DhJR6H5AlnYrW7fK2RlZL2yVnguJ9+kJYW5FY/I/TejSvafw= 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)(36860700016)(82310400026)(1800799024)(14060799003)(376014)(11063799003)(18002099003)(22082099003)(56012099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: r44MwxsiYiGWi2RBZBygZlhRcWQe0QSxIgXyxw6WEJ51tzz+jaRFJPByFL2r2JlzLZFwntV6GCTiA2S6Sny4uOoiiuVt6PXbXWZsT+cRY02Bepb2NV4NrghrDRT1cYUOvVwSfyKNOjzciIjuvaE23gsK0CPLIveEZ6tgi/AZpjUVtGR7q9nDyqvKqHUfAUnIY1V5n7t2T6aoGIyyYPlzrIqAbzjc2+4lMouIf9lF+STcEV75P0Lk3WK77mT4IMnwLKZtly2BLqEkn45bPuEFtP9HtFN2Z7wQ9fzfiHrQWBPsykyVF/A3VpQdlaAHlS5FzdpKhUO5vGamgvKMnjQQ+fl7IC+jeHu1KUfO/8EcoMOC+BfJuyCHtcVyHDj79jMMME4d5SfKq8Or6xBh+DwpHAA1PM24XD6ADOvkIPPvap4XUesLMjQNHlwcziqkcSyT X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2026 10:48:27.3741 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 04db6295-90eb-41b6-751c-08deb4cafe2f 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: DU6PEPF00009528.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6719 X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org When the compiler defines __ARM_BUILDATTR64_FV, emit AArch64 feature-and-bits build attributes for BTI, PAC, and GCS from sysdep.h instead of a GNU property note. Keep the GNU property note as the fallback for older toolchains. Mirror the same marking logic in elf/tst-asm-helper.h so custom test DSOs and assembly tests that cannot include sysdep.h get consistent feature marking. --- elf/tst-asm-helper.h | 61 +++++++++++++++++++++++++++------------- sysdeps/aarch64/sysdep.h | 56 +++++++++++++++++++++++++----------- 2 files changed, 82 insertions(+), 35 deletions(-) diff --git a/elf/tst-asm-helper.h b/elf/tst-asm-helper.h index 51d079b94e..b4be9a37df 100644 --- a/elf/tst-asm-helper.h +++ b/elf/tst-asm-helper.h @@ -1,6 +1,5 @@ -/* Test header that defines macros for GNU properties that need to be - used in some test assembly files where sysdep.h cannot be included - for some reason. +/* Test header that defines feature-marking macros used in some test + assembly files where sysdep.h cannot be included for some reason. Copyright (C) 2024-2026 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -27,21 +26,45 @@ #define FEATURE_1_PAC 2 #define FEATURE_1_GCS 4 +#ifdef __ARM_BUILDATTR64_FV +/* Add AArch64 feature bits build attributes. */ +# define FEATURE_1_AND_MARK(value) \ + .aeabi_subsection aeabi_feature_and_bits, optional, ULEB128; \ + .if ((value) & FEATURE_1_BTI); \ + .aeabi_attribute Tag_Feature_BTI, 1; \ + .else; \ + .aeabi_attribute Tag_Feature_BTI, 0; \ + .endif; \ + .if ((value) & FEATURE_1_GCS); \ + .aeabi_attribute Tag_Feature_GCS, 1; \ + .else; \ + .aeabi_attribute Tag_Feature_GCS, 0; \ + .endif; \ + .if ((value) & FEATURE_1_PAC); \ + .aeabi_attribute Tag_Feature_PAC, 1; \ + .else; \ + .aeabi_attribute Tag_Feature_PAC, 0; \ + .endif; \ + .text +#else /* Add a NT_GNU_PROPERTY_TYPE_0 note. */ -#define GNU_PROPERTY(type, value) \ - .section .note.gnu.property, "a"; \ - .p2align 3; \ - .word 4; \ - .word 16; \ - .word 5; \ - .asciz "GNU"; \ - .word type; \ - .word 4; \ - .word value; \ - .word 0; \ - .text - -/* Add GNU property note with the supported features to all asm code - where sysdep.h is included. */ -GNU_PROPERTY (FEATURE_1_AND, FEATURE_1_BTI|FEATURE_1_PAC|FEATURE_1_GCS) +# define GNU_PROPERTY(type, value) \ + .section .note.gnu.property, "a"; \ + .p2align 3; \ + .word 4; \ + .word 16; \ + .word 5; \ + .asciz "GNU"; \ + .word type; \ + .word 4; \ + .word value; \ + .word 0; \ + .text + +# define FEATURE_1_AND_MARK(value) GNU_PROPERTY (FEATURE_1_AND, value) +#endif /* __ARM_BUILDATTR64_FV */ + +/* Add marking with the supported features to all asm code where this header + is included. */ +FEATURE_1_AND_MARK (FEATURE_1_BTI | FEATURE_1_PAC | FEATURE_1_GCS) #endif diff --git a/sysdeps/aarch64/sysdep.h b/sysdeps/aarch64/sysdep.h index da4b7f3fd3..6bf2f4fe0e 100644 --- a/sysdeps/aarch64/sysdep.h +++ b/sysdeps/aarch64/sysdep.h @@ -43,23 +43,47 @@ #define FEATURE_1_PAC 2 #define FEATURE_1_GCS 4 +#ifdef __ARM_BUILDATTR64_FV +/* Add AArch64 feature bits build attributes. */ +# define FEATURE_1_AND_MARK(value) \ + .aeabi_subsection aeabi_feature_and_bits, optional, ULEB128; \ + .if ((value) & FEATURE_1_BTI); \ + .aeabi_attribute Tag_Feature_BTI, 1; \ + .else; \ + .aeabi_attribute Tag_Feature_BTI, 0; \ + .endif; \ + .if ((value) & FEATURE_1_GCS); \ + .aeabi_attribute Tag_Feature_GCS, 1; \ + .else; \ + .aeabi_attribute Tag_Feature_GCS, 0; \ + .endif; \ + .if ((value) & FEATURE_1_PAC); \ + .aeabi_attribute Tag_Feature_PAC, 1; \ + .else; \ + .aeabi_attribute Tag_Feature_PAC, 0; \ + .endif; \ + .text +#else /* Add a NT_GNU_PROPERTY_TYPE_0 note. */ -#define GNU_PROPERTY(type, value) \ - .section .note.gnu.property, "a"; \ - .p2align 3; \ - .word 4; \ - .word 16; \ - .word 5; \ - .asciz "GNU"; \ - .word type; \ - .word 4; \ - .word value; \ - .word 0; \ - .text - -/* Add GNU property note with the supported features to all asm code - where sysdep.h is included. */ -GNU_PROPERTY (FEATURE_1_AND, FEATURE_1_BTI|FEATURE_1_PAC|FEATURE_1_GCS) +# define GNU_PROPERTY(type, value) \ + .section .note.gnu.property, "a"; \ + .p2align 3; \ + .word 4; \ + .word 16; \ + .word 5; \ + .asciz "GNU"; \ + .word type; \ + .word 4; \ + .word value; \ + .word 0; \ + .text + +# define FEATURE_1_AND_MARK(value) GNU_PROPERTY (FEATURE_1_AND, value) +#endif /* __ARM_BUILDATTR64_FV */ + +/* Add marking with the supported features to all asm code where sysdep.h + is included. */ +FEATURE_1_AND_MARK (FEATURE_1_BTI | FEATURE_1_PAC | FEATURE_1_GCS) /* Define an entry point visible from C. */ #define ENTRY(name) \