From patchwork Thu Jan 23 13:07:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Earnshaw X-Patchwork-Id: 105294 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 10F5F3858C42 for ; Thu, 23 Jan 2025 13:08:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 10F5F3858C42 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=OOt3eb0r; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=OOt3eb0r X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on20629.outbound.protection.outlook.com [IPv6:2a01:111:f403:260e::629]) by sourceware.org (Postfix) with ESMTPS id 7457A3858C42 for ; Thu, 23 Jan 2025 13:07:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7457A3858C42 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 7457A3858C42 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:260e::629 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1737637665; cv=pass; b=ehjMcCIDGLLebP8JeAdosMpdF1BEmNCpBq8SM34H1fhdi0rrw30NIuy98STMgP4AZl81UPjulzjvIUX3xvpkECkZX8IWfMeMVXwFQqlgJc4JIuFVaDP/n6DeWUJOrGzNnjcBIQODIlo9KB3Y749Ykq9dl0dPX7/zjWRo3MYOE9I= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1737637665; c=relaxed/simple; bh=NBTFd0XQyYimCDQacTCdFXLwYT03q2xGs3kzQezVAAA=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=Wyom6MK0scGJw3dx8hlKxUFLHJoq03bqqxZ9yMWQ1vK5l7jARDCVfppvU4f0fneKxpYnDCvdOXFpXNJ9dYh8peijzpd0OvQhnZvxUD+CibI7wskrLYxazMtcfL2WJPWT4fwZn8v5395TJrocXOvEgBmXv99iBMGNotTqbjkQl9s= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7457A3858C42 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=H4r9JOUXIWMnYSwzjFgLkl14R6y7yVlqLh7KhDZHpKNC/y7YRD4D1qb8tD9oMbH2B+94HTtyB0fClzUAP0pAegoABREaOZVvWlOef4PhVAkeYNSEFuaUQ57ZtXVLrLy/eFmXTNO4vbZsIRxg7uLrvm19g5xEDeO8VCGk3KLmmt6nkhw/0/ABfePjojTKpKW9WX2SoSi7kg67IXjTLL/WD0g+jQ1U6Db6EuuFAXXzvr+ciXs1e/MjN2/fVFmujUw4C/z5huO37BElgmQG1JEVCfYJp+3IKxz9TYqbw5BiZIEGVISi6FUuXpbtmBgHo6+Wt7dicdaiCM1iiwxBJexhbg== 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=0g8b/Qa2ODgnpx6Av3lENvMtw3dLGISDT1qffy7pdhU=; b=yensfEdVlizMVn1cBUfSUPHZqeR8X+c/P7OcI1bdXhA1Aa8VCxAC0eScgp4xwDvADiiwJzOyd0LsNEybTuYap8Vx2tXRGF+mlgh8zMxFjaUXrlXB44q56zc4c7wRA3iywq0bNAG2DIEUrj66E7tbwnflCoyZW7n94BJ+r+mXCp7h9Zusue2wMwGEaJbVZq//XSlCupB1720KzMSgkzaf9O4qR15mW2ui4nPb+PEepVijOwmk4bwp+HJExQ3b7m280+HUw2QrNq9RVhLXvaI9reHkzmePATtlRNBH0a7fRNIGShH3enQq6Ihq71t25xiRm7/VT1Sn2/DFVjXIsSt3Iw== 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=0g8b/Qa2ODgnpx6Av3lENvMtw3dLGISDT1qffy7pdhU=; b=OOt3eb0r+4+J4CfdAOCCxFk4W5VJKPUxyJtmUL+P1KBG7vdg9JFlK/ZdExMALJn0Hpl3OwI+2bG/8Bc0knr1ssTBAEzApWwE8cW5y9vZ2uo8wYSTq07rHC43vlKCORugCJfIWm8LrLZDFA+c9uNwBbYewBxWgb8U5hNK6BkRQCc= Received: from AS4P250CA0024.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:5e3::17) by AS4PR08MB7406.eurprd08.prod.outlook.com (2603:10a6:20b:4e1::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8356.21; Thu, 23 Jan 2025 13:07:37 +0000 Received: from AM3PEPF00009B9E.eurprd04.prod.outlook.com (2603:10a6:20b:5e3:cafe::16) by AS4P250CA0024.outlook.office365.com (2603:10a6:20b:5e3::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8377.17 via Frontend Transport; Thu, 23 Jan 2025 13:07:37 +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 AM3PEPF00009B9E.mail.protection.outlook.com (10.167.16.23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8377.8 via Frontend Transport; Thu, 23 Jan 2025 13:07:36 +0000 Received: ("Tessian outbound 3f086efbd534:v554"); Thu, 23 Jan 2025 13:07:36 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 82dd17d7b3da795e X-TessianGatewayMetadata: 4IgXKsIe3MrkehVVPnVWYptDVaSITfoVl6yiSkAgwCTbIgUYm85pJXvYpcbMXEMxN0nsY7dW7+Ql6ZFLpukKCNjPIRpKERJmYMF2jMzhCn8zE8nGnJabOl8zSxmE8yoDZK4PFVwcnHOWmfwvNVITkIb+v4KBRHqzHGmBdu0LXTs= X-CR-MTA-TID: 64aa7808 Received: from Laa6e91664f67.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 676AB0AE-A19B-4EAA-A4DA-C21235D1996C.1; Thu, 23 Jan 2025 13:07:29 +0000 Received: from EUR03-DBA-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Laa6e91664f67.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Thu, 23 Jan 2025 13:07:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lFmx69GKNLEfDYUvj/4toWylMqLKyaQuGq7tXpDYs9siFV06rbcXO2wQ6dkVuEH//BW9lxKQd5Zvkl93kLybBGxouTRhrG11qP8gzB8rQFCWbVl622hVrB1JJ7DtY1ZseVdPhIHz5BUIP1dOBj54rmDwI1TQ27UH/NQZ4WLUJcmE74P1AT26PV3odS9pUhJgFOlksbMz//eSMQKp5/FpgmrVJr5gUktqvjS6HQzAy53ICrWR3GDI2rmlWf7uJunFHLf24V4uvwvFifU+0wI31NAw22K0aL91o6g9WMjA8d7Ih19BE9MmvtRJoszJnXCKz9tcISyXGTC2pMfBr2Fj5Q== 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=0g8b/Qa2ODgnpx6Av3lENvMtw3dLGISDT1qffy7pdhU=; b=RN38Lgd3OfLUNAC+u4u2CpPj1XfZFEVdSj7vWBKQlBI1dZ1BWT4t+DazWy+EqdpK4JmJFCXJ2f70zy5SCQTBEvrXXbI3kr2mtukqnZGcie+hWBr4fAGoPLpHlMt7jQdRdCPeWOH5Hi6EM7TUg7D96BDa/MVezpIgBK61EWaBcCSuK5GzTqenfFxckcHvN7HD4QOfNNvi+PcSksA6A0Gy1pZhMB6OEQ6zvSOUqscCPlZSXarInrdVHLHrZl8c8brFQYSbq5fPVowDybDdl6+CjkoYlxaptQOtBET01cMnfHiuWSpR0aCGJydcuvUarBBKgoAsiYUt+qDGpBsMVwzNKA== 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=0g8b/Qa2ODgnpx6Av3lENvMtw3dLGISDT1qffy7pdhU=; b=OOt3eb0r+4+J4CfdAOCCxFk4W5VJKPUxyJtmUL+P1KBG7vdg9JFlK/ZdExMALJn0Hpl3OwI+2bG/8Bc0knr1ssTBAEzApWwE8cW5y9vZ2uo8wYSTq07rHC43vlKCORugCJfIWm8LrLZDFA+c9uNwBbYewBxWgb8U5hNK6BkRQCc= Received: from AS4PR09CA0022.eurprd09.prod.outlook.com (2603:10a6:20b:5d4::14) by PAXPR08MB6350.eurprd08.prod.outlook.com (2603:10a6:102:12c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.19; Thu, 23 Jan 2025 13:07:23 +0000 Received: from AM4PEPF00027A68.eurprd04.prod.outlook.com (2603:10a6:20b:5d4:cafe::d6) by AS4PR09CA0022.outlook.office365.com (2603:10a6:20b:5d4::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8377.18 via Frontend Transport; Thu, 23 Jan 2025 13:07:23 +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 AM4PEPF00027A68.mail.protection.outlook.com (10.167.16.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8377.8 via Frontend Transport; Thu, 23 Jan 2025 13:07:23 +0000 Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) 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, 23 Jan 2025 13:07:22 +0000 Received: from AZ-NEU-EX05.Arm.com (10.240.25.133) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 23 Jan 2025 13:07:22 +0000 Received: from e120077-lin.cambridge.arm.com (10.2.78.71) by mail.arm.com (10.240.25.133) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Thu, 23 Jan 2025 13:07:21 +0000 From: Richard Earnshaw To: CC: , Richard Earnshaw Subject: [PATCH] aarch64: Fix PLT fixups when BTI is used [PR32572] Date: Thu, 23 Jan 2025 13:07:14 +0000 Message-ID: <20250123130714.3332660-1-rearnsha@arm.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM4PEPF00027A68:EE_|PAXPR08MB6350:EE_|AM3PEPF00009B9E:EE_|AS4PR08MB7406:EE_ X-MS-Office365-Filtering-Correlation-Id: 8d72f7c4-e178-4edd-1431-08dd3baee88c 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|82310400026|376014|1800799024; X-Microsoft-Antispam-Message-Info-Original: G80HvkrogTO+oWZkCibyyVhJ5IFoqQEaQbWCCzdKAfbmmAEmHzVmswiQ+Zi02s7Lx9EevT/CxNe+3jAUl4gG91a8nhDWUvYWnLT9CayhuK/70rc9lFsktwRDTIStJLJAG7rV9mkmAxwdM9SKN4JytaojbxIpQ7Iz0iyMZuQ8t5r/BuUE5flexy+1FqjzMWuNLLkZe10RodKxIhnWydLBPpGvugqpV3BcIfQxwJN8SYalXXr3Saki5x/I83oqlUIhqYgql/U1kFNTQj9MCCnF9jNm7pT29p8y7jIy6tGiqzGEto8E6Z3FkHAkV/zuOFTKq32l4G01TI1nkBXD9T+DvuKYtd8F4Z9DfiKzEofon3dea+HZqGJFzHZyCQLfDHgFDfpnl8bdjb0iXOU+2PVbU71t2Y8DIDE68hzciCuUm1/k7veHbqcEAKHf1uP8cSCLsccaiHWdODV0bo6QpdxqeAkbCbl2slhZmRp9DX84tJVFNhhnj4T7UF3a0xOfMYw9TYbUfCoUx5KhMWFDDwaRs/zbCRHeaBA099Jpbkp71GwvwNkBdL2/4DgWTyEdOHOQ9E0qUEQG0cO+PfDWKiNIDAOaP+kBGlszNhSUeoszUxjRjN9nH3cgdHuQFuF5LbzIK1NgupUcYwPaSTUG2O+5R5FmDN0jkCEeF7u0lDFoVG4t9XGo386ado0uT6JVl4v7ZaGI/d3rElacngNAOaKUlQvDC+HATZqQINuC6plMW3aron2Fm0iDZGDG0D4yvOazQfaCmyA+TRXLPelysOyE0TOb16Z7F+0X1kSLQUfiswms7w47BQY4kPeVpzebkMFkUY4qE8OLBQoiMx37bGUz2tR2JyXvSMZoCEGCbhTedfOsoQzJ6n0s7VVu26GqJVir0e8D67A0VyIx1eOfePP0r3a7UJnZ3fe0y7QRS8QzKkEUkETkxXTNTdkOG+1PpvWMyeQfTOzY9veLtLjgUdsZ8U6ZsJFr1DxvG2Ju+pUz4ONYtw0Dx1Ui2EDfiWrB69RSW0OeTCQUI5CKkP1qv/iQeNVhlXEl6h1GW3NDZa88m8akVcHUqScsq87VMcgdn0kFE0r4+ripW2H1jYBRds5mlWdIBDeXPdQevsfJuMRPrB0y6e1Wq8I6AerboI9KRVIdsrRJZC9wLBg/S4rf8w3aYgvGmLuaaWmX/6iTnnne1MFlb5I5kjyE7zWSarSsOaumLuEj+yBkDvpuOg/h3kfbMjFw7LnJ43DmVWV3gDBQmAtoadlShDJw2uoO+RSuNqYKqC0JBrPOyAaRy5RwQbgS01aO11Wg9MWQoE/sYJTYjWCelKhDzsmiFMFTE1q5bJDTCpKWtbnt4+V+56CW9JDYGKKnF83lI2b86eucc1le8UBhXMCXjS1fzAjqiHZlGf9NmYFvzUIhI2FJCybMGQbh9sToozEf+6ESy+/2C8Nr2Fgzu2VxQnyBu2qlU9mVtl8Y8c3ME+XObgPvWFxf/K5XpOKAxKI9WSOt+wENpQHRZHw= 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)(82310400026)(376014)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6350 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:20b:5d4::14]; domain=AS4PR09CA0022.eurprd09.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM3PEPF00009B9E.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: fa3b4aa9-a16c-4126-aaf9-08dd3baee0b9 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|14060799003|1800799024|36860700013|82310400026|35042699022; X-Microsoft-Antispam-Message-Info: 2u1zganbmcZZNk7rM5o4/kkg5dT1wDYKAsnJk1BNPFvu93Eu61+xuj7nKUAylp2e28x6pmfjangi9n/jfoDfo3FFDmzquKxMQTq/691wm6G51XR8SV2+dNUTjwLk/ETPAzJFe+jPC2c/LMfIYbXpwCZ43k3aV3yJfkEQovF01YVJ1k0qHFzuZgkHZ8gHNM8M521jHmVOxR9i/DWyqzA6EWKgY7oMayQ+VINwsZZQObwSFPRwCwt5HiEO3XBca83SCg/2gg7o1+VijDaDk+f6ivx+Nijy1AT1w/MEix20dcxkO28fk965uSCgk/akFTubklo1Zpk4JySwDNVtf1+Cdf42N4HSsD9SuSe/HjzIM+8qILD/KczEYXFJXNwNdtZE4DgtZ5FwDuTtm2QfEyLBznBpBYGYUsoLr4vBTQR7BDHjFbawFl7b9V8Gy5O0T2RLWQlCMpNCzMk93HghmAtVNZzMuHEDRh6A12tVKgnoG7Z5imnX/myJl649pBdemRD5ZaebfIAdbEXJml72YxuK3pPK/37SVtbR0+LVeAUQHElA6DkUGM67vP/fbJ+ED3I7pLYY+qX9RZu/P99Zww+vRr1LH6EizDh+gY9fwcigGbCT3OuIGerKUGTQh97549yZq30PItg/VL9nS5pAlxTm0JJhOjHJoX5E3HMCNJZJtW6MQXT24l+mOcNYegC7cCVWdWQWaCPE47Yn1u5xNorYaCqC3PXdxxxYCYAzR/nrf1Do7PGjONI3HTpXpL+TZZ06DHx9fzFit0s5TWKywKGdwxEMSqghCGVMkJuHNsqIKP3mzjCDaRRtJl/bJcZ6YB4Enl1zVXCFcSIXyflMsD/PraK2629Z4iNhZ8CPf8trGfIti9lb5XY5Red0LVgqewCHf9BahUVTMp0nb90pdgTPsIbxw8sHLTH2xFedD3GB1g2PnOWgMdF/WitxvdHiXYCxqeiuA+DRVHItQu50jK07Kte4A9f/KEBiOshgw+nGZZw58OBs4Myo3e6SaYUPnps7U5eOs2ANhnybmUfduo3p+sZ0YAR+yIfj3YJqiL6OJLcSoTo73f+2AMoZ08llsPTZKhAyAD/dA0Q4I/7lWIgZVjbw2mcs82X7qItDWmryd+qxTs5jVj7Ax9l2ldsKnCKf9GIG1BG3ivQ5z2BbJ0HvYRIjBLo8PWEeFlWY+grPBanrTxbYygz30um+rfw+rTzkZb2qjZuSoff9SBuFj26G03v5rjrKbZlWw7IEHA3w/4O9YBRQVCpCefTZXPpTgPbtIt5fHjK60eiWkqQ8S0FH035XgJZBy+di7FMryBcMCDWnLzQhOwJmoMt1tkpub+jBD3bheNjhkFg0c84IFj6loNRg+CF4ucXG5h5KmeLPOyLtjX6twtgww5QmvTrtUZXufpK4q2TuZrmlXgzOXIVuVtsK1JRZcOPDk/CJSbL4HcrnPs6gX/fOyPBYvVINn9CSN7/JNQGtvkS53hlW2gB36fDjDfExmXnvQszBSTdwskE= 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)(376014)(14060799003)(1800799024)(36860700013)(82310400026)(35042699022); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2025 13:07:36.7852 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8d72f7c4-e178-4edd-1431-08dd3baee88c 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: AM3PEPF00009B9E.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7406 X-Spam-Status: No, score=-12.7 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org PR ld/32572 There are two problems addressed in this PR. Firstly, the choice of whether or not a PLT stub needs a BTI on entry was too strict, resulting in non-pie executables not having a BTI on their stub. But secondly, the logic to handle each stub types did not agree across the various places where this information is used. The first issue is fixed by using bfd_link_executable rather than bfd_link_pde. The second is addressed by recording a delta for PLT stub alongside the stub itself. This is then used without needing additional logic later on since it has been pre-calculated. A more comprehensive fix would involve creating a data structure to describe each fixup, including a call-back function to apply any relocations. But that's a fairly large change and not appropriate for backporting. --- Yury has run this patch through the GLIBC testsuite and confirmed that it fixes all the failures there. I'll wait 24hrs before applying, though in case anybody else has some comments. R. bfd/elfnn-aarch64.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index 1fe0b615800..9b8b86fd5d5 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -2631,6 +2631,11 @@ struct elf_aarch64_link_hash_table /* The bytes of the subsequent PLT entry. */ const bfd_byte *plt_entry; + /* PLT entries have a common shape, but may have some pre-amble + instructions (such as BTI). This delta is used to factor this + out of the common code. */ + int plt_entry_delta; + /* For convenience in allocate_dynrelocs. */ bfd *obfd; @@ -2924,6 +2929,7 @@ elfNN_aarch64_link_hash_table_create (bfd *abfd) ret->plt_header_size = PLT_ENTRY_SIZE; ret->plt0_entry = elfNN_aarch64_small_plt0_entry; ret->plt_entry_size = PLT_SMALL_ENTRY_SIZE; + ret->plt_entry_delta = 0; ret->plt_entry = elfNN_aarch64_small_plt_entry; ret->tlsdesc_plt_entry_size = PLT_TLSDESC_ENTRY_SIZE; ret->obfd = abfd; @@ -4959,15 +4965,17 @@ setup_plt_values (struct bfd_link_info *link_info, globals->plt0_entry = elfNN_aarch64_small_plt0_bti_entry; /* Only in ET_EXEC we need PLTn with BTI. */ - if (bfd_link_pde (link_info)) + if (bfd_link_executable (link_info)) { globals->plt_entry_size = PLT_BTI_PAC_SMALL_ENTRY_SIZE; globals->plt_entry = elfNN_aarch64_small_plt_bti_pac_entry; + globals->plt_entry_delta = 4; } else { globals->plt_entry_size = PLT_PAC_SMALL_ENTRY_SIZE; globals->plt_entry = elfNN_aarch64_small_plt_pac_entry; + globals->plt_entry_delta = 0; } } else if (plt_type == PLT_BTI) @@ -4975,10 +4983,11 @@ setup_plt_values (struct bfd_link_info *link_info, globals->plt0_entry = elfNN_aarch64_small_plt0_bti_entry; /* Only in ET_EXEC we need PLTn with BTI. */ - if (bfd_link_pde (link_info)) + if (bfd_link_executable (link_info)) { globals->plt_entry_size = PLT_BTI_SMALL_ENTRY_SIZE; globals->plt_entry = elfNN_aarch64_small_plt_bti_entry; + globals->plt_entry_delta = 4; } } else if (plt_type == PLT_PAC) @@ -9841,11 +9850,9 @@ elfNN_aarch64_create_small_pltn_entry (struct elf_link_hash_entry *h, /* Copy in the boiler-plate for the PLTn entry. */ memcpy (plt_entry, htab->plt_entry, htab->plt_entry_size); - /* First instruction in BTI enabled PLT stub is a BTI - instruction so skip it. */ - if (elf_aarch64_tdata (output_bfd)->sw_protections.plt_type & PLT_BTI - && elf_elfheader (output_bfd)->e_type == ET_EXEC) - plt_entry = plt_entry + 4; + /* Allow for any delta (such as a BTI instruction) before the common + sequence. */ + plt_entry += htab->plt_entry_delta; /* Fill in the top 21 bits for this: ADRP x16, PLT_GOT + n * 8. ADRP: ((PG(S+A)-PG(P)) >> 12) & 0x1fffff */