[v1,0/4,RFC] Provide a target-specific definition to enable/disable section of code in others modules than gas
| Message ID | 20241211120553.1391850-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 E64C23857B91
for <patchwork@sourceware.org>; Wed, 11 Dec 2024 12:08:12 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E64C23857B91
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=ZzG4hgp9;
dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com
header.a=rsa-sha256 header.s=selector1 header.b=ZzG4hgp9
X-Original-To: binutils@sourceware.org
Delivered-To: binutils@sourceware.org
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
(mail-am7eur03on20613.outbound.protection.outlook.com
[IPv6:2a01:111:f403:260e::613])
by sourceware.org (Postfix) with ESMTPS id 6C2B73858D33
for <binutils@sourceware.org>; Wed, 11 Dec 2024 12:06:31 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6C2B73858D33
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 6C2B73858D33
Authentication-Results: server2.sourceware.org;
arc=pass smtp.remote-ip=2a01:111:f403:260e::613
ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1733918791; cv=pass;
b=FmYPImhniiq4OZb1uE0lHjSj67Uy/pAOiqekD6ylD/OPFJZGRtBXQsa6ASlV6fktqOuPU/++GLBPwfvXmXJXtxETX1cPnEyMgnObqnAdjsNwPIH4IUohC6rjS3yHSvINoFJFMffdLwrZoY18wqkosdbc/uMJ8HZj6pxWPf57/5I=
ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key;
t=1733918791; c=relaxed/simple;
bh=8ILLE7JDGvQH24HU+/4g8HBkHNmxYwagqYQb7M+evys=;
h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID:
MIME-Version;
b=cPjUycouShe+B38s8INi+JKzyyuUtTf2nc3zRves2npUoOjn68yOz4qctat6IaNZVzznXvcUsooqDKd4cGlhbAebQc9R54ewjSM9heiSKX5a0mPh+fYZjDxVsEVrZi2QYMpkN/3QLKMpjolQvPlX7ss1c6lHEwSfUsClnGdcNLM=
ARC-Authentication-Results: i=3; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6C2B73858D33
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
b=t1hHtk8cqTuC218K2SZ28TOBaF5FOTx0aRz4DlB9kK4SyfOaRy6IFCWHA+4f/F4RW9/cNdgATC8BzDlVR9vMNYHyWFt/HK6yX7Ou3H+xdIyCoVj/2lhBMQZV4gYvhRzEQz+gQh6QFOCsS2RD6fwUhfgGi+Vms8XQ+Jc2kJ4zey0DvxpOp0x3b7waaGJAYSMGkJs/mipLZ9uqIsMLM6DKmwZ7vQRnBZZK4a9SM7o/4oMH7O/jbyn8qls1wS1nY/TV3VBJ8AaPJJ83ubedXZefRG+KyCLfHz435OtoN0NkGZhX8tWr5EecslGzLF8OWG+b75S/OtEnNaXicnvukIB/pw==
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=03z4cBAv0yDzuYuJCMJmHRlViOX77fZG2Ix0Hnz6ok4=;
b=o2n37GSjqZtFWm1Gfcxf39N0W5IJ+DNMfOy/Wg4RrHpKNbfQy4C7VjQiRBvBqSO1ei9ryYkIWD3bwAwNE9sHnoaHSmyNuBz+gxGLvlBMTiNPA7iKMq670/1CThvH/SCmXTviX39pu6PNeFbVqi2mMCJpOZeJ80Xi+yBmCrGHuoUZ9g/dw2tc0+6A5pL776jUZyfJOimASqCkeyo10vCWJF70Q1LMs0k0b0x8IOXmRoDlspQIc6TJ1LhoQ/A7OMIl1NA3UaPlv7/aw5OTt5t2dMUzK+T0ZQzWFyXvixXZea07Cw1SqJw+HgEnUqzJZMzovg4+dQJzSpcWlGeIEiu3Bg==
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=03z4cBAv0yDzuYuJCMJmHRlViOX77fZG2Ix0Hnz6ok4=;
b=ZzG4hgp9o3md75ZXID8wBPlMsNGZXgnJdHiYJonsbyVv/XjOp9njjnhPYlf4PfMiVpw1fuHJd0oUvCF707ZlHgWlzfotbhYNq/MCdJBNENljLrcGYqF9JDiubXjXSwVanZSQMpWpal6osYpMXt2+sHr4o7ZN6yEu3pyPgCVem8Y=
Received: from AS8PR04CA0177.eurprd04.prod.outlook.com (2603:10a6:20b:331::32)
by PAVPR08MB9185.eurprd08.prod.outlook.com (2603:10a6:102:30d::16)
with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8230.11; Wed, 11 Dec
2024 12:06:23 +0000
Received: from AM2PEPF0001C70C.eurprd05.prod.outlook.com
(2603:10a6:20b:331:cafe::94) by AS8PR04CA0177.outlook.office365.com
(2603:10a6:20b:331::32) with Microsoft SMTP Server (version=TLS1_3,
cipher=TLS_AES_256_GCM_SHA384) id 15.20.8251.15 via Frontend Transport; Wed,
11 Dec 2024 12:06:23 +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
AM2PEPF0001C70C.mail.protection.outlook.com (10.167.16.200) with
Microsoft
SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8251.15
via Frontend Transport; Wed, 11 Dec 2024 12:06:23 +0000
Received: ("Tessian outbound 6eb473597b98:v524");
Wed, 11 Dec 2024 12:06:23 +0000
X-CheckRecipientChecked: true
X-CR-MTA-CID: 3ed0cb8e0cb13f7e
X-TessianGatewayMetadata:
UVVt+EsKixe1aszu5H+viVbOrj9F5o2qQfrWMj1Utucn/PieXCTribFwgzY8MWddSEUGTAkqmQfBTHOCNIFuXnPhqDw5Aa7x7We2CaLtQaCf95rc9kJDM7spOGKMfluNmWHqRD2l/Z9YjEkd1GIQcIIbV7moB0WjZ47yIXRwDsk=
X-CR-MTA-TID: 64aa7808
Received: from La12c76db62b4.2
by 64aa7808-outbound-1.mta.getcheckrecipient.com id
8B819FD1-8DFF-4DE3-8882-2D8933016320.1;
Wed, 11 Dec 2024 12:06:11 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
La12c76db62b4.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
Wed, 11 Dec 2024 12:06:11 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=Njwat0wwRz3cLFvq6BYQXP08Yox4JWWJSBdgwq7kA0o6o8cxDLFdIBCc2hx/qjWh+ZDZlaNwLWGIxcXYeXpRyvPb8WO9iy11eN662MeLZOfZ+E5AZRY9k87xHGKu4EEjrvMUTseJgGXZin0QvnD418FVBQkYJeMwCZKVHaob24mvmFWs/sJXg1lqsou0ELHJTtDvGWGu3cCNTo5/xXQgieu6o1Lkzf6r9TJXxP09KDcp/9litWL7HYmxFi4TwlACxfa9C6gKtaxGqU6R+PSwizugszl2b5eKw8OIZG2ONAPH+N8gwWn2nl0V2xQr+2U0k87gu/J7Sk7PjyMzV3FH5A==
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=03z4cBAv0yDzuYuJCMJmHRlViOX77fZG2Ix0Hnz6ok4=;
b=mbeM4jlRm1q/1iLIynf2IlnIu3VND1pbd++LRXp04xhtlafDJACcUMc/PzWvJy0IlXKuN1XaUCQq0T2a9h+OO2xo1JU7ynjGpNraMn1q05xaiL7sbLntxYUnIhUWtl+BIXc23+VNeXXAst1bE5VK0ce5YvqqRBYKIs9AHPb4FglcaNfekFUNGdAKdino29uOyBa8QG8oZSfcvs0JaooTl962RtUiK/okv9ATup9guFEjh/eU7SVcWv8xVq8OI4IorlOTIjI12R/K5nV6FPf7gOT1ljc2QbzO8ICwgs7AJqzHTTe7qk1PQukldIfyP0IzpRaeRfNvEHhzAgF0/F3k1w==
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=03z4cBAv0yDzuYuJCMJmHRlViOX77fZG2Ix0Hnz6ok4=;
b=ZzG4hgp9o3md75ZXID8wBPlMsNGZXgnJdHiYJonsbyVv/XjOp9njjnhPYlf4PfMiVpw1fuHJd0oUvCF707ZlHgWlzfotbhYNq/MCdJBNENljLrcGYqF9JDiubXjXSwVanZSQMpWpal6osYpMXt2+sHr4o7ZN6yEu3pyPgCVem8Y=
Received: from DB9PR05CA0002.eurprd05.prod.outlook.com (2603:10a6:10:1da::7)
by DU0PR08MB7993.eurprd08.prod.outlook.com (2603:10a6:10:3e0::18) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8251.15; Wed, 11 Dec
2024 12:06:06 +0000
Received: from DB1PEPF000509F0.eurprd03.prod.outlook.com
(2603:10a6:10:1da:cafe::41) by DB9PR05CA0002.outlook.office365.com
(2603:10a6:10:1da::7) with Microsoft SMTP Server (version=TLS1_3,
cipher=TLS_AES_256_GCM_SHA384) id 15.20.8230.15 via Frontend Transport; Wed,
11 Dec 2024 12:06:06 +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
DB1PEPF000509F0.mail.protection.outlook.com (10.167.242.74) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
15.20.8251.15 via Frontend Transport; Wed, 11 Dec 2024 12:06:06 +0000
Received: from AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) 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; Wed, 11 Dec
2024 12:06:01 +0000
Received: from AZ-NEU-EX05.Arm.com (10.240.25.133) by AZ-NEU-EX02.Emea.Arm.com
(10.251.26.5) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 11 Dec
2024 12:06:00 +0000
Received: from PW070M4K.arm.com (10.57.91.131) by mail.arm.com (10.240.25.133)
with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport;
Wed, 11 Dec 2024 12:06:00 +0000
From: Matthieu Longo <matthieu.longo@arm.com>
To: <binutils@sourceware.org>, Indu Bhagat <indu.bhagat@oracle.com>, "Jan
Beulich" <jbeulich@suse.com>
CC: Richard Earnshaw <richard.earnshaw@arm.com>, Nick Clifton
<nickc@redhat.com>, Alan Modra <amodra@gmail.com>, Matthieu Longo
<matthieu.longo@arm.com>
Subject: [PATCH v1 0/4] [RFC] Provide a target-specific definition to
enable/disable section of code in others modules than gas
Date: Wed, 11 Dec 2024 12:05:49 +0000
Message-ID: <20241211120553.1391850-1-matthieu.longo@arm.com>
X-Mailer: git-send-email 2.47.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-TrafficTypeDiagnostic:
DB1PEPF000509F0:EE_|DU0PR08MB7993:EE_|AM2PEPF0001C70C:EE_|PAVPR08MB9185:EE_
X-MS-Office365-Filtering-Correlation-Id: 9c962524-0921-457f-8a8d-08dd19dc3b7b
X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
ARA:13230040|1800799024|36860700013|376014|82310400026;
X-Microsoft-Antispam-Message-Info-Original:
++6XsfW58LWfGN/haZmW5IxVO4IZFO0KQuFq1f6qpXSGrfkpd4ReypUW46TZMPjfwmJCqS5Pd/cp4YFl50Gzfl9GK0o6asageQI5YneU+WlFp+fmoASh/GWCSK0NEUzSe/7cr9OgFZYisL6ostdkLh+ACw4JAVM8WeGNUlpxY60cE4F57snKg0thXZe7nagCtLJj1KzrUIV315lbtxR2Wiuav0GIyhXjah7iVdQvNd6th/1AXfAPhaK/zks+r5+RpIqqicRWf3OLiDhmf7+0hodjWNyiu7fpHuWDw+i0B7VoH1rTndWp3NqAyyTsh1XXTq7KMwW786dFoph7DoAFA/Vl8lL9esxeR8Uk3iXfQgkr5deisdbkHfzlNH2TNYEKqJelltmo70OuSu2t2jPkvfMRdmV1DQOIHkd/Ylbf0jEEOI4dSC7MWjzJe0YutR1Ej5D65IJg4A4D08lFnDvBljScerBU6+D4Wz23qmOKa4WlhFQCod2oakvbIs77X+gSO99VeN4VKjiZqxBBikEHO9EBn6tPWg0AolnQkwDBexUEN8QSfT8HKOzOU7MlRj7isnZ8aKk2y/m4uBaNcUHeQ5qKUmzyeikXG3yVT9je5hIqU/YHxaOYKm/nnP92+/63NfUAu0q0TbNQH5rV/xVGTFJ8M5AQE3yPmP4r76Llm1fI2M1it355pu/aGNx4AZcOAEyspe/QbB1QRdS3ix4o+mJyQfmAlmv7WJHLjbVwubGaIAWS8mUPWVlbhuw9EfuhlHBzszGLWsui1xR00LuyEuCq8W80T9yD+JhCirZu1MrsQAyaf5V1GT+0MKBkoDuVCm1Nl16M/VBCQhza+WsSjJYy6v3+NVFj/8tnSjrC+XB8W1RyWw7M/u1nnz6IsbbDbXkRiceveIwQddp89+FXa9tyOExA9ROlaDM60V3n3rPqHTMBb5MQ+Pniltyz2TLnB35+zpMQ5dnXhiq/vPOLdzKowcfE1sVVBf0K2DSzGRm8ssvbNry2cXhgRLpUeYo4GPaotFfO2jAzWZOn9F4Z5CpNaPYEoYHDZ4T9OA+/Oj/h20iJD5NHCG9nBr0pu1NtzjRd6qyIgZVuglGimWWwpy5eJ8SFPvZJHyc0S9mVuwB9kpS55FxT/lwNa48B8mlGCkOgnB2HiDpGME8823vkbDmC+VgMuD35nwCvaJykth+tHAYkcE5I/OaqJMmLenHRbYJm+OJnuYq3X8ZXDlwmzo1dttwTY869sxOUxH9TsdBBrQwLd0uSiQN2X5uJOtG+fpuktgmD/Tbgu0q9oVUyI4yXv1PE96dDuW8R3XlEyJGtBpsE2rqMPhCnI+VspEtF4TxJ4shf8i9QfwYqZJlQGa7lkz3F/PzSRt/CYPjH2r+TnOdnPmpbfdISQRnDEKQxUTXcatrXDXNy1lH9tnvKEg==
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)(1800799024)(36860700013)(376014)(82310400026);
DIR:OUT; SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7993
X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:10:1da::7];
domain=DB9PR05CA0002.eurprd05.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
AM2PEPF0001C70C.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
6cddeb81-3802-4f1c-43f5-08dd19dc3150
X-Microsoft-Antispam: BCL:0;
ARA:13230040|82310400026|36860700013|14060799003|1800799024|376014|35042699022;
X-Microsoft-Antispam-Message-Info:
LZNbBUVXzqGMqhkHU8U4DPUiC8fjf90FmJiiVSb/5h40fG7A8zkh2EWx+6CVvjwp6zhVD6C///IvkfcFR43KbRwTXX/vRhjM7yeXH0STAI5MEceNHod6BoyBvLHEbnAP89VgaGGq0mCPt0FLiaux+860DnPQbk4s18/uFAmnvMmP1Ep3nIjWYFSr/bp6v5+l16XkBthMwNMaKvjelkHuS3wB+18M6WYi/7wvpq98vIiKgPeI88vrdodBbhNVCHhqTDZGtzzUlROBNlmoJsE3jwur+2guL0QZDSlks03fem0p+GQa97A/gV0qejAN6S8bKPfwS/WrugsBMmu93G0PZUoPmOGS3yVl8mdp3Ak/q5CchHJ6xzCy38KXYKdszGoGg1gyzp8mz8Y48SWCdpebz1KqrwYZsmWQhP4X/miYgJzPNGLCPW3GqJK3TWRX6iOZolFCI0cGz1IViVk9vWUSAZqurEKYQ5XpYdu2T92gEucrnoqjq8+pYcZKY5n4xzice2Kg+wuxKL9pbqxtED9a3YG7HbB95cEF+MP2j1dVvi+21w9PEb2PDXoSps5j29At1bbx41gv+YqnK2AFXg/Mz4Dp3lh+ixqCqDBaDRscAh7wLvUBtn2JZQtP8C7rQVts5mefFcHHzMMwQDDLPKpyy19ByUSflkySFGyrMyKKfI3Gk9Y3vcWs/DL4HdzwCwR5yey7Gu5MCXFJ4AhO/nTdP0VuoLYygqbAISK4mber5j5RUQZt1l/ASfHl8T5GomeFIj5LKj/PCRe38IwBicYB+OGv1DK8pxkIqM50waoMefmAOq5+7SQPPrRBS/SydclgSZ2N6t/xDUA2UuenRm8mbpC1egDwiyENccBQACVsBTW8qOEtxAYCsyazScMJSlxl4wKee8MxgTXgDftXPVNKW6Ln3WVVLxWEk4Pc/4qBhOsY+8Zy6QuCenyY1UBFOnNruCPN8biu8s74Bri5gtWHs066m/amBZbtv+/ApVGC4tZD/20b2dvWIo0DeTnulMinQEzBF4pkF4nZzcuufhkWVoOFAMFx99cTkyYll1u9lB2612LdwBvzSf856Md9FOTtboyNu/ryK7S9bLPzkOENCDmaWM+HKCYNMz8bRM0KUbGN2iR6CHw8LTtVsfa38ERavE1jNz9ceagxHokIcPnvtW1kisU559mQy1YwOXjW+vTsXsrcDLqfvL+CPX9YfGTmnU65XqzPS2ZAmG7nm3IW4UWpyyYJotyJhYdtYaN6SWAxJMU/a7ulwwcxRJzv5v8wuSqLAb4HwXv/Ogj168uYwyxKECxcSVBNohJvwltKB4scYnlSWDmjuf2Xo8UhCDIZDg0nCYQJHYOlmn7Hzr4gAJ3dZ13tnfbub0nr2nE2rPxnLBdrelI2vRlDiHk8tzcWFMfb7PrSGvq+AnTYhzVegUtQo6Dfig3s9qfTr/2xKPg=
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)(36860700013)(14060799003)(1800799024)(376014)(35042699022);
DIR:OUT; SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2024 12:06:23.7461 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id:
9c962524-0921-457f-8a8d-08dd19dc3b7b
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:
AM2PEPF0001C70C.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9185
X-Spam-Status: No, score=-6.0 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, 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 |
Provide a target-specific definition to enable/disable section of code in others modules than gas
|
|
Message
Matthieu Longo
Dec. 11, 2024, 12:05 p.m. UTC
**Disclaimer:** This patch series is related to a comment from another patch series (see [1]), and tries to propose a solution for the raised issue. Hence the code changes in patch 3/4 are restricted to architecture-specific code for DWARF and CFI directives. DWARF 5 standard provides a space for vendor-specific DWARF directives. Binutils currently defines GNU-specific DWARF directives and vendor-specific ones for AArch64, SGI/MIPS, and Sparc architectures. The architecture specific code is not guarded. This has caused confusion in the past, and .cfi_window_save (a Sparc-specific directive) was used on AArch64 in place of .cfi_negate_ra_state recommended by the document for DWARF extensions on AArch64 (see [2]). In [1], Jan Beulich rightly pointed out the issue and proposed to introduce an `#ifdef TC_AARCH64` around the AArch64 directives. However, the current config header file generated by autotools does not provide everywhere a "switch mechanism" to enable/disable those extensions depending on the selected target similar to the one implemented in the gas module via `TC_<arch>`. * Patch 1/4 adds the boilerplate to add the `TC_<arch>` definition to all modules of binutils interacting with architecture-specific DWARF directives, i.e. bfd, binutils, gprofng, libbacktrace, libiberty. Note: I added `CI-tag: skip` to the description of the commit so that the CIs or bisecting tools can skip it as it requires the autotools files to be regenerated. * Patch 2/4 regenerates the build files with autoreconf for the previous commit. * Patch 3/4 uses `TC_<arch>` and enables architecture-specific CFI directives and DWARF instructions only when they are required by the target. * **Patch 4/4 should not be committed**. Its purpose is to explain how this patch series was tested on aarch64-none-linux-gnu. No regression were found. **Note:** I am not sure if this approach is correct as it duplicates the declaration of the `TC_<arch>` definition in several modules. I would advocate for centralizing this declaration at the root of the project since the target is not supposed to change from one module to another. However, it would clash with the definition of TC_AARCH64 in tc-aarch64.h Additionally, among the modules impacted by this patch series, two of them, libiberty and libbacktrace, have their master version inside GCC's repository. Before committing any change inside binutils, the changes in libiberty and libbacktrace would need to be approved by GCC's maintainers. Please let me know what you think about it. Regards, Matthieu. [1]: https://inbox.sourceware.org/binutils/eaedfc6c-5666-4a05-a676-d25bf52b76c1@suse.com/ [2]: https://github.com/ARM-software/abi-aa/blob/main/aadwarf64/aadwarf64.rst#id1 Matthieu Longo (4): Add target compile definitions in libraries interacting with DWARF arch-extensions Regenerate build files with autoreconf for previous commit Enable arch-specific CFI directives and DWARF instructions only when required by the target [DON'T COMMIT] error if TC_AARCH64 is not defined on AArch64 target bfd/Makefile.am | 3 ++- bfd/Makefile.in | 3 ++- bfd/config.in | 9 ++++++++ bfd/configure | 15 ++++++++++++++ bfd/configure.ac | 9 ++++++++ bfd/configure.tgt | 42 ++++++++++++++++++++++++++++++++++++++ bfd/elf-eh-frame.c | 11 +++++++++- binutils/config.in | 9 ++++++++ binutils/configure | 18 ++++++++++++++-- binutils/configure.ac | 12 +++++++++-- binutils/configure.tgt | 21 +++++++++++++++++-- binutils/dwarf.c | 23 ++++++++++++++------- gas/dw2gencfi.c | 33 ++++++++++++++++++++++++++---- gas/gen-sframe.c | 34 ++++++++++++++++++------------ gprofng/Makefile.am | 4 +++- gprofng/Makefile.in | 5 ++++- gprofng/common/config.h.in | 9 ++++++++ gprofng/configure | 15 ++++++++++++++ gprofng/configure.ac | 9 ++++++++ gprofng/configure.tgt | 42 ++++++++++++++++++++++++++++++++++++++ gprofng/doc/version.texi | 4 ++-- include/dwarf2.def | 27 ++++++++++++++++++------ include/dwarf2.h | 1 + libbacktrace/Makefile.am | 3 +++ libbacktrace/Makefile.in | 3 +++ libbacktrace/config.h.in | 9 ++++++++ libbacktrace/configure | 16 +++++++++++++++ libbacktrace/configure.ac | 10 +++++++++ libbacktrace/configure.tgt | 42 ++++++++++++++++++++++++++++++++++++++ libiberty/Makefile.in | 3 +++ libiberty/config.in | 9 ++++++++ libiberty/configure | 16 +++++++++++++++ libiberty/configure.ac | 10 +++++++++ libiberty/configure.tgt | 42 ++++++++++++++++++++++++++++++++++++++ 34 files changed, 478 insertions(+), 43 deletions(-) create mode 100644 bfd/configure.tgt create mode 100644 gprofng/configure.tgt create mode 100644 libbacktrace/configure.tgt create mode 100644 libiberty/configure.tgt
Comments
On Wed, Dec 11, 2024 at 12:05:49PM +0000, Matthieu Longo wrote: > I am not sure if this approach is correct as it duplicates the > declaration of the `TC_<arch>` definition in several modules. It can't be correct in any file like bfd/elf-eh-frame.c or binutils/dwarf.c that is compiled once but needs to support multiple architectures. Instead you should handle architecture specific dwarf code at runtime using bfd_get_arch (and if necessary, bfd_get_mach). See for example dwarf.c:init_dwarf_regnames_by_bfd_arch_and_mach or the switch in elf-eh-frame.c:_bfd_elf_write_section_eh_frame on abfd->arch_info->arch.
On 11.12.2024 13:05, Matthieu Longo wrote: > **Disclaimer:** This patch series is related to a comment from another patch series (see [1]), and tries to propose a solution for the raised issue. Hence the code changes in patch 3/4 are restricted to architecture-specific code for DWARF and CFI directives. > > DWARF 5 standard provides a space for vendor-specific DWARF directives. Binutils currently defines GNU-specific DWARF directives and vendor-specific ones for AArch64, SGI/MIPS, and Sparc architectures. > The architecture specific code is not guarded. This has caused confusion in the past, and .cfi_window_save (a Sparc-specific directive) was used on AArch64 in place of .cfi_negate_ra_state recommended by the document for DWARF extensions on AArch64 (see [2]). In [1], Jan Beulich rightly pointed out the issue and proposed to introduce an `#ifdef TC_AARCH64` around the AArch64 directives. > However, the current config header file generated by autotools does not provide everywhere a "switch mechanism" to enable/disable those extensions depending on the selected target similar to the one implemented in the gas module via `TC_<arch>`. > > * Patch 1/4 adds the boilerplate to add the `TC_<arch>` definition to all modules of binutils interacting with architecture-specific DWARF > directives, i.e. bfd, binutils, gprofng, libbacktrace, libiberty. > Note: I added `CI-tag: skip` to the description of the commit so that the CIs or bisecting tools can skip it as it requires the autotools files to be regenerated. As Alan has already pointed out, what is doable in gas cannot easily be extended in the same shape to libraries potentially serving many targets. My suggestion was never meant to go beyond gas. Jan