| Message ID | 20260505083445.4558-2-evgeny.karpov@arm.com |
|---|---|
| State | Accepted |
| Headers |
Return-Path: <binutils-bounces~patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id A41694BA23E4 for <patchwork@sourceware.org>; Tue, 5 May 2026 08:38:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A41694BA23E4 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=hTe4+Zz+; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=hTe4+Zz+ X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazlp170130007.outbound.protection.outlook.com [IPv6:2a01:111:f403:c20f::7]) by sourceware.org (Postfix) with ESMTPS id C95284BA9002 for <binutils@sourceware.org>; Tue, 5 May 2026 08:36:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C95284BA9002 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 C95284BA9002 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c20f::7 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1777970175; cv=pass; b=fjaxPaTQ6HArD6vkV5gdjNnZyNnlDNzxAuagIZOJFHebT/pyZ8MV9xYsG6B7RcpYBbPH0jpc6SXcUMQP/M9S+B6l47SoUFUOz3Zs+z/P/fMYVaiaxGCAq3Im2mr4X0ubZUS8GHmvakEuVmOLrLS5wCBhCe/kew1ig5K1542I59c= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1777970175; c=relaxed/simple; bh=NOy2NfM/bprXX0aWimsInLUES/3nyEz+qKrdpLNMg34=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=V7NNsZS+6z42gxRUaoA77Uq5GJU3t+i62ZHkSWs84eDm2F26rkvlSp1m+dFODPm4gPZJxzijfJjgkidiYplh8UzI3/HLdN7eV1YveXK3q7ALMUTQPrSkSP10FGzfCLPspTbDdOL1nmZ46UXcWZjIuvjMFUpJ7lZ4y86yI/O3miQ= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C95284BA9002 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=Yau1Nh6/N3+C2H+6FOrYkTEbXJKb//iRl/52ZfdFP45C4lrohH7xs/DApx4zOZZXAe19d6vFyn05MQ6fpUSKRjYN06vUZdYrnrOMr8vPS+ErT+Rc77Mf8+GcSZsBktbJc4KWHe8jgkMcaos8NsvhcD8X+35YZrgKmxFImLeb8wJm5NilwVjjBAeXMA+YTAw+JR2t19Nz2okMJKoJrKXNhKAJWp3GHrYsy5ImLcnQs8M9CNNRe16+DZNufEg0Q1qVZR0LNqN0mZ2YniBPROb5DSnGGOeMx2WnocLDSFvTh1AUkoRGoqXSgwn9MlcdVQ0ohR/bSYQU8fyEbxBurhzN/w== 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=/wYTcg5MBsV2AHMjIlrubIEhor1nE2CPBOhG+hg798g=; b=PKhSS0hnY23w4pnaFA4du6cBwl+37zdepRI2qtNTCGlZhTL/BzUsCIAEBgLb+OaGHuNp2ZxCO/rtnsCE6peWDAvJDfXSmSp6GOu0zP38PcdGarTKKs7U4M+u5quhLxQBmMcmc3y2zPMZO1A93oIKO23gNgit9kDyPrtuKXN0uWFxOM58yMGmSfLzOyvhq5jZjG93ucqy194X7bFy2VCPJZzdeqqFOqLY98wUXjDJe+AxttSB/nk3YfLBFhOjUcwJVRJ4nnnaueDDy2R4Mlmws9jbSNNpFAdd66Dl4sg7cQskrsBI8fToGGpucttg3BBJ9zXwJEmnE3A3J0+g5CKuew== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/wYTcg5MBsV2AHMjIlrubIEhor1nE2CPBOhG+hg798g=; b=hTe4+Zz+QUNzPO1fZMOgjjxF0jEVGWIzi8DKpvIYPDrHk9H3U268Uo/sClDajexOVN/7Mwvy87QrI3d9JkIx5suwqq2Bnym6eNSxdXmD4r9/9xoBj9LCmRKQ9G60NDTTJeipnoQBaUUjJn5eYVt97udmaJ/HWf8lANNPDTqB1ds= Received: from DU7P251CA0016.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:551::31) by AM9PR08MB5876.eurprd08.prod.outlook.com (2603:10a6:20b:2d5::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.27; Tue, 5 May 2026 08:36:09 +0000 Received: from DB5PEPF00014B96.eurprd02.prod.outlook.com (2603:10a6:10:551:cafe::3f) by DU7P251CA0016.outlook.office365.com (2603:10a6:10:551::31) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9870.27 via Frontend Transport; Tue, 5 May 2026 08:36:09 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by DB5PEPF00014B96.mail.protection.outlook.com (10.167.8.234) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9891.9 via Frontend Transport; Tue, 5 May 2026 08:36:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NsnjLTv6JC1KjD7ZwNyrMOfJTkzu+osl/Dtx5eO+DA1mOTnx8LFwS8qPlL8SDpcLD8SJrlPQdf6KYMnvdhmUmN0WE5kdAX6Cp7rcDaVBwx9eNrhNqXc3qO/V0DjAp4sj5daIOFkzTKWcFLkrN9EzahL/rbgA+xMHTtYg83ZZJgCS6tFMZRxMZ+qatSEw1QLZfC3VkmwTXtWJIRLiXJWXeHc3ejJ1k9Wsip5JwlKMwpQZNw0Vf6q0R79ZF5Z5hNTJiFwuwdh4AXNoDkk0TzQxQK4coZj0e8Y8AoGc1n3WtdYrrT9WBi8Nfq1JGtehXcsEk/lPelJ8lrclhtXMBvKIzA== 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=/wYTcg5MBsV2AHMjIlrubIEhor1nE2CPBOhG+hg798g=; b=ZDkY9J1+2ElsKKX+Fw3pu5Jn02tpVMUlGXok68UpdHB1BnUcRV5b/OBysrRFLQtsV5vqGmKI4lyrjVEOErtlr+fa8fusJkwfsReNdboJcwABxgXR6L2pFpnA3iZtKiIK7zTIGBE1nOS5YfS2OKCBTQiZVe6xgOpSeM9PXrHxVKyZAENXEVc2RcK7i1XQks6K2XWv+dQ4XKJKIxMb/0wgHRhYFpd1PLsdPluaou+0YpxmwEO0DYW1LMobEDwsos7PWWhOvb+++7qHHq+KaBSqNTOlEntDInip3oZEE7rdEl4l5mEBB8vnMxIpCQNHGxyADEMNu3E1ATJLVUvmsSA7Tw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 172.205.89.229) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/wYTcg5MBsV2AHMjIlrubIEhor1nE2CPBOhG+hg798g=; b=hTe4+Zz+QUNzPO1fZMOgjjxF0jEVGWIzi8DKpvIYPDrHk9H3U268Uo/sClDajexOVN/7Mwvy87QrI3d9JkIx5suwqq2Bnym6eNSxdXmD4r9/9xoBj9LCmRKQ9G60NDTTJeipnoQBaUUjJn5eYVt97udmaJ/HWf8lANNPDTqB1ds= Received: from DU2PR04CA0088.eurprd04.prod.outlook.com (2603:10a6:10:232::33) by DB9PR08MB9442.eurprd08.prod.outlook.com (2603:10a6:10:458::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.27; Tue, 5 May 2026 08:35:01 +0000 Received: from DU2PEPF0001E9C3.eurprd03.prod.outlook.com (2603:10a6:10:232:cafe::cf) by DU2PR04CA0088.outlook.office365.com (2603:10a6:10:232::33) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9870.25 via Frontend Transport; Tue, 5 May 2026 08:35:01 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 172.205.89.229) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 172.205.89.229 as permitted sender) receiver=protection.outlook.com; client-ip=172.205.89.229; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (172.205.89.229) by DU2PEPF0001E9C3.mail.protection.outlook.com (10.167.8.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.22 via Frontend Transport; Tue, 5 May 2026 08:35:01 +0000 Received: from AZ-NEU-EXJ02.Arm.com (10.240.25.139) by AZ-NEU-EX03.Arm.com (10.240.25.137) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Tue, 5 May 2026 08:34:52 +0000 Received: from AZ-NEU-EX03.Arm.com (10.240.25.137) by AZ-NEU-EXJ02.Arm.com (10.240.25.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Tue, 5 May 2026 08:34:51 +0000 Received: from LD2C7QYYTH.emea.arm.com (10.34.111.48) by mail.arm.com (10.240.25.137) with Microsoft SMTP Server id 15.2.2562.29 via Frontend Transport; Tue, 5 May 2026 08:34:51 +0000 From: Evgeny Karpov <evgeny.karpov@arm.com> To: <binutils@sourceware.org> CC: <jbeulich@suse.com>, <alice.carlotti@arm.com>, <Richard.Earnshaw@arm.com> Subject: [PATCH v3 1/1] Fix IAT (Import Address Table) alignment on AArch64 Date: Tue, 5 May 2026 10:34:45 +0200 Message-ID: <20260505083445.4558-2-evgeny.karpov@arm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260505083445.4558-1-evgeny.karpov@arm.com> References: <20260505083445.4558-1-evgeny.karpov@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU2PEPF0001E9C3:EE_|DB9PR08MB9442:EE_|DB5PEPF00014B96:EE_|AM9PR08MB5876:EE_ X-MS-Office365-Filtering-Correlation-Id: e40a2632-cdce-4832-a7f3-08deaa815b1d x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|36860700016|376014|82310400026|1800799024|13003099007|18002099003|22082099003|56012099003; X-Microsoft-Antispam-Message-Info-Original: 6kAPP+qUUt6z91VA+2gZTK3fR61hMqO5isqJoH/hZHaXDhdxLfct+1o5NFgIJrMd8+TB7TXI6q6Lx21aRdo/1repkOvOSOORIs6WZcY4IvEqUzhZJProBtnATNMG8I3bs6NLOBYeDbhgEdAFTdxqsJaYaLhYPmKuwyTPzpWA2JYyFz60PO3OuBH1cqj3xl228QCVXvUacs5TvE0I9t0BIVqJAJOObt7WmEfetq2WH13fNuCJ/AVk7QJu+n342HumeqPyVK89C9sr8caRX6apb6rrx25ZCrMmrkMJTBKuegbeGh+RNEfGET3dHtoHwNfAlQ17OS1CvQSNH+rWSEu9hp4uSy1bRhtZF6WnuVoiHK+4uHD29wts++/p9UP9uZaCG7RC3Doifbqh0vXmL7WhutSzeyRJBhS9uGPVYI0yLuuMyTDqGsDqmScGCaSkmom0oU6xjUrG0OUL2UH73TbC458vJFPJp8a5xuzCYYZ+5fWytsG6yrVW7+vqj8k1enq6jDnuqJpN9ft/7Y7LoBdsAlCW3JvyUCcAxl9oPhTONC/MAAgTYxeXYRf3SjxrJ1rVbORdljyeLGh886tcRUaeauXs2c630QOgJtK4L76rMNHHapeaCPoVZdY5scHgOfgh1Z93fQAFVrWcM/i9shg+HCmmiemczcFCJgKk3etnxiCoQNRy9xZVzhznXAMJOM4FUcF4Cx9KC8k0kcOdpxDauL709qQCXyDLJXYgJAJjpxM= 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)(36860700016)(376014)(82310400026)(1800799024)(13003099007)(18002099003)(22082099003)(56012099003); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: UyiA8QTpJkNoPRqf6GOouxdylZFA7oYwSav0gD1Zs79+VHKnxq6P1o0CIvxufKBp1yR5963MmBnDknDXWNvaHAJgqMS2pk01dRWC5uRrUjIGpOjzk9uL6+//wsXOEElYKl/LTj30sXYKY/iRjmHkMAY/1W5edliTmxnVy7xW8yYHDKoa2s2XcPlx0W2U/ZxYvnLEK5a6qn9jh+1eWJLx6mZI8iR1t9ltvvj/gziBBf3Ztx4+QnaPM9J8XxY/aEBhIIKz+NVGJ1ByEaYRetJfQvc3s2jdpgtJLNDmmYwHNh8ku+8oUrOq6yRGP8W/HEG9HewbsKRsZHym6barVussaA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9442 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B96.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 94f254ca-33e9-482d-bc4f-08deaa8132ac X-Microsoft-Antispam: BCL:0; ARA:13230040|14060799003|82310400026|376014|36860700016|1800799024|35042699022|13003099007|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: YZm3njYcldUl9hx3XUl6NirbW0OAN82vQa/Qse15wfd0mcFjKyxrV6zds0IpJHA7OrnO3k5iUgQtZfL473EU7NyAMtGNJU/2hBW2waWW/oshyE/LRtguk1X9X6ZjU1WRQvaRGX4gdMl5P9F3ygDEhk/mmee6HSYOtqANB97WWdeLRS8qwrDx/kuC+oVapAzMsICI/CNbatKF9kunOFKT74dslWjrbysYa22Lu1T0+eZ5j38ClFoGtBQSlKPUWdEA2LrGlGj2Eh9TM5jH8LYTlQohXhbhx8amcB8MXsE+cF1lNeiLiKs+hMZK3XdPkpcnF1eE+borqTLvyMts45l3mlxLltfYWYX3DKsjC3G6169EzSwsliR12KMf3jXoXMEnvtgQ6KKR7NujNcaOXsfIGupiHRs4NXBU3ltc9wjJ1+Uj6KQvcZto0+RnwRbNElDiuBGFdkFv+yXdWCtNtdS3lvUCB9a6Nk0jbpV59CHMQBWc/f0qCT79bbo4DHyat5xdvoW9vI8ny0/O08o/nngtCUfXJH/K6JRDfnFusoILO0dK8YLRvjhIMhr8NyXzaCwJLDOFvTUfUfZkWNneARhqV9okx0bYkuUplu9Mj7KdZNEGrFubcn1UwRDZwtKI13CjI3agZOUMcNCmSEYRRgkQtfMEp5AxnyKDhbJEy/XRVTLv8MdSCc2DQDPvL65CcDyjIexACVxjys1JNNub/TIdxj7oDB5+avGbQFeFfXddaOIiYtLEhm6kjMwCsnoJU000 X-Forefront-Antispam-Report: CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(14060799003)(82310400026)(376014)(36860700016)(1800799024)(35042699022)(13003099007)(22082099003)(18002099003)(56012099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: HIsBPX6Y+YU6VkhsazzHn7kmzX0FtIYabxcTSgbR8pakr/X38cIWI9xrPmDMqiuzX9Lp51EPDpTvsTG5I0bylal+7fFim33Oku2nIpPmleNs3WnZbsGmUiDwKJkkuAA+d83Ib4b3klleBOfig27AVT9dVN9VUNH9twuM4rvvafi1StE/1aHVC31zXTWvLVG8Vogy6GVpjQMX6onE6TCxajn/LiFjNwz1M6REo92YKHqijbV/qkDh8J/F11TvOQcB+CcwA38EUaPeb71vGh9T7k2merrZBs6uVLA+XtWsNgEITP2BN6jLZ4qaLgEm0r0m+kZZ9qi3HHpSi9fjVK5VbmtZeZpOqCKB+mmxOCeQasSF7aXy8GZim56uCNLTD57g/4AE6xfTQYbuWSnu4SENNg2gsxhyV1GPCE85TqnnImuwoYch+kmYtq/biAWWJKBM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2026 08:36:08.8889 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e40a2632-cdce-4832-a7f3-08deaa815b1d X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129]; Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: DB5PEPF00014B96.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB5876 X-Spam-Status: No, score=-9.5 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 autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: 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 |
Fix IAT (Import Address Table) alignment on AArch64
|
|
Commit Message
Evgeny Karpov
May 5, 2026, 8:34 a.m. UTC
The IAT should be aligned to 8 bytes in aarch64-w64-mingw32, otherwise, it might result in relocation issues. When a function is imported from DLL, it generates the following code: adrp x19, __imp_fn ldr x19, [x19, #:lo12:__imp_fn] 8 byte alignment is required for ldr relocation. Addresses are placed in IAT. The size of the chunk on AArch64 is 8 bytes. If IAT is not aligned to 8 bytes, the relocation issue appears. This patch fixes this issue by aligning IAT to 8 bytes for PE32+. binutils/ChangeLog: * dlltool.c (make_head): Apply alignment to IAT. (make_delay_head): Apply alignment to Delay IAT. (main): Adjust 8 byte alignment for PE32+. --- binutils/dlltool.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
Comments
On 05.05.2026 10:34, Evgeny Karpov wrote: > The IAT should be aligned to 8 bytes in aarch64-w64-mingw32, otherwise, it might > result in relocation issues. > > When a function is imported from DLL, it generates the following code: > > adrp x19, __imp_fn > ldr x19, [x19, #:lo12:__imp_fn] > > 8 byte alignment is required for ldr relocation. Addresses are placed in IAT. > The size of the chunk on AArch64 is 8 bytes. > If IAT is not aligned to 8 bytes, the relocation issue appears. > This patch fixes this issue by aligning IAT to 8 bytes for PE32+. > > binutils/ChangeLog: > > * dlltool.c (make_head): Apply alignment to IAT. > (make_delay_head): Apply alignment to Delay IAT. > (main): Adjust 8 byte alignment for PE32+. Okay, with ... > @@ -4013,6 +4017,14 @@ main (int ac, char **av) > /* Check if we generated PE+. */ > create_for_pep = (strcmp (mname, "i386:x86-64") == 0 > || strcmp (mname, "arm64") == 0); > + if (create_for_pep) > + { > + /* Update default 4 byte IAT (Import Address Table) alignemnt to 8 bytes > + for PE32+. ... the typo here (alignment) corrected. I'll do that while committing. I guess I'll also replace AArch64 with PE32+ in the title. Jan
On 08.05.2026 10:28, Jan Beulich wrote: > On 05.05.2026 10:34, Evgeny Karpov wrote: >> The IAT should be aligned to 8 bytes in aarch64-w64-mingw32, otherwise, it might >> result in relocation issues. >> >> When a function is imported from DLL, it generates the following code: >> >> adrp x19, __imp_fn >> ldr x19, [x19, #:lo12:__imp_fn] >> >> 8 byte alignment is required for ldr relocation. Addresses are placed in IAT. >> The size of the chunk on AArch64 is 8 bytes. >> If IAT is not aligned to 8 bytes, the relocation issue appears. >> This patch fixes this issue by aligning IAT to 8 bytes for PE32+. >> >> binutils/ChangeLog: >> >> * dlltool.c (make_head): Apply alignment to IAT. >> (make_delay_head): Apply alignment to Delay IAT. >> (main): Adjust 8 byte alignment for PE32+. > > Okay, with ... > >> @@ -4013,6 +4017,14 @@ main (int ac, char **av) >> /* Check if we generated PE+. */ >> create_for_pep = (strcmp (mname, "i386:x86-64") == 0 >> || strcmp (mname, "arm64") == 0); >> + if (create_for_pep) >> + { >> + /* Update default 4 byte IAT (Import Address Table) alignemnt to 8 bytes >> + for PE32+. > > ... the typo here (alignment) corrected. I'll do that while committing. Except, wait: The patch is missing your S-o-b. Which we need unless you meanwhile have a copyright assignment in place with the FSF. Jan > I guess I'll also replace AArch64 with PE32+ in the title. > > Jan
On Fri, May 08, 2026 at 10:31:51AM +0200, Jan Beulich wrote: > On 08.05.2026 10:28, Jan Beulich wrote: > > On 05.05.2026 10:34, Evgeny Karpov wrote: > >> The IAT should be aligned to 8 bytes in aarch64-w64-mingw32, otherwise, it might > >> result in relocation issues. > >> > >> When a function is imported from DLL, it generates the following code: > >> > >> adrp x19, __imp_fn > >> ldr x19, [x19, #:lo12:__imp_fn] > >> > >> 8 byte alignment is required for ldr relocation. Addresses are placed in IAT. > >> The size of the chunk on AArch64 is 8 bytes. > >> If IAT is not aligned to 8 bytes, the relocation issue appears. > >> This patch fixes this issue by aligning IAT to 8 bytes for PE32+. > >> > >> binutils/ChangeLog: > >> > >> * dlltool.c (make_head): Apply alignment to IAT. > >> (make_delay_head): Apply alignment to Delay IAT. > >> (main): Adjust 8 byte alignment for PE32+. > > > > Okay, with ... > > > >> @@ -4013,6 +4017,14 @@ main (int ac, char **av) > >> /* Check if we generated PE+. */ > >> create_for_pep = (strcmp (mname, "i386:x86-64") == 0 > >> || strcmp (mname, "arm64") == 0); > >> + if (create_for_pep) > >> + { > >> + /* Update default 4 byte IAT (Import Address Table) alignemnt to 8 bytes > >> + for PE32+. > > > > ... the typo here (alignment) corrected. I'll do that while committing. > > Except, wait: The patch is missing your S-o-b. Which we need unless you > meanwhile have a copyright assignment in place with the FSF. This should be already covered by Arm's copyright assignment. Alice > > Jan > > > I guess I'll also replace AArch64 with PE32+ in the title. > > > > Jan >
diff --git a/binutils/dlltool.c b/binutils/dlltool.c index 94805fcd334..e3c476bf1ee 100644 --- a/binutils/dlltool.c +++ b/binutils/dlltool.c @@ -2735,6 +2735,8 @@ make_head (void) if (!no_idata5) { fprintf (f, "\t.section\t.idata$5\n"); + fprintf (f, "\t.p2align %d\n", secdata_plain[IDATA5].align); + if (use_nul_prefixed_import_tables) { if (create_for_pep) @@ -2828,6 +2830,8 @@ make_delay_head (void) if (!no_idata5) { fprintf (f, "\t.section\t.didat$5\n"); + fprintf (f, "\t.p2align %d\n", secdata_delay[IDATA5].align); + if (use_nul_prefixed_import_tables) { if (create_for_pep) @@ -4013,6 +4017,14 @@ main (int ac, char **av) /* Check if we generated PE+. */ create_for_pep = (strcmp (mname, "i386:x86-64") == 0 || strcmp (mname, "arm64") == 0); + if (create_for_pep) + { + /* Update default 4 byte IAT (Import Address Table) alignemnt to 8 bytes + for PE32+. + https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#import-address-table. */ + secdata_plain[IDATA5].align = 3; + secdata_delay[IDATA5].align = 3; + } /* Check the default underscore */ if (leading_underscore == NULL)