From patchwork Thu Feb 27 10:47:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthieu Longo X-Patchwork-Id: 107172 Return-Path: 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 9EDE73858D26 for ; Thu, 27 Feb 2025 10:58:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9EDE73858D26 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=PEaiO7IZ; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=PEaiO7IZ X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20631.outbound.protection.outlook.com [IPv6:2a01:111:f403:2612::631]) by sourceware.org (Postfix) with ESMTPS id 3108E3858C31 for ; Thu, 27 Feb 2025 10:50:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3108E3858C31 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 3108E3858C31 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2612::631 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1740653453; cv=pass; b=IWV4PUICC3grVNF4yl2LMZcJa+mV+bKHlGmbjZw6hk3QcgqBfOPcLMxxiF1CyJBb++kiDnLRHWjMx5kP600DAHWxbpzMVZANNIi5ThwSfUEj/zKc6ahzvNm5DeVGxxeN1bX+ykF/1RWAS7XXFUrWv0kRd2dxn5czJ0aHnUHkmQc= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1740653453; c=relaxed/simple; bh=QpsZZ79Owfkcp/3ao1vXkbBWF6coPdtyaljfGQEWdwk=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=RpDzkS9QdlZfyXxwdyplKz1gKu1Js/sJsTaPwPohJ4JFB1ixl5IQo759l0pV0hmq5A6Jxg4SrNa0AX0j1gs1WJWOGwO8t0d/O6knXKuhZ6ySm2/OLFjXLlYYugTC2B+WcN6kr4y6mYcQ5S51+lUuYPKjjTM3jc/ajtpkYZVAP0Q= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3108E3858C31 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=TOdqNmrZGZgnJtOCiHJnfWLfBaGm3gWh/rYKhqrrv/qx9hbifBJkIPGM4WOn2A4f95R7p6NjS88rh6GyRQdXEMNeADA0P7ODfO51gtSP2yjZccMl9HR9ztt1p392OC4vN/4qNHiBIPqdn/TwZj6+RVDpWFo9NeTGOR51Vl/kkdP/fVuUktLxeLLOzhS9DLQLu9LGLS6b3IKl4RJ3PduVNGQquz66TTDoZ7Ms0ck3CcrZCKgZWFDCmeDXRvmOgNPHwNGbKlTRTncui8m6cRrvvhr5oV91I0nCjryv9MftKyKiC6eVL2Z9rL8CWDwzFyYYe3S7HfmDIQyc/Yu7YsZHcw== 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=ncPKKgvEP1IdTYoNNOLaKHTfXmb+c0uffbcu3AV3qEA=; b=xMCv4x6ZUMeeIUGcxoN7ySX5sv8CHegChz1lwr/YbfI2fFMUbGutmvxrUVL9yaFbSOz3z3+htoA0eiwa1xKszaWTL/J+TKeFEMIjB7C0V+AOm3idcwEr+mEnMMiWNu1M7VM6UH2OsqQNsetMdl5O+ivkztTtQpjlD3QJe3JLnH0wZxO2YamfJbOmBFZX3Y6uxSUYt5MNie2XrgRYKEVjqyEmAGgQ57SPgFGEtzTLChQGc3G1bF0Lp6KMYXYzG7BbrZDoE/RLs2CtqBjt4Dfa3ypNVnJ2cvebGKpV5u5DbbRczx6OGd4iijxr++3GRsa13fGrhI9bmfISJeEf7fyHgg== 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=ncPKKgvEP1IdTYoNNOLaKHTfXmb+c0uffbcu3AV3qEA=; b=PEaiO7IZ4yC+YvHUo32mcS097Ka7x/sAkHVPdUmvQTuEqNiqITuSVYT4Qe5inLzhNO2LAMWoLqnj36eKNIh7a794JsAXSDRJ4fN+V6af2KHL3PxeJM2YUSEqBxc1zTAZxergGG5hXbUa7eq55ZQyRRxzZnXITshMh8V/jxp4RWE= Received: from PA7P264CA0074.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2de::8) by DU0PR08MB9077.eurprd08.prod.outlook.com (2603:10a6:10:471::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.20; Thu, 27 Feb 2025 10:50:48 +0000 Received: from AM4PEPF00025F96.EURPRD83.prod.outlook.com (2603:10a6:102:2de:cafe::f7) by PA7P264CA0074.outlook.office365.com (2603:10a6:102:2de::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.18 via Frontend Transport; Thu, 27 Feb 2025 10:50:48 +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 AM4PEPF00025F96.mail.protection.outlook.com (10.167.16.5) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.0 via Frontend Transport; Thu, 27 Feb 2025 10:50:47 +0000 Received: ("Tessian outbound a81432d5988b:v585"); Thu, 27 Feb 2025 10:50:47 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: adf2527b5458d0a3 X-TessianGatewayMetadata: mYmQTS7vXy4C6hiyHv4L/Mod7L8OHf+pAw9ExVISTczJdyN2t5edqK8B7S2AY6QdIX54RHsTfbbXNKAUUcYiOZsJCx8WS4B9xyf3XSuNIe5o09vW6tMQC////qwmjYZdXaO72r1uVwAYFz2WajrH3uKF+k8+Z9Qkut5iGRMegas= X-CR-MTA-TID: 64aa7808 Received: from Lb92f23e0212c.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C119B601-0216-476F-A8A8-270B9AB5A41A.1; Thu, 27 Feb 2025 10:50:40 +0000 Received: from DUZPR83CU001.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lb92f23e0212c.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Thu, 27 Feb 2025 10:50:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XPJMzjLwCqkOFtCcT40GANkRbBIf5A3fLZdf5f63wFB3DYu3Ulb96ssq0OoBEDzpAGa7vr0iBKTFTk7HyfHplUgWGiuo0zU04KSbblCmuSbvr7DZZgEm47Yr5yDCbitDF5LhAySOibT9oy8knTFfHx5kgG3sMO4X2ITLINZXahwFF3OGyAsTkxCeGI24CGU0uSK9HLIiYvO1/wmpVu0zvpis8afgaPVlvXTfVTbp+3cf1vrbwbz0XiHaxy5Yzpn5qPCXqElfzpNdz9u+nmqU0kkfiJOQmYnJqIcLqkBfWFFNYIQXvPPJGukuvGFf8eHwiCB1EBQrqNAkbhUC0C5pSA== 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=ncPKKgvEP1IdTYoNNOLaKHTfXmb+c0uffbcu3AV3qEA=; b=J/PLqHux/Scy6ek/b9Qf0vVetImtaT3vKCwaUDwGliSZfjJpfBZPl9w73VG/pgJF/Yed/nsds5PZV4x+lDKyrN5E9jtTKYN3E4Vd773qTwUfwkSUzpWIqLXKeJ9flQO52EsXEH48ZluVzWxEmbgy1fiQUcpoJGyMpAuNdLz7iI6Ds5GxGNuD31vE4U8bvkkZOd+S0+1KGwyoFFkitgGXQdJP8fqWAlzhC927pyggBRLgYuLbWjiqEAjuk04/vuLE+dcpRPM5gKdlKjhdFnzFUsv8wKptyDppLOJnpuRxnZRzz+AXMRyMlINdSNHJvjd/tYdGjeMmCeEuERZrkxRobA== 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=ncPKKgvEP1IdTYoNNOLaKHTfXmb+c0uffbcu3AV3qEA=; b=PEaiO7IZ4yC+YvHUo32mcS097Ka7x/sAkHVPdUmvQTuEqNiqITuSVYT4Qe5inLzhNO2LAMWoLqnj36eKNIh7a794JsAXSDRJ4fN+V6af2KHL3PxeJM2YUSEqBxc1zTAZxergGG5hXbUa7eq55ZQyRRxzZnXITshMh8V/jxp4RWE= Received: from DB9PR05CA0018.eurprd05.prod.outlook.com (2603:10a6:10:1da::23) by AS1PR08MB7610.eurprd08.prod.outlook.com (2603:10a6:20b:475::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.22; Thu, 27 Feb 2025 10:50:36 +0000 Received: from DB1PEPF000509F4.eurprd02.prod.outlook.com (2603:10a6:10:1da:cafe::ae) by DB9PR05CA0018.outlook.office365.com (2603:10a6:10:1da::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8489.23 via Frontend Transport; Thu, 27 Feb 2025 10:50:36 +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 DB1PEPF000509F4.mail.protection.outlook.com (10.167.242.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8489.16 via Frontend Transport; Thu, 27 Feb 2025 10:50:36 +0000 Received: from AZ-NEU-EX05.Arm.com (10.240.25.133) 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; Thu, 27 Feb 2025 10:50:35 +0000 Received: from PW070M4K.arm.com (10.1.29.163) by mail.arm.com (10.240.25.133) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Thu, 27 Feb 2025 10:50:35 +0000 From: Matthieu Longo To: CC: Richard Earnshaw , Nick Clifton , Alan Modra , Matthieu Longo Subject: [PATCH v1 13/14] refactoring _bfd_elf_get_property Date: Thu, 27 Feb 2025 10:47:38 +0000 Message-ID: <20250227104811.178094-14-matthieu.longo@arm.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250227104811.178094-1-matthieu.longo@arm.com> References: <20250227104811.178094-1-matthieu.longo@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DB1PEPF000509F4:EE_|AS1PR08MB7610:EE_|AM4PEPF00025F96:EE_|DU0PR08MB9077:EE_ X-MS-Office365-Filtering-Correlation-Id: 0790ddff-801e-42cf-26d1-08dd571c9806 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|36860700013|376014|1800799024|82310400026; X-Microsoft-Antispam-Message-Info-Original: 4qz+3jYNQUL+QodzMxjSUYAB3/qgqLQnQALKswzbdlpr0XnKOECVzj2+sNgnRSnR7Tfk+YUBJyiF0ISN9OmTZq9AMji//1X4w8TObZzUYje8BmH7jqD2owyrRCLjBrTaTcIHQ5vLTipmoi8sKbngg/cnqOpPnqptlBZUfUineiRLGia+UQ6rBzlBSNX649lgcICx4BhCDiX9g5SlWmW+frY3wYXXGdlrzPVY21WcY6jGWj+i2t8acDgMj9Cr6sMIj+SbSzb/2syzedBTlNYbgRfdsFXxV+do1KLlJgXRYeJQDEGwSHE5/9gif8fBgAokqxTUKk9gCSWy4CMDy6eAMj/rXz4GKjsR24MbB/XbbnzwRvmK60raEPQ3TOD+sgtEru7movWjDt5DyL0njbQ4veeNTETg1/RgK8OINLcNeT6G0Jc9P3DhCt5j5fspxCSQAXzNhmsmsk6U+1TxWVjkVhsYBS1qF+Mh2Rqwcpey+GLyTX9jQvvW6BBHyXdelB0ow0Z+ohk//NP+d27o3EQCkybdsnWPedzxua+xBSMv2Z+a6nPtGhddopiz9L4TWrVf0PNL2ymDGEQRqAzDk3VxGv4rrm62vtLX4nrGApIHbsKvDrIehMH0o53+5S0YJYh0iK3Jw+ntZ/QRK/OqyVS98Y4AnMDl/6i5TjJXuN5GMB7do8Q847Mid8lLXPP09ItAxWTPc69ULYgx7uBbDZ7rhyutv+QDZezwuVnDdQQhqw4xn6DK9lw2XUzfNbfOGsCD6Wr1GIOjE+SGhsz8KAN4BJhHyCHl0Oq5AFjrLVhn68q7sdjCWF1nV/FSfVWKowVbVkz5HVCOcnDcGL1JnfA+rX1LY1tS8NzPTFH89HvekhL8z5NY0zwbI4+v088itVv6in+ybRRMTeXuspFQpHxbifM9Gq6tanBTe5YDJP9j7i7kAr2OdCuoxcACNnxJUW+Vg11Z5A4K47h9auzP15/as2+Odcg0v8g/jN3rUYDhQ5ThLA/MceNfgPVLwdBwyj4tNdGDCkNeVsHsr7UL5gSBIWPhvjAEl2OLB7ICKt8GnddcsmfkBtnC9Wl1E/YgDhfcd2sVwb4WGblF4/zKnWIhKgYYXqmuWMFMYNPRyeXItYFxcZ3jfFg/ZKNdokjKnl5ViKE+jZtsj4F6fX8pqWjtMXZBif34YYnPzAovHxITAUUWwlzIkQIZPn7iKfxCH6u5f/rW6O3BNZWqCnaN0JqQnYz3LSGGY40xoJQkDIZdtMaxJgvjiH86FXm89xLpSH78RAXu9DIt+NR+50OdGCLoPWbP6O7heb2cABKQPxjgBMoSGrLMD9L4UaOLxWCLSp9gINwBM3kVvis8bQIgoXq4VL+56Qg3L5GCt5Q2DtNtdkZPPNFwiqRykJ5zXBbAaedMCGZxe2As0uPTj+AOW7fovvXgbGWlJOzbvxluTJgkL3WwxwT5T7GuWNkym1BVPOsmHghqN65g+4ffSnp5sL2Yw3Hr/XGwROf/FFUOyo5HsXs= 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)(36860700013)(376014)(1800799024)(82310400026); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR08MB7610 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:10:1da::23]; domain=DB9PR05CA0018.eurprd05.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM4PEPF00025F96.EURPRD83.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: d32705e7-dc97-44ec-6be1-08dd571c9179 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|1800799024|14060799003|376014|35042699022|82310400026; X-Microsoft-Antispam-Message-Info: Cmvp5w2riW6o1l7dYie2PCbsJtVuxFmjwYzyW7AW3mkHzPAyo3CGpCxIiG114je3AWlhQvNxfd2ThMAIH9qzJOBT/1JLC+EA2y/w04hmyN2eF2VXztgvWykoWoifSx34mA7uW3ZZAe7sPH9PrctoJuNYmjH296lgkbUTTlX9wrBmsx6efP0tMvJkRDYl6xrIWhsGuUVr0KSMB9r3ByCRbiQ/uIHj1xneN2bT7T63vt5tALSVQ0BS3IU9/uSaK3oI8h+KCUolR6nH/2YOQnTpHa3/nd6KGKIEXODvxC0ZTtlJh3yp+i9YPTzDAj23iAL//UQXMa2motPc77maZZXhOxiPT0XEBhn3JrKNLRAhQU4JYGBBmu8Cguvu8Fk3KutKjjVouU11LezbWSDYvVHrcUymk6ndsBZbPSSHMyXQUKMi9/FGQqFyDRo/quZUnV0+/TwnZ3u4AF2lLoeEbFCIYqi6UMmPiCmfY4zaF6k3y3ttegWtzdURi+tz/6zF/z8hYV/WIOZUGHrPfZE0OBporiZqPMi5mfEA7PPg29IGhmoZ2KIto5LsfEshJzOxVX2fRhLlCbHRst6vrEUaG/+UNTJmmbC5DXorVsy5+HjFNTXvtTevBO19G1CIq4OubyHGzJYceb4xAQeVpDuavXK42fNFbNL1YIdk6BE76CLX4IiJjF5oGW/ZmQAIxI+WK0mZJiDSolExu+msMIvJtZj0UagXWWiXfSgco9yjDX0XvNEn8gB4wsh5QgnXkOm7yu+Ghq8uX4Kfl3ja3lp5TFQBcv3b5hGzdurBr1AIRl0GpTAH9W16mlyBz6/VHEfH8vX8s5InixaU0gvQXRSTgfe73Y6uDnQtANKtQqtAUBa+WZqNacWoaFZZFz+H2gDe6gqR2661ekdkT2zYm7AjrDK0dn1crxFSVorK6otiXUbDbobpkcOWDPJ4zaZdn/XPT7xRUEKLE2RVWKZz5Bs4KygsxXfAb3kEA4ln6LZSQloH+HYIs9XDMVb/1RF7j5j5fmzO645/8Y384A7nTjmV3DdXf1ZC/2bXG+bOEPLVoz+P4LonqGm0JVTX8OTDzXoMoP/BR9WsujIiflX4R0Vkb/+pLVIrguoforCUjiymOCzxk4WTphE12hotpMhz8ZKPqHrjpq55vxrJkg/oq30YFvDGfDdiO2WRA9RoenZx2ey5SGXz62Zy2Sv0oHZeAbM3RKnA4bbh858a96DXjPrITPAVl7yGXEiDjdWbDOOxBdYWPmzH20l9lgOD0oPkCFPc//ebmVPVoOrhO5MNjJke0OzdlV5Xu+k0sIVDtjMewQ8ysNwjLrJFteyI8fNnGQF5oLBA0z9CaaNQYlYanHHcYlVcSlaQTx5xA77bQhDUWraDiMKNHyC0jFM8/WOqVR0DVILbISL9kFg4sp8HuwhpdQzEc+iQxdeoYtui+NiVvlui4ncFrIWjyCXlXwP4/CSJaK3d1yVU9Ey/komhueNioFTttc/zUMw9jTIiHOvwys3mzO8= 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)(36860700013)(1800799024)(14060799003)(376014)(35042699022)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Feb 2025 10:50:47.7250 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0790ddff-801e-42cf-26d1-08dd571c9806 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: AM4PEPF00025F96.EURPRD83.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9077 X-Spam-Status: No, score=-12.0 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, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org - Extract _bfd_elf_find_property and _bfd_elf_insert_property from the function's body to improve the code readability. - Export _bfd_elf_find_property's symbol as it will be used in a later commit. --- bfd/elf-bfd.h | 2 ++ bfd/elf-properties.c | 74 +++++++++++++++++++++++++++++++++----------- 2 files changed, 58 insertions(+), 18 deletions(-) diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 52f8d53c116..5903d857faa 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -3085,6 +3085,8 @@ extern bool elf_read_notes (bfd *, file_ptr, bfd_size_type, size_t); extern bool _bfd_elf_parse_gnu_properties (bfd *, Elf_Internal_Note *); +extern elf_property_list * _bfd_elf_find_property + (elf_property_list *, unsigned int, elf_property_list **); extern elf_property * _bfd_elf_get_property (bfd *, unsigned int, unsigned int); extern bfd *_bfd_elf_link_setup_gnu_properties diff --git a/bfd/elf-properties.c b/bfd/elf-properties.c index 5c2dd018cc9..0dea9d53c45 100644 --- a/bfd/elf-properties.c +++ b/bfd/elf-properties.c @@ -28,37 +28,72 @@ #include "libbfd.h" #include "elf-bfd.h" +/* Find a property. */ +elf_property_list * +_bfd_elf_find_property (elf_property_list *l, + unsigned int type, + elf_property_list **prev) +{ + if (prev != NULL) + *prev = NULL; + + /* The properties are supposed to be sorted in the list. */ + for (elf_property_list *n = l; n != NULL; n = n->next) + { + if (type == n->property.pr_type) + return n; + else if (type < n->property.pr_type) + break; + else if (prev != NULL) + *prev = n; + } + return NULL; +} + +/* Insert a property into the list after prev. */ +static elf_property_list * +_bfd_elf_insert_property (elf_property_list *l, + elf_property_list *what, + elf_property_list *prev) +{ + if (l == NULL) // First node. + return what; + + if (prev == NULL) // Prepend. + { + what->next = l; + return what; + } + + what->next = prev->next; + prev->next = what; + return l; +} + /* Get a property, allocate a new one if needed. */ elf_property * _bfd_elf_get_property (bfd *abfd, unsigned int type, unsigned int datasz) { - elf_property_list *p, **lastp; - if (bfd_get_flavour (abfd) != bfd_target_elf_flavour) { /* Never should happen. */ abort (); } - /* Keep the property list in order of type. */ - lastp = &elf_properties (abfd); - for (p = *lastp; p; p = p->next) + elf_property_list *prev; + elf_property_list *p = + _bfd_elf_find_property (elf_properties (abfd), type, &prev); + if (p != NULL) /* Reuse the existing entry. */ { - /* Reuse the existing entry. */ - if (type == p->property.pr_type) + if (datasz > p->property.pr_datasz) { - if (datasz > p->property.pr_datasz) - { - /* This can happen when mixing 32-bit and 64-bit objects. */ - p->property.pr_datasz = datasz; - } - return &p->property; + /* This can happen when mixing 32-bit and 64-bit objects. */ + p->property.pr_datasz = datasz; } - else if (type < p->property.pr_type) - break; - lastp = &p->next; + return &p->property; } + p = (elf_property_list *) bfd_alloc (abfd, sizeof (*p)); if (p == NULL) { @@ -66,11 +101,14 @@ _bfd_elf_get_property (bfd *abfd, unsigned int type, unsigned int datasz) abfd); _exit (EXIT_FAILURE); } + memset (p, 0, sizeof (*p)); p->property.pr_type = type; p->property.pr_datasz = datasz; - p->next = *lastp; - *lastp = p; + + elf_properties (abfd) = + _bfd_elf_insert_property (elf_properties (abfd), p, prev); + return &p->property; }