| Message ID | 20250310175131.1217374-1-matthieu.longo@arm.com |
|---|---|
| Headers |
Return-Path: <binutils-bounces~patchwork=sourceware.org@sourceware.org>
X-Original-To: patchwork@sourceware.org
Delivered-To: patchwork@sourceware.org
Received: from server2.sourceware.org (localhost [IPv6:::1])
by sourceware.org (Postfix) with ESMTP id 197893858401
for <patchwork@sourceware.org>; Mon, 10 Mar 2025 17:53:48 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 197893858401
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=BEZWbqFY;
dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com
header.a=rsa-sha256 header.s=selector1 header.b=BEZWbqFY
X-Original-To: binutils@sourceware.org
Delivered-To: binutils@sourceware.org
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
(mail-db8eur05on2060e.outbound.protection.outlook.com
[IPv6:2a01:111:f403:2614::60e])
by sourceware.org (Postfix) with ESMTPS id AD6A33858D20
for <binutils@sourceware.org>; Mon, 10 Mar 2025 17:52:13 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AD6A33858D20
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 AD6A33858D20
Authentication-Results: server2.sourceware.org;
arc=pass smtp.remote-ip=2a01:111:f403:2614::60e
ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1741629134; cv=pass;
b=X0I/upq5xoTxa3Rs37E3C4se79P9C1cq4j30ivqyMYq1vs4pjw6zAKnPYVE8nkyLv+IEcRazFBB7DJcMqqZ1FpvOBBXy4VbcOqewlEMXPaGRiU4H5xIP+Yca6fj6KXY3e0iXhdLghjcjDseuIiCTJ0W2pR5QzWMjhgMYxGQFIUw=
ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key;
t=1741629134; c=relaxed/simple;
bh=efSvWfCHO6wBURw/qta7pdu5LohhCRXUpdI3uyaFifo=;
h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID:
MIME-Version;
b=sMWuXu9b+hrZczhrVCHqO2MiHU9LUrRztMyq9OgIYccxCylR9+0hiwXkKSD1nUQoZE2mTH7gUbxqk9EFfIm6qc3WETu2KPq9uqJNJx0a86SGf4wE+cBb0Q6BJZ3jqYl3rSk9vW7sZuWnaMX+ZEHRxk49zEwsj4lBd6/9dubO+O8=
ARC-Authentication-Results: i=3; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AD6A33858D20
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
b=XGEuTHYvvb6FNXE/TmcBB24OOqxPZN3TXOZwnoHK9PUTj7XN/RuP1ShHDhBfbyXtr11jczRJiH3nI5B9Ol5gaItDBgpgAIqL31L6mKp70T1VG6H4128/VPxJeGcYJVkL3lmbOzlnaXu4Nia3XVMfqCFIXoHqZEWh9GLjqic63h2VQltx1IBv248WB6yQzOmVCReNCm/SmwLvq/WI9TYrnrSk9OcQCUe0s0nA4+SQ1LGTJl9D4niWkjp0kX+WcunQ+nr/8CmkHF1+ZhdT4atWVuM/W0ppdK1fDp61/Y9Sa83vfPNvCh4toWGTdZQb8OXXYSillJcC40LrWd2YSyikuQ==
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=sL0/8XIZ4BgwQhc7SBPTlDUmzDqS9XEP1MS6NX+Fu40=;
b=Pz994B4i8Axqqiy8rijFj2D47X8yJG2R8XnFKognXGO8IPE2lcjvtqSsWxV3IRehsxu0h/mcuEHYDM+YsksqGMCuP8eZeeS5aEVUriKMRMWIAkYyNr9VHF7+kKA4JhyX/u7ijDXYkeu/siku4upDZ9A9A7NrynUe/L9SCdbmgABwz9qcw9fTo9XAqnZfaUZBW3x+ym2FICbweZSjBQztjRKX9aaLB8oAW1im7804vzClHDv5o/7QhB6k0oLRDFjP+gXbD4B8U6+lJhYS4Dk83kDnT53jZ6fU/DQXWyARPzRDiJtKmp1cIKvCEhq7AYqU1FOhx2LU9vqdVFtuorTyKg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
63.35.35.123) 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=0
ltdi=1)
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=sL0/8XIZ4BgwQhc7SBPTlDUmzDqS9XEP1MS6NX+Fu40=;
b=BEZWbqFYP/xsYlivzt+ICFj4sbCXvX8wz+cQ7d/3RX5ObmKlvyTjWrl72343wlLslH4mA5H/00MAUFUaTV/+ozRElna/eE+SYhOsCZvAT4Aoz0KmHSeh3P4A+E+gQWoKHWqSXukH4vLR80vEAWdKuZwhMBySVb6S9pgyDXhKOt8=
Received: from AS4PR09CA0023.eurprd09.prod.outlook.com (2603:10a6:20b:5d4::13)
by VI1PR08MB5423.eurprd08.prod.outlook.com (2603:10a6:803:133::13)
with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Mon, 10 Mar
2025 17:52:02 +0000
Received: from AM3PEPF00009B9C.eurprd04.prod.outlook.com
(2603:10a6:20b:5d4:cafe::b0) by AS4PR09CA0023.outlook.office365.com
(2603:10a6:20b:5d4::13) with Microsoft SMTP Server (version=TLS1_3,
cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.26 via Frontend Transport; Mon,
10 Mar 2025 17:52:02 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
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
63.35.35.123 as permitted sender) receiver=protection.outlook.com;
client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
pr=C
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
AM3PEPF00009B9C.mail.protection.outlook.com (10.167.16.21) with
Microsoft
SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
via Frontend Transport; Mon, 10 Mar 2025 17:52:01 +0000
Received: ("Tessian outbound 678e42ac23ee:v585");
Mon, 10 Mar 2025 17:52:01 +0000
X-CheckRecipientChecked: true
X-CR-MTA-CID: d6cff2593b6c19a3
X-TessianGatewayMetadata:
KairXgSIWJtiFmw+D/0IXhoo4znlIe2DrvDtJd2SUJDpoyGeNuQF1plVcH3gGLHkz1ZF0IKACgP0EQFu0Bw4egh5SezSgDCPVzik+gOFdIh3sE/8glZxw/vvR3OnbsEo0VZOCS4Y154X37LftFsF1WHL7fndPFR42/mOM2DW6e8=
X-CR-MTA-TID: 64aa7808
Received: from L6fc1f3554206.2
by 64aa7808-outbound-1.mta.getcheckrecipient.com id
B01390D7-B7C2-457B-91D6-88648808C779.1;
Mon, 10 Mar 2025 17:51:50 +0000
Received: from AS8PR04CU009.outbound.protection.outlook.com
by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
L6fc1f3554206.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
Mon, 10 Mar 2025 17:51:50 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=GG4pUhFjFrvBiwx8NzxD/VeelE8ydF3V5AXJqhzMQAMIl2wK6l99AXtLUk+qn0sfGvsizhxeYblOCoUQn81z3BXc3gADbWD8gGt/10hssokltObfpg5zjcg8WHKXEgGX43kRfiDTSLgwOH9Wch26fVFovgdfdjzu+Nfv3ia72v6bYz6WBZRFHiQYkD4O9SURAA6KJQwpjNo1wwwkVoKSs4ZTL3BjdZ93I3byq6j1/bMpxfMIoGu72EfxWO4m7T/yU+YdkodZ19NBRLMVDoVmWRh5qUxHNAPmFr4u8J6gfoJJnZ2ElABalugN3ooUvgzontU49+0NfKDT9kP4i0xbgw==
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=sL0/8XIZ4BgwQhc7SBPTlDUmzDqS9XEP1MS6NX+Fu40=;
b=r1jciCnx6Je/b1ciGkkOfOv1Rw3RxZbju7jcY4A4tc9IAvgarHR5fG409POuF/+atMNR4I6B6cBTDdSrXFdpTSPBQOaL7DU7EHaaUdRo4hdd6dxPJ4c5OZDsY0r+c6oymfpPOg2Y+eocGNGE6wEzZ8gQwlmiGLbRl+UWtEd6wNBiG2QLBaJ724coa2g44q3dJOTnivWP0GG44Hz1gNDg9ZbXUrIBZAxsSEgyhUeTxM4Hf7kdnzkA5TZ2UCUkj2FsL5O/PrzXulpTmH1TInbxlHjm4W1iARZYoNcgQgma/JFfB9T9wlwNUSHDZ0vbdE7kRt3E8fe5goWYH4RzITA2Vg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is
172.205.89.229) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com;
dmarc=fail (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=sL0/8XIZ4BgwQhc7SBPTlDUmzDqS9XEP1MS6NX+Fu40=;
b=BEZWbqFYP/xsYlivzt+ICFj4sbCXvX8wz+cQ7d/3RX5ObmKlvyTjWrl72343wlLslH4mA5H/00MAUFUaTV/+ozRElna/eE+SYhOsCZvAT4Aoz0KmHSeh3P4A+E+gQWoKHWqSXukH4vLR80vEAWdKuZwhMBySVb6S9pgyDXhKOt8=
Received: from VI1PR06CA0182.eurprd06.prod.outlook.com (2603:10a6:803:c8::39)
by DU0PR08MB8954.eurprd08.prod.outlook.com (2603:10a6:10:465::21)
with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar
2025 17:51:44 +0000
Received: from AM4PEPF00027A5F.eurprd04.prod.outlook.com
(2603:10a6:803:c8:cafe::fa) by VI1PR06CA0182.outlook.office365.com
(2603:10a6:803:c8::39) with Microsoft SMTP Server (version=TLS1_3,
cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.24 via Frontend Transport; Mon,
10 Mar 2025 17:51:44 +0000
X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 172.205.89.229)
smtp.mailfrom=arm.com; dkim=none (message not signed)
header.d=none;dmarc=fail action=none header.from=arm.com;
Received-SPF: Fail (protection.outlook.com: domain of arm.com does not
designate 172.205.89.229 as permitted sender)
receiver=protection.outlook.com; client-ip=172.205.89.229;
helo=nebula.arm.com;
Received: from nebula.arm.com (172.205.89.229) by
AM4PEPF00027A5F.mail.protection.outlook.com (10.167.16.74) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
15.20.8534.20 via Frontend Transport; Mon, 10 Mar 2025 17:51:43 +0000
Received: from AZ-NEU-EXJ01.Arm.com (10.240.25.132) by AZ-NEU-EX05.Arm.com
(10.240.25.133) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 10 Mar
2025 17:51:43 +0000
Received: from AZ-NEU-EX06.Arm.com (10.240.25.134) by AZ-NEU-EXJ01.Arm.com
(10.240.25.132) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 10 Mar
2025 17:51:42 +0000
Received: from PW070M4K.arm.com (10.57.84.208) by mail.arm.com (10.240.25.134)
with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport;
Mon, 10 Mar 2025 17:51:42 +0000
From: Matthieu Longo <matthieu.longo@arm.com>
To: <binutils@sourceware.org>
CC: Alan Modra <amodra@gmail.com>, Richard Earnshaw
<richard.earnshaw@arm.com>, Matthieu Longo <matthieu.longo@arm.com>
Subject: [PATCH v0 00/15] AArch64 AEABI build attributes (a.k.a. object
attributes v2)
Date: Mon, 10 Mar 2025 17:51:13 +0000
Message-ID: <20250310175131.1217374-1-matthieu.longo@arm.com>
X-Mailer: git-send-email 2.48.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 1
X-MS-TrafficTypeDiagnostic:
AM4PEPF00027A5F:EE_|DU0PR08MB8954:EE_|AM3PEPF00009B9C:EE_|VI1PR08MB5423:EE_
X-MS-Office365-Filtering-Correlation-Id: 6682192e-a415-4215-288a-08dd5ffc4322
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|1800799024|36860700013|82310400026|13003099007;
X-Microsoft-Antispam-Message-Info-Original: =?utf-8?q?gSa7vJtJSqJC+xKiI71drM?=
=?utf-8?q?6aBI1TIfNc//KlZZ/qhgv9DqyCg5to9dw1gep3abKnJoqZ6vPUtJSuqrRZWLtrpnk?=
=?utf-8?q?PUzJ00uK1jwDy2ziWsUPgLP6EJFh5TgeY33YMDXVb+isGkwGwVPWDDAX9zXgkxT7v?=
=?utf-8?q?4+nkQd9UIfY4JwuT1vPIgdZUWIhqGUJvYQcEx2mZXZNUHeNmg5UwkO80aNxmCILYg?=
=?utf-8?q?pVYQHMR+t+qF2ohPhvrDW7aHJ98fE6OkQVnrvalrpu1lMp9JVSJyj2tQbQOoI2706?=
=?utf-8?q?w9ka6RLUTpFvKAtLJgmXLoMtlrsu9Z//Shu3eD2dxm8D1jRqd1vhpecciALYvBltR?=
=?utf-8?q?2OaQgeJWk2JPHKnXEeYES2ICeFfWKiPL5Fsnz0eehOCwHHrxfRDv5Fm6L7DVsslNJ?=
=?utf-8?q?R4smTCqk0tJ+14usrIkXRI3wl91vhyDluzc+q1e6hb6JKVm5U8O5PNnKkL5sMcnKb?=
=?utf-8?q?B8/9EaLXu/Ji4uQyHrFAwIEby1EAAk7/4sPNPrTaFPF168RVTl9tYYrDQ4l3DdmZw?=
=?utf-8?q?OiDypFDwb3YJZYWSJRnATgKi2yPmNzOKx6lJZtZBIB+cCekhBqBJIqqalKXelwEhq?=
=?utf-8?q?E5XHUOvhBDYDO9RSsm/MI7qsXJnL+16uxztHYeAf2vIOlbp3bRzOudML8mu82cyxc?=
=?utf-8?q?+OYRhDCPwcwhzQdDdDycJ/px9hbJEAbgkIPAfXxQsEvgvcmSPSiCR/ZbG8ZckufDb?=
=?utf-8?q?9ZdakjnBw2OR6+qTOsE5XH9f4rv7Jr6whI+LORMdrSZMA9nQ6P05iQF2MIFZPirz9?=
=?utf-8?q?laGtmieTl7jD1+QJ8TTx3NwoZFlTQjfdTlgrq1iL4O+yEY9cW5PL6azH5FJKt/5du?=
=?utf-8?q?gcwCKXlXJFP2nWfTYY+YjD3NcE3TzncJT+5q6ObiNmKl7lxoBHQc7/P6UOn5wI2y4?=
=?utf-8?q?PchlkXIo0k7lhfTtTpO90g3T/5CNMIPzrpGtgW+wwrnzzeW3luOeY/YPNZZ6TzS51?=
=?utf-8?q?NnVqpDzBvZPEK8IZV30UpsJuNhXMeZxCj72CcgCZ7+n4wJqLh+QaIeHHgRgpAYy13?=
=?utf-8?q?BmoiJjG/ZsmZQ6bm6UWr9yq/TGT08kWzV5VJ3p7PkYTDSfcZT1WrpkQ0Z8JUwhVIa?=
=?utf-8?q?HepKAWKVMA9rwb0MOcAjuWaY+OLp9q4OqNBWO20SYtsR9av2iKgQW1fNZBH8BBsO+?=
=?utf-8?q?G+q6BIuUqyLImgRg4H6NtcSRN47LzA7b+bloDGanrig964OqkDrPoLE409dMpFEgd?=
=?utf-8?q?uN6WnUVDejn/i0Nkm/5xDrOLUyvCwfY4IwWnA+EhRs2hOze7+lBRWslc5DX4y950l?=
=?utf-8?q?jebqdrcqe7k0TkNJtHBFGffkrGtU0ujOB1WTLLDTU7LLL4lYwmcBQ0njl2xlTm6wp?=
=?utf-8?q?QJ9H9TYxcPvGMAHMcNmwyeBvCHglaSgRWvA2Cure6gv/0XzoDvjt6nqR35XKqAM+c?=
=?utf-8?q?xxxLi6hUIwmGDkzfa67/?=
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)(1800799024)(36860700013)(82310400026)(13003099007);
DIR:OUT; SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8954
X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:803:c8::39];
domain=VI1PR06CA0182.eurprd06.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
AM3PEPF00009B9C.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
a86564bd-a9ec-4d0e-6864-08dd5ffc386d
X-Microsoft-Antispam: BCL:0;
ARA:13230040|82310400026|35042699022|1800799024|36860700013|14060799003|376014;
X-Microsoft-Antispam-Message-Info: =?utf-8?q?jVWOODRYm/YcRyqrNhC+4he8zkh5hmR?=
=?utf-8?q?JFDfhWT10uNgwpIwhzU3a9kB8ZVbQVnQUgImJYEHnZ3AjYZRstwyoEpsh1j5Irnc7?=
=?utf-8?q?EX+nj/YsD1czQ51wQLgVm5xHkdG3Khd1QUkPomLOVbH7kaiKxNmPvTc6bxXPlHnhU?=
=?utf-8?q?CTnzznvYFukmqSMMofqG6on6qfJ3St0fEbqvl5ihwA+tfvtkUl1rkiByxnM5Jy9wj?=
=?utf-8?q?s/ZAHxHHLV3FB7YpEkyb+FJyXvTbE8oNPW6QAxqtomwj4MSSNTqJ+8IyT5tAbcwJK?=
=?utf-8?q?T66Gk18KK8DtYYi/8gRJJQ6b2/+V6Dee8q50maxRCCfwztlyfYudkLPg0tm6U4mRO?=
=?utf-8?q?7Q4AjyBTEgkL9h2FSQ484c9RJ3sNTv7uYrujK8hFsTLaPxf596ITowRBxPFr6OuOJ?=
=?utf-8?q?fHemXwEBOGbEVfyNSeK83nH0RA99j2+2oLqIU96R2dbe11XYZgigZpPamcRDiF/+a?=
=?utf-8?q?zSuJe9b7FqzFipXX2MEuzyezy74E/ARKhLIz48gmeJevZ2p+Y4QiODzB0tkfUr+36?=
=?utf-8?q?7hMDhW+ZeXOTSHt8FEpMbfCBzyFV3/d+kd9ZgvfUI/qbw4M7+ATbXXQrvh9iq/IHt?=
=?utf-8?q?oXdxYNnoS7JC+bN1ejFbZJTVn9XmYLgcqD5xZ228+FNrR104cPwcJi4LdaFF9PAmj?=
=?utf-8?q?F9t/dvCYRhDFDaIrWpyF6OX5EQ9WNZkNI1Wu5Od6ThsZ9JUIi55T8292aLpVVD1pA?=
=?utf-8?q?M/ci81yxiWdruIr+H3LS4ICncyQk1aJDEFxIigTqaLUD/4EdRs1n+XY39PfQoIYQr?=
=?utf-8?q?euPfpdCnKr9GNgUjcqTSb6ZrrlzBNQcfWV/OUW0XnBJHx3KR9rWxamyiwVMhC5HN3?=
=?utf-8?q?lQQtUaIgBmJfzYNaIXcyPNdlF240x1tNkxir2Qij+7eavDXQ681YFY0o/4ecCa6j4?=
=?utf-8?q?hkfY6v97/ToaeSBlBks4Ap07RdbmJ/szyThO5CqVMfKesGNvoBqJ5+pZBL0DrroHU?=
=?utf-8?q?8bB2ok2NJq3ysn2cWQ+M1V7je81mZ8OxNSaSed7Nb9cJJioF6PyiqtMrYrSY4SIHH?=
=?utf-8?q?czzZEuSrX9063gOfSkQs+CSVIhnZYXchB3q+wBb9knlm7ZxApGdyUsB7mHvyuT9AZ?=
=?utf-8?q?s4Dv9IDVHjXgtPQFbr7k9oFnm5u4ZXDnUJJnh5mtZGpUzkZRWzUymWGfscT3jNwMn?=
=?utf-8?q?x5X0TFYTpnvTGkpYIjivr0Wxfpe2u6MGsJtc0yqQgIoE1Ayl2/0mcCWOxUU0sPJi4?=
=?utf-8?q?wYbh3Ho9UgV+IIEBCwDks0C5mcZF8n0JAUV1Z+LPjZFh6bvsMVGkPGBSZNuHvALME?=
=?utf-8?q?bl8N0AOM3ke4egdhzqcxDh4FHj0eaAuvFXgoVpnafprbBlUbpzfcqC8deJlb4P0Bz?=
=?utf-8?q?k7EJVNmCc/U4V8vB4I5892nYiwsujF7tE0g1wFvttcS4VNh29UZZk+fUdSRw2fOjB?=
=?utf-8?q?kQSYARTSE/a?=
X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:;
IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com;
PTR:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE;
SFS:(13230040)(82310400026)(35042699022)(1800799024)(36860700013)(14060799003)(376014);
DIR:OUT; SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 17:52:01.8406 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id:
6682192e-a415-4215-288a-08dd5ffc4322
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp:
TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123];
Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
AM3PEPF00009B9C.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5423
X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, KAM_SHORT,
LIKELY_SPAM_BODY, SPF_HELO_PASS, SPF_NONE, TXREP,
UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
server2.sourceware.org
X-BeenThere: binutils@sourceware.org
X-Mailman-Version: 2.1.30
Precedence: list
List-Id: Binutils mailing list <binutils.sourceware.org>
List-Unsubscribe: <https://sourceware.org/mailman/options/binutils>,
<mailto:binutils-request@sourceware.org?subject=unsubscribe>
List-Archive: <https://sourceware.org/pipermail/binutils/>
List-Post: <mailto:binutils@sourceware.org>
List-Help: <mailto:binutils-request@sourceware.org?subject=help>
List-Subscribe: <https://sourceware.org/mailman/listinfo/binutils>,
<mailto:binutils-request@sourceware.org?subject=subscribe>
Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org
|
| Series |
AArch64 AEABI build attributes (a.k.a. object attributes v2)
|
|
Message
Matthieu Longo
March 10, 2025, 5:51 p.m. UTC
Hi all,
This patch series introduces support for AArch64 AEABI build attributes (that I will refer as Object Attributes V2). Build attributes are metadata embedded in ELF object files, and binaries (executables, and shared linkable libraries) to provide ABI and compatibility information. These attributes help linkers to diagnose incompatibilities and enforce compatibility between the input object files at link time. Additionally, they can offer insights into the targeted processor, or architecture for an object file, or features used in it. More details can be found in [1] and Section 4 of [2].
## Background and Motivation
The initial implementation of build attributes (that I will refer as Object Attributes V1) dates back to 2005 ([3]) and is specified in [4]. It stores attributes in a vendor-specific section ".ARM.attribute" using a complex format based on <tag, value> pairs and sub-subsections, where the key determines whether the attributes is mandatory or optional, and whether the type of the value is an integer encoded as ULEB128 (Unsigned Little Endian Base 128) or a string encoded as NTBS (Null-Terminated Byte String). While widely adopted since 2007 ([5]), Object Attributes V1's complexity makes parsing and skipping subsections or attributes challenging, especially for the main consumers, the linkers, which are responsible to merge them, and enforce compatibility.
To address these limitations, a new specification for AArch64 build attributes (Object Attributes V2) was proposed ([1], [2]). Key design goals include:
- Retaining successful aspects of Object Attributes V1.
- Defining the relationship between build attributes and the existing GNU program properties.
- Separating architectural requirements from software ABI requirements.
- Simplifying the format to allow consumers to skip a subsection or attribute that it does not understand without giving a warning message.
The specification is available in [2], and a pull request for discussion is open at [6].
Example of the new AArch64 assembly directives to declare subsections and attributes:
```
.aeabi_subsection aeabi_feature_and_bits, optional, uleb128
.aeabi_attribute Tag_Feature_BTI, 1
.aeabi_attribute Tag_Feature_GCS, 1
```
Output of readelf:
```
Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
Properties: AArch64 feature: BTI, GCS
Subsections:
- Name: aeabi_feature_and_bits
Scope: public
Length: 33
Optional: True
Encoding: ULEB128
Values:
Tag_Feature_BTI: 1 (0x1)
Tag_Feature_GCS: 1 (0x1)
```
## Patch Series Overview
This series consists of 15 patches, structured in 5 blocks as follows:
1. Patch 1 introduces a "generic" doubly linked list implementation in libiberty, used in the following patches to manage subsections and their attributes.
2. Patches 2-7 add serialization support in gas, and dumping capabilities in readelf:
* 2 new assembly directives for AArch64: ".aeabi_subsection" and ".aeabi_attribute".
* convertion from assembly to internal abstractions.
* serialization in bfd.
* dumping support in readelf.
* tests for serialization and dumping.
3. Patches 8-11 implement deserialization, copy support for objcopy, and add tests for copying.
4. Patch 12 implements the generic framework so that the linker can convert GNU properties to object attributes V2, merge them, and re-convert them to GNU properties. Patch 13 adds the corresponding generic tests.
5. Patch 14 implements the support for AArch64 AEABI build attributes and BTI, PAC and GCS tagging similar to what currently exists with the GNU properties. Patch 15 adds the corresponding AArch64-specific tests.
Regression testing on aarch64-unknown-linux-gnu showed no failures.
Regarding the nested functions ([7]), I plan to reorganize the code to eliminate them in a future version of this patch series.
Feedback, questions, and change proposals are welcome.
Regards,
Matthieu.
## References
[1]: [Design Rationale for Build Attributes for the Arm 64-bit Architecture (AARCH64)](https://github.com/ARM-software/abi-aa/blob/eec881270d5e3b23e58a6250640d06ff545ec1fc/design-documents/buildattr64-rationale.rst)
[2]: [Build Attributes for the ArmĀ® 64-bit Architecture (AArch64)](https://github.com/ARM-software/abi-aa/blob/eec881270d5e3b23e58a6250640d06ff545ec1fc/buildattr64/buildattr64.rst)
[3]: [\[patch\] Arm EABI object attributes, by Paul Brook - September 2005](https://sourceware.org/pipermail/binutils/2005-September/044310.html)
[4]: [Addenda to, and Errata in, the ABI for the ARM Architecture (AArch32) - Chapter 3 - ADDENDUM: Build Attributes](https://github.com/ARM-software/abi-aa/blob/a82eef0433556b30539c0d4463768d9feb8cfd0b/addenda32/addenda32.rst#addendum-build-attributes)
[5]: [Object attribute tagging, by Joseph S. Myers - June 2007](https://gcc.gnu.org/legacy-ml/gcc/2007-06/msg00654.html)
[6]: [PR #230: AArch64 build attributes specification](https://github.com/ARM-software/abi-aa/pull/230)
[7]: [Removing nested function from elfxx-aarch64.c](https://inbox.sourceware.org/binutils/98c5819b-d197-4fdb-aa7f-9fd52801cad8@redhat.com/)
Matthieu Longo (10):
libiberty: add implementations of common methods for type-sensitive doubly linked lists
gas/write.c: add missing flag SEC_HAS_CONTENT on object attributes section
bfd: parse build attributes v2's section in input object files
bfd: add support for copying object attributes v2
objcopy tests: copy accurately build attributes data from an object to another
bfd: merge duplicated subsections into one after parsing
ld's BAs merge saga, step one: generic merge works on its own without backend support
ld tests: generic merge coverage for build attributes
ld's BAs merge saga, step two: AArch64 backend's support for AEABI-specific BAs
ld tests: AArch64-specific merge coverage for AEABI-specific BAs
Richard Ball (5):
Build attributes: add new abstractions for subsections and attributes
gas: parse object attributes v2
bfd: write object attributes v2
readelf: add support to dump build attributes v2
gas tests: add new tests for build attributes
bfd/Makefile.am | 2 +-
bfd/Makefile.in | 2 +-
bfd/elf-attrs.c | 2060 ++++++++++++++++-
bfd/elf-attrs.h | 196 ++
bfd/elf-bfd.h | 76 +-
bfd/elf.c | 22 +-
bfd/elfnn-aarch64.c | 114 +-
bfd/elfxx-aarch64.c | 306 ++-
bfd/elfxx-aarch64.h | 36 +
bfd/elfxx-target.h | 38 +-
bfd/po/SRC-POTFILES.in | 1 +
binutils/readelf.c | 261 +++
.../binutils-all/aarch64/build-attributes.d | 52 +
.../binutils-all/aarch64/build-attributes.s | 31 +
gas/config/obj-elf.c | 411 ++++
gas/config/obj-elf.h | 27 +
gas/config/tc-aarch64.c | 102 +
gas/config/tc-aarch64.h | 5 +
.../aarch64-build-attributes.exp | 23 +
.../gas/aarch64/build-attributes/ba-1.d | 51 +
.../gas/aarch64/build-attributes/ba-1.s | 30 +
.../aarch64/build-attributes/ba-failures-1.d | 14 +
.../aarch64/build-attributes/ba-failures-1.s | 28 +
.../ba-interleaved-subsections.d | 35 +
.../ba-interleaved-subsections.s | 32 +
.../build-attributes/ba-subsection-parsing.d | 75 +
.../build-attributes/ba-subsection-parsing.s | 21 +
gas/write.c | 4 +-
include/double-linked-list.h | 313 +++
include/elf/aarch64.h | 13 +
ld/ldelf.c | 1 +
.../aarch64-build-attributes.exp | 47 +
.../build-attributes/ba-1-all-optional-1.s | 15 +
.../build-attributes/ba-1-all-optional-2.s | 15 +
...ismatch-subsec-props-with-all-optional-1.d | 7 +
...ismatch-subsec-props-with-all-optional-1.s | 2 +
.../build-attributes/ba-1-one-file.d | 42 +
...-1-two-files-all-optional-1more-1missing.d | 53 +
...nknown-and-known-attr-known-subsection-1.s | 11 +
...nknown-and-known-attr-known-subsection-2.s | 11 +
...-unknown-and-known-attr-known-subsection.d | 25 +
...ba-2-mix-unknown-and-known-subsections-1.s | 19 +
...ba-2-mix-unknown-and-known-subsections-2.s | 19 +
.../ba-2-mix-unknown-and-known-subsections.d | 26 +
.../ba-2-required-subsec-A-1.s | 3 +
.../ba-2-required-subsec-A-2.s | 3 +
.../build-attributes/ba-2-required-subsec-B.s | 3 +
.../ba-2-required-subsec-nok.d | 7 +
.../ba-2-required-subsec-ok.d | 16 +
.../build-attributes/ba-aarch64-1-bti-1.s | 9 +
.../build-attributes/ba-aarch64-1-bti-2.s | 14 +
...a-aarch64-1-bti-explicit-ok-objdump-dump.d | 53 +
...a-aarch64-1-bti-explicit-ok-readelf-dump.d | 24 +
...t-only-one-input-without-ba-or-gnu-props.d | 19 +
...-gnu-props-only-implicit-ok-readelf-dump.d | 20 +
...-aarch64-1-bti-implicit-nok-objdump-dump.d | 45 +
...-aarch64-1-bti-implicit-nok-readelf-dump.d | 16 +
...a-aarch64-1-bti-implicit-ok-objdump-dump.d | 38 +
...a-aarch64-1-bti-implicit-ok-readelf-dump.d | 19 +
.../ba-aarch64-1-bti-via-gnu-props.s | 11 +
...u-props-and-bas-implicit-ok-readelf-dump.d | 22 +
.../build-attributes/ba-aarch64-1-gcs-1.s | 9 +
.../build-attributes/ba-aarch64-1-gcs-2.s | 14 +
...a-aarch64-1-gcs-explicit-ok-readelf-dump.d | 24 +
...-gnu-props-only-implicit-ok-readelf-dump.d | 20 +
...-aarch64-1-gcs-implicit-nok-readelf-dump.d | 16 +
...a-aarch64-1-gcs-implicit-ok-readelf-dump.d | 19 +
.../ba-aarch64-1-gcs-via-gnu-props.s | 11 +
.../build-attributes/ba-aarch64-1-no-bti.s | 2 +
.../build-attributes/ba-aarch64-1-no-gcs.s | 2 +
.../build-attributes/ba-aarch64-1-pac-1.s | 9 +
.../build-attributes/ba-aarch64-1-pac-2.s | 14 +
...rch64-1-pac-ba-with-pac-plt-objdump-dump.d | 44 +
...rch64-1-pac-ba-with-pac-plt-readelf-dump.d | 21 +
...64-1-pac-ba-without-pac-plt-objdump-dump.d | 38 +
...64-1-pac-ba-without-pac-plt-readelf-dump.d | 21 +
...h64-1-pac-plt-but-no-pac-ba-objdump-dump.d | 53 +
...h64-1-pac-plt-but-no-pac-ba-readelf-dump.d | 18 +
.../ba-aarch64-1-pac-via-gnu-props.s | 11 +
.../ba-aarch64-1-required-subsection-1.s | 7 +
.../ba-aarch64-1-required-subsection-2.s | 7 +
...aarch64-1-required-subsection-mismatch-1.s | 7 +
...aarch64-1-required-subsection-mismatch-2.s | 7 +
.../ba-aarch64-1-required-subsection-nok-1.d | 7 +
.../ba-aarch64-1-required-subsection-nok-2.d | 9 +
.../ba-aarch64-1-required-subsection-ok.d | 25 +
.../ba-aarch64-1-unknown-tag.d | 20 +
.../ba-aarch64-1-unknown-tag.s | 3 +
.../build-attributes/ba-aarch64-1-void.s | 5 +
.../ld-aarch64/build-attributes/bti-plt.ld | 14 +
.../gnu-note-properties-maskable-merged.inc | 32 +
.../gnu-note-properties-maskable-split.inc | 72 +
.../gnu-note-properties-selectable-merged.inc | 32 +
.../gnu-note-properties-selectable-split.inc | 72 +
libiberty/Makefile.in | 1 +
libiberty/testsuite/Makefile.in | 12 +-
libiberty/testsuite/test-linked-list.c | 244 ++
97 files changed, 5825 insertions(+), 93 deletions(-)
create mode 100644 bfd/elf-attrs.h
create mode 100644 binutils/testsuite/binutils-all/aarch64/build-attributes.d
create mode 100644 binutils/testsuite/binutils-all/aarch64/build-attributes.s
create mode 100644 gas/testsuite/gas/aarch64/build-attributes/aarch64-build-attributes.exp
create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-1.d
create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-1.s
create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-failures-1.d
create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-failures-1.s
create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-interleaved-subsections.d
create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-interleaved-subsections.s
create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-subsection-parsing.d
create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-subsection-parsing.s
create mode 100644 include/double-linked-list.h
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/aarch64-build-attributes.exp
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-1-all-optional-1.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-1-all-optional-2.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-1-mismatch-subsec-props-with-all-optional-1.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-1-mismatch-subsec-props-with-all-optional-1.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-1-one-file.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-1-two-files-all-optional-1more-1missing.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-2-mix-unknown-and-known-attr-known-subsection-1.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-2-mix-unknown-and-known-attr-known-subsection-2.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-2-mix-unknown-and-known-attr-known-subsection.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-2-mix-unknown-and-known-subsections-1.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-2-mix-unknown-and-known-subsections-2.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-2-mix-unknown-and-known-subsections.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-2-required-subsec-A-1.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-2-required-subsec-A-2.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-2-required-subsec-B.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-2-required-subsec-nok.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-2-required-subsec-ok.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-bti-1.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-bti-2.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-bti-explicit-ok-objdump-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-bti-explicit-ok-readelf-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-bti-explicit-only-one-input-without-ba-or-gnu-props.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-bti-gnu-props-only-implicit-ok-readelf-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-bti-implicit-nok-objdump-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-bti-implicit-nok-readelf-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-bti-implicit-ok-objdump-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-bti-implicit-ok-readelf-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-bti-via-gnu-props.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-bti-with-mix-gnu-props-and-bas-implicit-ok-readelf-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-gcs-1.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-gcs-2.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-gcs-explicit-ok-readelf-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-gcs-gnu-props-only-implicit-ok-readelf-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-gcs-implicit-nok-readelf-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-gcs-implicit-ok-readelf-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-gcs-via-gnu-props.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-no-bti.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-no-gcs.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-pac-1.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-pac-2.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-pac-ba-with-pac-plt-objdump-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-pac-ba-with-pac-plt-readelf-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-pac-ba-without-pac-plt-objdump-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-pac-ba-without-pac-plt-readelf-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-pac-plt-but-no-pac-ba-objdump-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-pac-plt-but-no-pac-ba-readelf-dump.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-pac-via-gnu-props.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-required-subsection-1.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-required-subsection-2.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-required-subsection-mismatch-1.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-required-subsection-mismatch-2.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-required-subsection-nok-1.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-required-subsection-nok-2.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-required-subsection-ok.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-unknown-tag.d
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-unknown-tag.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/ba-aarch64-1-void.s
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/bti-plt.ld
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/gnu-note-properties-maskable-merged.inc
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/gnu-note-properties-maskable-split.inc
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/gnu-note-properties-selectable-merged.inc
create mode 100644 ld/testsuite/ld-aarch64/build-attributes/gnu-note-properties-selectable-split.inc
create mode 100644 libiberty/testsuite/test-linked-list.c