Message ID | 20250310175131.1217374-10-matthieu.longo@arm.com |
---|---|
State | New |
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 205AC3858433 for <patchwork@sourceware.org>; Mon, 10 Mar 2025 18:12:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 205AC3858433 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=gakqXAfv; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=gakqXAfv X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazlp170110001.outbound.protection.outlook.com [IPv6:2a01:111:f403:c200::1]) by sourceware.org (Postfix) with ESMTPS id C6BFD3858D20 for <binutils@sourceware.org>; Mon, 10 Mar 2025 17:53:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C6BFD3858D20 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 C6BFD3858D20 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c200::1 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1741629222; cv=pass; b=iJtOyrdWYHCkOqnPupNICaVpFWUz0TqLR5PSdkssoXHU5vUxkwXdD6bC0FkhpgWvascKP/YeygFnyeuHFJrmJqnuf3My8KW6qSuiAd4Gc4Ona1+sxjtwXO90LieU8rwyXykz0hVqixvzf9prDN59G7Rn3lV/0U1aFflU/s3W0x4= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1741629222; c=relaxed/simple; bh=/oTqH9tS7yJOwf/0bWaMA8cmZNJMunOdOwb0Wo6+ZCw=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=HzOMfOR2tNrj5wsFacQ0x1557c1tQDzW4zX++ovN1u96V7I3/Jer8yie8+GZjxrj9kPyHis+2zQujCilBBWSOqLBEaktyVPS6csUs5EmVZ0C3BMmjGI6e6E0qJKN8o8knJoy9ZnZmSZhlXUIqMSbyt7aSOKH9qzI2TViWay9ZUc= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C6BFD3858D20 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=saEDFf8J1UFBLfRu4CvZeGFWxWGdw2bSIIwXImzlyrc7fH682XyrbUV2pJVcEXdGuHn4tTr0jkeoPI7bGJo1KBXHeq8ZUZQad6I5BY1g5j3Vp5F7mPo+mQaauRl3NeFN1hHMYPHwO01UvQBDAhhS6r+ow3AaThcUdOHE8UEMeW8BtgOWtfdpLWbvKb6ihwnBmJOCyd645AHXTvC94RUexKFgcUZ3hE4bb2anG9DN2u6hyUb+PD8fO98UVFsSU/Ocl4GG4Q8t2UVlab2gr7gEakVsemKZuM+O89lJNx26+a38lgoXr3B3MMNVPrF9FgtXfzz85l7kH2YPJptOdTXN1g== 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=2D8I7Bbbwr47YucG2UopZeBTEM7jpXYtV7xDViyMEIw=; b=EqPKfmgI9qzdFQJ/5CWzAv7emEoXeg4Qt+R3wPTlduk+QoxkA/zNG0bhls0VdFDHJZq0SD+bK9IypiUD9a96qlUwSQm3xFRlK5YElDS1GOgPBwdRWLVicnWUkPrJbO4qs3APcB8B9VMHJxxoNkV4AZ+d3BE1CM7MD30bJ722K2n4j8qOqhEmvgdN6vCZWKL9F4NfHw7oFhColeR2Y6vMql9HjO6R4cdXWDSq9825jnEh9VMMgRUTYaKrzWupfUFWg2anw5wWmpVJzENXwGUUB4ipmxz0jiNI3/kMBbs7xR1v7KuXL7aZTBfNK9mfgWYT2hLoCISPL+gETLtrJxfZiQ== 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=2D8I7Bbbwr47YucG2UopZeBTEM7jpXYtV7xDViyMEIw=; b=gakqXAfv9prd4meB+IyvsARlUjGxB45RgjvQVmGupurTTUUQTzimeYrtTEuKUqZcJhyfcIhRajLlC/+KDl0VbyO/cjGKeTEzr9iRWdbq3sX/TcYUeSceml4QybQy5aHgr/nvUmbnow2r9KI0sKPmmj11qDsVjMYtfz/GxElurFs= Received: from DB8PR03CA0011.eurprd03.prod.outlook.com (2603:10a6:10:be::24) by PAVPR08MB8918.eurprd08.prod.outlook.com (2603:10a6:102:323::5) 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:53:33 +0000 Received: from DB5PEPF00014B94.eurprd02.prod.outlook.com (2603:10a6:10:be:cafe::36) by DB8PR03CA0011.outlook.office365.com (2603:10a6:10:be::24) 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:53:33 +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 DB5PEPF00014B94.mail.protection.outlook.com (10.167.8.232) 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:53:33 +0000 Received: ("Tessian outbound a81432d5988b:v585"); Mon, 10 Mar 2025 17:53:32 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 9e3626a9e0b22111 X-TessianGatewayMetadata: uvsgJojzl3NzAIQnSJv5za4viVljVEIbZWQO6/vNv0SDXDSNT+3VVKpfuKGCE2z0HmojSEBFE9nm3piIewp5BnCXFh0uyCc6DuMMixEkcxU74Xf8RW1Q1PR+Mobkmk8jQ4Ks5eV+0A5DpX7gyjKUJvWxxNJFfw3yaZHSyq+ZP3Y= X-CR-MTA-TID: 64aa7808 Received: from Lbcf11df86013.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 9A9BCA2D-9051-4CE8-958D-2A542261609D.1; Mon, 10 Mar 2025 17:53:26 +0000 Received: from EUR03-AM7-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lbcf11df86013.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Mon, 10 Mar 2025 17:53:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wSupd0jOGgjXig8+VaSj6/7IrrWur7KfJO4uEpAw3zL4ZUgrfSj1QpughBWGzPmaZ5djBe4itURjzTSNEDgWL8bjXGLQ+Mk84kgpgvBv4tG2XBzZZAeWjA7wIAWPxNPTc2wp5egEG+n9nhFZSO6cbvxzo+B1v0hBX8Gc7m6No+c3SL36dfU8klDO5gaPh4QsLPICGs+zShaju5iFDOtMQJGf+mDi9rzBV5qijg6gxdZ05P4OVadFHgk4PS/kskJCQpyY/B+cPRdgDB7grFjVAlHo2x7ywUjvX6Ur7B0kB8zrYSGNGOncIYJWeZtQ1cb7z5+/AiHxYff13B2FuoAEQw== 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=2D8I7Bbbwr47YucG2UopZeBTEM7jpXYtV7xDViyMEIw=; b=twZL5T5nZZSB4ogXS329FUDscP4oAXzY56cVS4dCeLtCuTjUPk3ifprwyV4kDwtCi/6haxUhorqCqEmA3qra1OTqLWalB+9llj6OmsXN+p36vzwDvYckF/PTBHT4GChTdbFZC+hQCHqReO03WrELdUDnxPAdn64e7JhvM4yfZcoDcmeiiY+KlhMgPLvuGqcRlxOWMPnNB9rBlsp2Uxcm3aiz6/L6TrYW9+SlTUkfhV71M3f0V9juuK+tDdiYkd/SIVz4NptjNVOULi1zPgCF/nsSpulnEAkYwKgXumRrT3Z5gZFpbvqoUPpr0NG0GnES9fTMVXDNx/2jjOL1Ls9YHQ== 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=2D8I7Bbbwr47YucG2UopZeBTEM7jpXYtV7xDViyMEIw=; b=gakqXAfv9prd4meB+IyvsARlUjGxB45RgjvQVmGupurTTUUQTzimeYrtTEuKUqZcJhyfcIhRajLlC/+KDl0VbyO/cjGKeTEzr9iRWdbq3sX/TcYUeSceml4QybQy5aHgr/nvUmbnow2r9KI0sKPmmj11qDsVjMYtfz/GxElurFs= Received: from AS4P191CA0017.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:5d9::7) by PA4PR08MB5981.eurprd08.prod.outlook.com (2603:10a6:102:e2::14) 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:53:24 +0000 Received: from AMS0EPF00000196.eurprd05.prod.outlook.com (2603:10a6:20b:5d9:cafe::3) by AS4P191CA0017.outlook.office365.com (2603:10a6:20b:5d9::7) 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:53:24 +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 AMS0EPF00000196.mail.protection.outlook.com (10.167.16.217) 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:53:24 +0000 Received: from AZ-NEU-EXJ01.Arm.com (10.240.25.132) by AZ-NEU-EX06.Arm.com (10.240.25.134) 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:53:19 +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:53:18 +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:53:18 +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 09/15] bfd: add support for copying object attributes v2 Date: Mon, 10 Mar 2025 17:51:22 +0000 Message-ID: <20250310175131.1217374-10-matthieu.longo@arm.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250310175131.1217374-1-matthieu.longo@arm.com> References: <20250310175131.1217374-1-matthieu.longo@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF00000196:EE_|PA4PR08MB5981:EE_|DB5PEPF00014B94:EE_|PAVPR08MB8918:EE_ X-MS-Office365-Filtering-Correlation-Id: 3f3e6e9f-c611-4ba6-6da5-08dd5ffc7981 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|82310400026|376014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info-Original: ZJ9JtF+wHv+qyzJ4Rgqj+XZPWOHSarCnoScPcrF6B+y7db3h7o6Fkj8wppJAlOAN+bnyoLYlykF4Pa5oRfYFJAq5oHa/6hcuLu1QKUqVjWZe/K6TyWHHzGVM8IhmW4po/TXuusJogrl9mUQly/vu64UhFKAdVk8LOOIoYevtF5EO5u10gMV3z7edHwtAZKLWU04XGzMg0Lm/qo2+NWJoUNM4FWhZGUl6FM1OB/Rqwq6WlPn1ufFYY8hJSbXoig+PN0WUik3pIj5+ioH6dmgmkrrPBcD4uMb4ehsW5Ftop9mhuJHWwE0zQF6F6DDTMB9aHXcnyBHXbJtezXbjaLWpjgYwh+wLWgglJ8tm3xoRJ9pdtMQTUL5rz7yvNUqjFpfNKElZZBrHdM/AwBqtNaqlpj2q3xaMztHcD9eUw0IatigPxXstK9NsB61JUgTy1YvU31xLf70LiPfAcnpX51LBoXhGMQpyHHiS7mm6Kl0Q6yrz1TUteXcLFKRM54zXWQyYXXXgI8d+3Y/uBAtHs0FhGN5Wp0X4zJrgcIXnKjXk/M1j6G/e6xWbTWRLVcFX8dJad1NQNfrf1bKeBoxfawJOnUUfG+5ucNd/Nh9zhtSFve/JC1CMHa7OiBlOea/3KRVIv026W/r0oTDRBe8QHZ7RFMoOMTH6dw0Tavm8lGO2L5u7EKPNgVmQYdjRXafMPpTayLTP8jkENzhCRPRLvEiSuMTyW2+icfVYKvVMTOrd2LUzaZ9W9HQp8muQZg1zm1bI8hyZ1aSegWG3bd+ilBEhkNxHIKCPrrtMuCYFRWDtSc6k7yITfdwD+rDU28h0EzW9II3+Wa9SOZL0O+DqDzmdrsoGZWi5kGiGuCIHAo4ayR1wL9dBu2JOo/3NdQhrKPJ9aD6vASzIGgleZGcNPAa1V9EgbZidFEyLye0y+f5gnSrGhVLcXnfF3UTgL5KlXublLFS+UwEZ8fayvwpGfVJ9aFARVouFT1T7OHkJEyo8Y4LjfT7WcHCFZWvJYaHMoPasdXNC4GuWvK8JPyWLKqumns4Y9yOebFYd5CIjZ8Sq2SYpfNlSYOX9cITC1gGk7ReFy6jWViJ7f4oJLXuD5ixN7I5Os3JGGosrrqBzd8XRAV10NuGhclbVoRKJn9Jz2ir5g0MM7x3KycAE4JOrJC6DqWhTx4sWlZbR5Io2nAbgjW++cdmmzq5Dai86Qy+0T+p4Z4505/ZbAe9FPDmsC5xUg8EVNcU5/4gq4B+Cl7oSfJtvsfXGwlLd4FYUCn+zMNfoSNtfSpUM6DGie2wXESNVlp6dsXKFI3MsDAShofHMdr2jUdZUFdEKhnvZhFD0aY3xO2cQFml5Rb47ZPp6HeWuo8hXoyVM4U37WDiz9HuTLvV5lqk3xs+zy3diHvF93sYheYEHd6NluttS9J/R3FyRSfpdQzZP9LFCnXvyQk6gBqgH454n3MM3byG+LEGqG+/09pMl2urS6tW/wGjcq5hER9GEXsTqpX3SC51bTjRJRPE= 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)(82310400026)(376014)(36860700013)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5981 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:20b:5d9::7]; domain=AS4P191CA0017.EURP191.PROD.OUTLOOK.COM X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B94.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: cbb1fe4c-d358-4912-9f75-08dd5ffc7468 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|376014|14060799003|36860700013|1800799024|35042699022; X-Microsoft-Antispam-Message-Info: u+DWqii2HclADOrOVBuxEYB+uZZ5yJ8opK89IZ86EUjlDU4EXV4aeOYh/Dcvb7vPrg2T8EL3+FAQNVkTpJSSNlX1vqZKVRXlFXb0vzKcThOvV9H/iexFDBQWTuloy2HGIMgatg8PfuOml0qM4C5s8z6/cc5LEN+xO/Wc34uvv9KLVFpOxLFHM/PJRUJpBSVTWWqgAbQTQDeh2E8OjT0/c3BWl2TIpJfuLzkg28EJHCdXoqQINkJubBD9ugABTJqWtJfplS3nxIx3NGHiverGu7wwP41xVM3T+2E38XgolVqtiSasKd0YEpPqs7mGNmGwUYPdzzQ3PpxY5GElkyh6ybptzlv1Rllwbwtq79plSfiEw3FeGse2Lz8tQ9eYmLHV4k/FNHXvDnU7TPpKL/K4a9H9w7gJRUfcm3346+URS7WROTixXZ3N/kZ7irJmDDtW2nG7pn36vc0HxnIinETTpN/HJwBNfkAzyO8wrSE2MaMYAq+ufek1PyPOWQQ7UZ0zuudtCcpsH/BNMgFbidtbUlfPfrFGlwIINUh8EKY0/Imz5etuN/nZuMHRSU94/LgOY/z5th8yGDXH19jD7SvWXRJexesRCK8ciX4CZNvXUA1WXMCc56W2ALTq9xH7rPDjuGQa+rRUjjU0s+uFxDGgor7qAskTneWxUeEwcJsegpyUB10AK35xv77vdylcTWW7ezpXVVFQR+7T0v3yaDlpFtL6d9i9Wwz+nrh3l9xpSYXg5A/4Wiip27KKySo9VXa2M9hVcie2W6imZMx8DH7doE+KhCdJSKeyg0RTNMl8n2y0Z+m98kbPWfQAislQX2Xqx1IgNZ3DJVZQq/QkXMhC2Q5esHdZ5MJcpvY5VUhcjwy6AVd4JzFQTS5WYx97gLRPPY1OgDoBHBZbgvKN6QgkQ8dNVh6bahFMKL7EhyBvSzhJslznWrxPwJhhG9gz6PB6aMpBoNXIDoasiQAVXgIZAOS5F6zZrJWNfjeZNm5I6W3mpo6c2Tb20LIxrA5Uwnbw+DlRId7We/EH9I9w8JUXF1VhuTQVGtnIeWu0kxO0rJ99GKzMT5iU50M1/f1FJkbziZOiYhBnV5R+xaxUNpeD+vap45i1mtFjFtmWBUS7BbfDKwjuz8cqkQS0n0O426/r4A4WoO4krEkXcfGhSUrRu/pjyX5lR5Kny1AnZGnNC85HUgrflvydaTv3lkAdbHEvWXBhmp1NEpjvCPwiO+zvkQFWp09Btot5M4yCEwplea0G9MCQzjMG3T7FB/D0XpIfwsosJ9CPn43TR+b1daeY5IFs7jCSVSU9jL+SuuZWj7tETjgr37I7JsSgyb96bpOPs8PVjFRLz8bYjgzFGYyxscfqCc9nIO316tiZHPdiJPdilH4flG5ZOCeyGX2une8DeDpAx1w2tio+Lzbr5Ysz/9ib5e+bI0rXJPazHNUjxQq4UQ7nNqfwe/xESvmmHf4pVhbYem7A+ROpjXxJM4dkAVw+BUYcOqS53/VMx6RRIuo= 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)(376014)(14060799003)(36860700013)(1800799024)(35042699022); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 17:53:33.1401 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3f3e6e9f-c611-4ba6-6da5-08dd5ffc7981 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: DB5PEPF00014B94.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB8918 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY autolearn=ham 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)
|
|
Checks
Context | Check | Description |
---|---|---|
linaro-tcwg-bot/tcwg_binutils_build--master-arm | fail | Patch failed to apply |
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 | fail | Patch failed to apply |
Commit Message
Matthieu Longo
March 10, 2025, 5:51 p.m. UTC
--- bfd/elf-attrs.c | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-)
Comments
On 3/10/25 17:51, Matthieu Longo wrote: > --- > bfd/elf-attrs.c | 35 ++++++++++++++++++++++++++++++++--- > 1 file changed, 32 insertions(+), 3 deletions(-) > > diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c > index bd8ae56678a..12a81181c11 100644 > --- a/bfd/elf-attrs.c > +++ b/bfd/elf-attrs.c > @@ -541,9 +541,8 @@ bfd_elf_add_obj_attr_int_string (bfd *abfd, int vendor, unsigned int tag, > return elf_add_obj_attr_int_string (abfd, vendor, tag, i, s, NULL); > } > > -/* Copy the object attributes from IBFD to OBFD. */ > -void > -_bfd_elf_copy_obj_attributes (bfd *ibfd, bfd *obfd) > +static void > +_bfd_elf_copy_obj_attributes_v1 (bfd *ibfd, bfd *obfd) > { > obj_attribute *in_attr; > obj_attribute *out_attr; > @@ -604,6 +603,36 @@ _bfd_elf_copy_obj_attributes (bfd *ibfd, bfd *obfd) > } > } Why was the comment for this function removed in the renaming? > > +static void > +_bfd_elf_copy_obj_attributes_v2 (bfd *ibfd, bfd *obfd) > +{ > + if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour > + || bfd_get_flavour (obfd) != bfd_target_elf_flavour) > + return; This if statement could be moved to the bfd_elf_copy_obj_attributes to avoid code duplication. > + > + obj_attr_subsection_list *in_attr_subsecs = &elf_obj_attr_subsections (ibfd); > + obj_attr_subsection_list *out_attr_subsecs = &elf_obj_attr_subsections (obfd); > + > + for (obj_attr_subsection_v2* isubsec = in_attr_subsecs->first_; > + isubsec != NULL; > + isubsec = isubsec->next) > + { > + obj_attr_subsection_v2* osubsec = > + _bfd_elf_obj_attr_subsection_v2_copy (isubsec); Naming convention bfd_elf_copy_obj_attributes_v2 vs _bfd_elf_obj_attr_subsection_v2_copy, perhaps _bfd_elf_copy_obj_attr_subsection_v2? > + LINKED_LIST_APPEND(obj_attr_subsection_v2) (out_attr_subsecs, osubsec); > + } > +} > + > +/* Copy the object attributes from IBFD to OBFD. */ > +void > +_bfd_elf_copy_obj_attributes (bfd *ibfd, bfd *obfd) > +{ > + if (get_elf_backend_data (ibfd)->obj_attrs_version == 2) > + _bfd_elf_copy_obj_attributes_v2 (ibfd, obfd); > + else > + _bfd_elf_copy_obj_attributes_v1 (ibfd, obfd); > +} > + Missing function comment for this function. > /* Determine whether a GNU object attribute tag takes an integer, a > string or both. */ > static int
On 2025-03-20 15:05, Richard Ball wrote: > > On 3/10/25 17:51, Matthieu Longo wrote: >> --- >> bfd/elf-attrs.c | 35 ++++++++++++++++++++++++++++++++--- >> 1 file changed, 32 insertions(+), 3 deletions(-) >> >> diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c >> index bd8ae56678a..12a81181c11 100644 >> --- a/bfd/elf-attrs.c >> +++ b/bfd/elf-attrs.c >> @@ -541,9 +541,8 @@ bfd_elf_add_obj_attr_int_string (bfd *abfd, int vendor, unsigned int tag, >> return elf_add_obj_attr_int_string (abfd, vendor, tag, i, s, NULL); >> } >> >> -/* Copy the object attributes from IBFD to OBFD. */ >> -void >> -_bfd_elf_copy_obj_attributes (bfd *ibfd, bfd *obfd) >> +static void >> +_bfd_elf_copy_obj_attributes_v1 (bfd *ibfd, bfd *obfd) >> { >> obj_attribute *in_attr; >> obj_attribute *out_attr; >> @@ -604,6 +603,36 @@ _bfd_elf_copy_obj_attributes (bfd *ibfd, bfd *obfd) >> } >> } > > Why was the comment for this function removed in the renaming? > The comment was moved to the new _bfd_elf_copy_obj_attributes (see below). >> >> +static void >> +_bfd_elf_copy_obj_attributes_v2 (bfd *ibfd, bfd *obfd) >> +{ >> + if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour >> + || bfd_get_flavour (obfd) != bfd_target_elf_flavour) >> + return; > > This if statement could be moved to the bfd_elf_copy_obj_attributes to avoid code duplication. > Good catch. Fixed in the new revision. >> + >> + obj_attr_subsection_list *in_attr_subsecs = &elf_obj_attr_subsections (ibfd); >> + obj_attr_subsection_list *out_attr_subsecs = &elf_obj_attr_subsections (obfd); >> + >> + for (obj_attr_subsection_v2* isubsec = in_attr_subsecs->first_; >> + isubsec != NULL; >> + isubsec = isubsec->next) >> + { >> + obj_attr_subsection_v2* osubsec = >> + _bfd_elf_obj_attr_subsection_v2_copy (isubsec); > > Naming convention bfd_elf_copy_obj_attributes_v2 vs _bfd_elf_obj_attr_subsection_v2_copy, perhaps _bfd_elf_copy_obj_attr_subsection_v2? > The naming of this function is different because _bfd_elf_copy_obj_attributes_v2 is semantically different from _bfd_elf_obj_attr_subsection_v2_copy. _bfd_elf_copy_obj_attributes_v2 copies OAv2 in the input object to the output objects. _bfd_elf_obj_attr_subsection_v2_copy copies a OAv2 subsection object. It is basically equivalent to a copy constructor in a OAv2 subsection class if we were developing in C++. I tried to follow a naming that corresponds to [module]_[target_format]_ [object class]_method for the second case. This is what I followed in most of the places. If it is not the case, this is others places that should be fixed :) >> + LINKED_LIST_APPEND(obj_attr_subsection_v2) (out_attr_subsecs, osubsec); >> + } >> +} >> + >> +/* Copy the object attributes from IBFD to OBFD. */ >> +void >> +_bfd_elf_copy_obj_attributes (bfd *ibfd, bfd *obfd) >> +{ >> + if (get_elf_backend_data (ibfd)->obj_attrs_version == 2) >> + _bfd_elf_copy_obj_attributes_v2 (ibfd, obfd); >> + else >> + _bfd_elf_copy_obj_attributes_v1 (ibfd, obfd); >> +} >> + > > Missing function comment for this function. > The doc is there, so not sure what you meant here. What do you mean by function comment ? >> /* Determine whether a GNU object attribute tag takes an integer, a >> string or both. */ >> static int
On 3/20/25 15:44, Matthieu Longo wrote: > > > On 2025-03-20 15:05, Richard Ball wrote: >> >> On 3/10/25 17:51, Matthieu Longo wrote: >>> --- >>> bfd/elf-attrs.c | 35 ++++++++++++++++++++++++++++++++--- >>> 1 file changed, 32 insertions(+), 3 deletions(-) >>> >>> diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c >>> index bd8ae56678a..12a81181c11 100644 >>> --- a/bfd/elf-attrs.c >>> +++ b/bfd/elf-attrs.c >>> @@ -541,9 +541,8 @@ bfd_elf_add_obj_attr_int_string (bfd *abfd, int vendor, unsigned int tag, >>> return elf_add_obj_attr_int_string (abfd, vendor, tag, i, s, NULL); >>> } >>> -/* Copy the object attributes from IBFD to OBFD. */ >>> -void >>> -_bfd_elf_copy_obj_attributes (bfd *ibfd, bfd *obfd) >>> +static void >>> +_bfd_elf_copy_obj_attributes_v1 (bfd *ibfd, bfd *obfd) >>> { >>> obj_attribute *in_attr; >>> obj_attribute *out_attr; >>> @@ -604,6 +603,36 @@ _bfd_elf_copy_obj_attributes (bfd *ibfd, bfd *obfd) >>> } >>> } >> >> Why was the comment for this function removed in the renaming? >> > > The comment was moved to the new _bfd_elf_copy_obj_attributes (see below). > Ah, I see. I think I would still be in favour of a comment above the v1 and v2 functions as well. >>> +static void >>> +_bfd_elf_copy_obj_attributes_v2 (bfd *ibfd, bfd *obfd) >>> +{ >>> + if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour >>> + || bfd_get_flavour (obfd) != bfd_target_elf_flavour) >>> + return; >> >> This if statement could be moved to the bfd_elf_copy_obj_attributes to avoid code duplication. >> > > Good catch. Fixed in the new revision. > >>> + >>> + obj_attr_subsection_list *in_attr_subsecs = &elf_obj_attr_subsections (ibfd); >>> + obj_attr_subsection_list *out_attr_subsecs = &elf_obj_attr_subsections (obfd); >>> + >>> + for (obj_attr_subsection_v2* isubsec = in_attr_subsecs->first_; >>> + isubsec != NULL; >>> + isubsec = isubsec->next) >>> + { >>> + obj_attr_subsection_v2* osubsec = >>> + _bfd_elf_obj_attr_subsection_v2_copy (isubsec); >> >> Naming convention bfd_elf_copy_obj_attributes_v2 vs _bfd_elf_obj_attr_subsection_v2_copy, perhaps _bfd_elf_copy_obj_attr_subsection_v2? >> > > The naming of this function is different because _bfd_elf_copy_obj_attributes_v2 is semantically different from _bfd_elf_obj_attr_subsection_v2_copy. > > _bfd_elf_copy_obj_attributes_v2 copies OAv2 in the input object to the output objects. > _bfd_elf_obj_attr_subsection_v2_copy copies a OAv2 subsection object. It is basically equivalent to a copy constructor in a OAv2 subsection class if we were developing in C++. > > I tried to follow a naming that corresponds to [module]_[target_format]_ [object class]_method for the second case. > This is what I followed in most of the places. If it is not the case, this is others places that should be fixed :) > I see what you're saying, I think trying to come up with a clearer naming structure here would be great, because from the names of these functions they can be hard to differentiate. I'm not completely sure on what though, and I suspect this is possibly an issue with the pre-existing function names. At any rate, not a huge issue. >>> + LINKED_LIST_APPEND(obj_attr_subsection_v2) (out_attr_subsecs, osubsec); >>> + } >>> +} >>> + >>> +/* Copy the object attributes from IBFD to OBFD. */ >>> +void >>> +_bfd_elf_copy_obj_attributes (bfd *ibfd, bfd *obfd) >>> +{ >>> + if (get_elf_backend_data (ibfd)->obj_attrs_version == 2) >>> + _bfd_elf_copy_obj_attributes_v2 (ibfd, obfd); >>> + else >>> + _bfd_elf_copy_obj_attributes_v1 (ibfd, obfd); >>> +} >>> + >> >> Missing function comment for this function. >> > > The doc is there, so not sure what you meant here. > What do you mean by function comment ? I meant no comment above the v2 function I put this in the wrong place apologies. > >>> /* Determine whether a GNU object attribute tag takes an integer, a >>> string or both. */ >>> static int >
On 2025-03-20 16:25, Richard Ball wrote: > > > On 3/20/25 15:44, Matthieu Longo wrote: >> >> >> On 2025-03-20 15:05, Richard Ball wrote: >>> >>> On 3/10/25 17:51, Matthieu Longo wrote: >>>> --- >>>> bfd/elf-attrs.c | 35 ++++++++++++++++++++++++++++++++--- >>>> 1 file changed, 32 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c >>>> index bd8ae56678a..12a81181c11 100644 >>>> --- a/bfd/elf-attrs.c >>>> +++ b/bfd/elf-attrs.c >>>> @@ -541,9 +541,8 @@ bfd_elf_add_obj_attr_int_string (bfd *abfd, int vendor, unsigned int tag, >>>> return elf_add_obj_attr_int_string (abfd, vendor, tag, i, s, NULL); >>>> } >>>> -/* Copy the object attributes from IBFD to OBFD. */ >>>> -void >>>> -_bfd_elf_copy_obj_attributes (bfd *ibfd, bfd *obfd) >>>> +static void >>>> +_bfd_elf_copy_obj_attributes_v1 (bfd *ibfd, bfd *obfd) >>>> { >>>> obj_attribute *in_attr; >>>> obj_attribute *out_attr; >>>> @@ -604,6 +603,36 @@ _bfd_elf_copy_obj_attributes (bfd *ibfd, bfd *obfd) >>>> } >>>> } >>> >>> Why was the comment for this function removed in the renaming? >>> >> >> The comment was moved to the new _bfd_elf_copy_obj_attributes (see below). >> > > Ah, I see. I think I would still be in favour of a comment above the v1 and v2 functions as well. > Fixed in the next revision. >>>> +static void >>>> +_bfd_elf_copy_obj_attributes_v2 (bfd *ibfd, bfd *obfd) >>>> +{ >>>> + if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour >>>> + || bfd_get_flavour (obfd) != bfd_target_elf_flavour) >>>> + return; >>> >>> This if statement could be moved to the bfd_elf_copy_obj_attributes to avoid code duplication. >>> >> >> Good catch. Fixed in the new revision. >> >>>> + >>>> + obj_attr_subsection_list *in_attr_subsecs = &elf_obj_attr_subsections (ibfd); >>>> + obj_attr_subsection_list *out_attr_subsecs = &elf_obj_attr_subsections (obfd); >>>> + >>>> + for (obj_attr_subsection_v2* isubsec = in_attr_subsecs->first_; >>>> + isubsec != NULL; >>>> + isubsec = isubsec->next) >>>> + { >>>> + obj_attr_subsection_v2* osubsec = >>>> + _bfd_elf_obj_attr_subsection_v2_copy (isubsec); >>> >>> Naming convention bfd_elf_copy_obj_attributes_v2 vs _bfd_elf_obj_attr_subsection_v2_copy, perhaps _bfd_elf_copy_obj_attr_subsection_v2? >>> >> >> The naming of this function is different because _bfd_elf_copy_obj_attributes_v2 is semantically different from _bfd_elf_obj_attr_subsection_v2_copy. >> >> _bfd_elf_copy_obj_attributes_v2 copies OAv2 in the input object to the output objects. >> _bfd_elf_obj_attr_subsection_v2_copy copies a OAv2 subsection object. It is basically equivalent to a copy constructor in a OAv2 subsection class if we were developing in C++. >> >> I tried to follow a naming that corresponds to [module]_[target_format]_ [object class]_method for the second case. >> This is what I followed in most of the places. If it is not the case, this is others places that should be fixed :) >> > > I see what you're saying, I think trying to come up with a clearer naming structure here would be great, because from the names of these functions they can be hard to differentiate. > I'm not completely sure on what though, and I suspect this is possibly an issue with the pre-existing function names. At any rate, not a huge issue. > >>>> + LINKED_LIST_APPEND(obj_attr_subsection_v2) (out_attr_subsecs, osubsec); >>>> + } >>>> +} >>>> + >>>> +/* Copy the object attributes from IBFD to OBFD. */ >>>> +void >>>> +_bfd_elf_copy_obj_attributes (bfd *ibfd, bfd *obfd) >>>> +{ >>>> + if (get_elf_backend_data (ibfd)->obj_attrs_version == 2) >>>> + _bfd_elf_copy_obj_attributes_v2 (ibfd, obfd); >>>> + else >>>> + _bfd_elf_copy_obj_attributes_v1 (ibfd, obfd); >>>> +} >>>> + >>> >>> Missing function comment for this function. >>> >> >> The doc is there, so not sure what you meant here. >> What do you mean by function comment ? > > I meant no comment above the v2 function I put this in the wrong place apologies. > ACK >> >>>> /* Determine whether a GNU object attribute tag takes an integer, a >>>> string or both. */ >>>> static int >>
diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c index bd8ae56678a..12a81181c11 100644 --- a/bfd/elf-attrs.c +++ b/bfd/elf-attrs.c @@ -541,9 +541,8 @@ bfd_elf_add_obj_attr_int_string (bfd *abfd, int vendor, unsigned int tag, return elf_add_obj_attr_int_string (abfd, vendor, tag, i, s, NULL); } -/* Copy the object attributes from IBFD to OBFD. */ -void -_bfd_elf_copy_obj_attributes (bfd *ibfd, bfd *obfd) +static void +_bfd_elf_copy_obj_attributes_v1 (bfd *ibfd, bfd *obfd) { obj_attribute *in_attr; obj_attribute *out_attr; @@ -604,6 +603,36 @@ _bfd_elf_copy_obj_attributes (bfd *ibfd, bfd *obfd) } } +static void +_bfd_elf_copy_obj_attributes_v2 (bfd *ibfd, bfd *obfd) +{ + if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour + || bfd_get_flavour (obfd) != bfd_target_elf_flavour) + return; + + obj_attr_subsection_list *in_attr_subsecs = &elf_obj_attr_subsections (ibfd); + obj_attr_subsection_list *out_attr_subsecs = &elf_obj_attr_subsections (obfd); + + for (obj_attr_subsection_v2* isubsec = in_attr_subsecs->first_; + isubsec != NULL; + isubsec = isubsec->next) + { + obj_attr_subsection_v2* osubsec = + _bfd_elf_obj_attr_subsection_v2_copy (isubsec); + LINKED_LIST_APPEND(obj_attr_subsection_v2) (out_attr_subsecs, osubsec); + } +} + +/* Copy the object attributes from IBFD to OBFD. */ +void +_bfd_elf_copy_obj_attributes (bfd *ibfd, bfd *obfd) +{ + if (get_elf_backend_data (ibfd)->obj_attrs_version == 2) + _bfd_elf_copy_obj_attributes_v2 (ibfd, obfd); + else + _bfd_elf_copy_obj_attributes_v1 (ibfd, obfd); +} + /* Determine whether a GNU object attribute tag takes an integer, a string or both. */ static int