From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by sourceware.org (Postfix) with ESMTPS id 94DE13857350 for ; Tue, 3 May 2022 07:31:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 94DE13857350 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2174.outbound.protection.outlook.com [104.47.17.174]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-28-GiMWDxhWMgiVolEvS0PSMQ-1; Tue, 03 May 2022 09:31:28 +0200 X-MC-Unique: GiMWDxhWMgiVolEvS0PSMQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Efm2x1Jb30Biprfpf/siEbFiS1n5MT+mL6I0ig9gHFJh676daaZxqI3kl37ZDQylbL+7y5TEI84Wyq32gnzSdSUMjs1+MM174Q9++qp1A1P+DHoL84LzL3WycOh4BU3XWb+7evgLAV7uQMHlwdzuwnciVaLcZfAIm1XnITO92MRIsjgdsKY2FtM4fkfeMgUoVJrTRRTkrFuln4j51TnQ4vaZC1017CXC2S5TDUo1Ind4nlFci9IQKYp1LiuQlmgMV7wT/DwFHIZLCbf/BQV+nABxVEGitG+ocBuwwJET2vhn1SnrIFk43ar38cBH69MRBhjuntk1ymeFASGw2s0STw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=rY6xEjYWF4PciUUlTVkXCMJKcNDa6fFJZ6E64pfJXWM=; b=YNIdln/4NFCX574nXIsqo67VyHX5/9lmApuOrXL0xJTIwrK8mgJ8SXxCm6LD2N/Y6U7VBcND4fvT/YBs2ZP1rSrvlWhaIzkdSLNZIq62it4sVtyU3/YiyU2YiCsdctY2qQPWmuKXpqaAkRjktxzK49a5H1/xMg1mXZZLJrRpTayL9aLtYISwJqKgp/Su172l09oybDroDRpoLuE65Y6pRin5L1dcxODH7jzX8SD6uT/IZGT+cbVyKRPybOz4Ri6rrsCmO5tx3Xq0uhU29Lu549mXipMO88xVRucWuOnG9H9WDx/D0CqUo1G1/qRar7BUKmqZOqW1cWyeewNqZdej/g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Received: from DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) by AS8PR04MB8770.eurprd04.prod.outlook.com (2603:10a6:20b:42d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.24; Tue, 3 May 2022 07:31:27 +0000 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5cb0:5195:4203:7c2f]) by DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5cb0:5195:4203:7c2f%8]) with mapi id 15.20.5206.013; Tue, 3 May 2022 07:31:27 +0000 Message-ID: <888bc642-4fba-fa20-0fd0-65965deaf80c@suse.com> Date: Tue, 3 May 2022 09:31:26 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Content-Language: en-US To: Binutils Cc: Nick Clifton , "richard.earnshaw@arm.com" , Marcus Shawcroft From: Jan Beulich Subject: [PATCH] Arm64: follow-on to PR gas/27217 fix Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0081.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1f::11) To DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a45f6e26-7d8b-4f27-f5e9-08da2cd6ef33 X-MS-TrafficTypeDiagnostic: AS8PR04MB8770:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +T/2GI37KlBzZGNuOgDXlEuU+p8UrnHz43kXyOtddA7qVgQdrbcUFPW5WfR+iegJirK5uDNU22vG5wRgcmjkz8c3PBRZoNXFVhEsjkPRUMSXKe8UtoFJ2WkA/3iHjsvubl1qdebS9CN8M+7RM5y1veDcxsFYS29zXNP1Nc9m5+voD7ZzUQ69j14XIh4KUaUCLlwGqvn57mAozxpVZcWWfDZdFx2RkV9SY8gU6Ct99GetKfqTUD3Q3lGuVnE/3MdAePBJr/zVHBsEa3FuIh7vs4OplOypOQHH2mIFXvAFd623xQEPbRrPivGftKGn67sDbomqA5oxGEu/GTIPwXRWtOdquXSEutUPflaIP9FOXymKG8sOSglhZCgRTKUrLyJd4PDEOlCHvBlwgk+fui1Z044N1f6I2HRxYsVAy4WG2HKRMtZOgkYv+YUvx9wMGxJrTrT1e5vvE+Rrv8YhusbVFNTwYpKhnaAEAt/bmyKBuu06aPBQNZT2IziglggzxcQ65yzyYXh8+I0AR1JGbbKpq+61pi70g5vaRj80NS5mL03q62meMT45zAamnKqdqgxLtJ0dkeWRLKujNiXEXtWYa8s2mVPbLph8LAgohzXMVl6MctQhhYZYHLiJlgROkxoEXTAm0X6rJ/wkrRIlxS8O6+iWnlQRA4PGVd6GVlhv0PJm8pyq45po/zPoT7wvwPRltWRq39owvIvIfGWiZuHC6eeI+7sJbMMiVsG6UY34MXI= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU2PR04MB8616.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(6486002)(31696002)(2906002)(6506007)(5660300002)(508600001)(83380400001)(6916009)(86362001)(66556008)(66946007)(186003)(38100700002)(36756003)(316002)(2616005)(4326008)(66476007)(8676002)(8936002)(26005)(6512007)(31686004)(54906003)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OVc0SUNLVGxZeElzWmFPTEJOMWk0SlRIejFaOHg5aUVsWHVRUmVHdFZwQ2p6?= =?utf-8?B?ODRJc3FzNGhXdFovc0R1TDJ1UlNKMStSdkRSSE9Uam90RFZ2aldlWlBkNGdu?= =?utf-8?B?TEVEZDRiT2J0R29uOXRCcldGblZZdS9VbzhLbnVNSkVpbHRDS2NVdEF1VUph?= =?utf-8?B?Q3RJdmtzK3QxQStCVTZiaXlpUjZ3MTRRQU5EUkMwc1pyNTU5OW5VUE1Bb0hr?= =?utf-8?B?ejQ1RjBDM3oyTHZTalJJYVk3V1MxOUlULzFBcVgwUkxVdEoxSlQ5ZE15cWRR?= =?utf-8?B?b0NzMkpZK2xCRmNiYVhBVTRCZ0Q4amdLTGdhb0hEUW5PTGVhL3NKSEhGZHJ6?= =?utf-8?B?TmYzT0J0ZStWNW1iaTZpb2FCb1BkNnlieEVhWlJjNjFzNCtYejJiaEp0a0Ny?= =?utf-8?B?R0E3bFBmc3RhTGZPbUJqUHZkT2ZTaEY0K3ZJcVZaZTJPbENSamRCRGRCYmRW?= =?utf-8?B?Umhvc0pNcWdRQytGS1lrbTRyMng5QWtSSVBTNUYyVFlNSk52bWJNT3VrS2hi?= =?utf-8?B?SllUbnJNYjRpNmlaK2Evd0xYQ1NVSEhGNGNBcHUyS2lON1pwWldIN2k1OXdD?= =?utf-8?B?NGdOUy8zUnFWSkV3Y2RmV2ZkNjlYSE5BR0dXSkFWRHFVeDA1QXRBanBMcHE5?= =?utf-8?B?Qmg2TFdqTnMxSngrdFg4QXJBTnpsWnJQS3AvQVhxSS9yaFpKdHgrRVp5Zy9s?= =?utf-8?B?blVQbE43YUNYS2RJWHZYK0Ixd0VISG1WVUljbUhoeFdoNEJLeTFUSkVaRFBh?= =?utf-8?B?Rkk1L2orRHo4Y0JUYVRNWGxmaXlSYzNlaHBXd243U1plNW1VbklzNmZJNmhJ?= =?utf-8?B?QkFPM3BReUM0M21qQStaZWQ2UExGeSthaXdxQTFORzRIRmZHT2ZhTG8yekZk?= =?utf-8?B?ZjlMR2hSYnpyM0R3NkxFOEI5NXRTc3c1eU4wVDVCQUVZNlFndkFVZ2Y2MmZy?= =?utf-8?B?RGx0VXZ4L1ZxNUVSaks1ZE1qZTJER1Fldm9pWVNKOXVaaTllaFZmWXlZSDRk?= =?utf-8?B?dVpKd2JGRk0wQnRrb293RUdYdTJrbkNLckE3SWF2OXdyMFBzclNJZ1RNcERW?= =?utf-8?B?aWZocHUvYjZvZ1llYkRFVEpzWk40WnhBUmEvRTJVYlNjTERJUDhSblVlbkFL?= =?utf-8?B?THRjbnJEWkxhYTJLMG9mNkdBYUhqSkNQTGZqU3hhWWwrbVpLYmVaZkFmNXlj?= =?utf-8?B?aURsRUorSDY2clQxdktYVkh2cXpZZUxPdjh1N0w2ZXF0bVJmR3Nhc2xTNXZS?= =?utf-8?B?aEs4TzF3ZzFwNyt6Vjdmb25kUnhETSsyYWhSbTJNWERhc1lzYnZWR0R0YTJr?= =?utf-8?B?azNqbHF1MjF5NHByUktiaElseDFvSmxoRkRyY25FUk9rQlFSSC9XZFAzT0Fh?= =?utf-8?B?SDNuVC9ycWJxVlVKMGtsOXd6cXl6REI3SjRBa3BTQi94R2c2YStFMUR6UG5h?= =?utf-8?B?NHlVekI0TDNnenFGLzYvbkdrdjJzbW9qUFhvVjdWT3REeEVTdlVUWUh2UUUz?= =?utf-8?B?Zk1ERDhEamErYS9VSFZIL0NpMGlwWlVEZ3RDZk83aTJqWXVwM2JQZXRFNjhl?= =?utf-8?B?OHR4Z09XcUlzYUdORjI2M3pUZkN2MjI4ejIwU29hTmJCcmVUdWVyOUs5T0Z0?= =?utf-8?B?YWc3Um5qSDJKTmE0YmJ0akZCZFpWdHVHbERUTVk3R2hXWTVtdnJvQ1Z0bFVQ?= =?utf-8?B?UTY3b1NGTFc5d2lXT0MwV3VnSHAvOGdGNEdNQ0lYQlJsUVpFUDlXVFR5M2Vi?= =?utf-8?B?emQ0UzM1YW5HTzZYNDVqaXcvSkZmeDY0OXEwSjZkQnFwbE9iR1pNTmY0UWRp?= =?utf-8?B?R3NBRlBwNC8wMVdTY1BNV0FKbTB3dU1ycGZ0aVpmWEhwZXdOUVJBUDhybXRx?= =?utf-8?B?UlZkanhDeU5iUVlNcXIvNnE2NkJ1ckNlUjJ2RVUzZ20wOU9JQjVtQ0o0OERV?= =?utf-8?B?UDFPZ1ZheEZVM2wzWm9KS2lnUTZxSmZpV1d0Y1lMUEVTZXdFL2VYVG1qNVp2?= =?utf-8?B?RWlSU0laYUh3Nlh5MWJKRVI3K2tXL1BPc0w4K0IxZjZLRFhsRlJQNWZlSlJi?= =?utf-8?B?cTlsYmk5VDEvTWlhMnhKbGl0NEJlcnJsaVltMHVDbng1anBPUXVTYVo2R2xu?= =?utf-8?B?V1N0UmtOKzVwQTZ1OTNGN1lkellMZFFDenJScERsRFhNckdqdzBnNUdpMFhk?= =?utf-8?B?bjZ2Smx1Y3I1SWxFUjVzYzBpM3BwNWI4UzNTUytwc0E1cTNjMVZCWVFmUkhB?= =?utf-8?B?KzNPZ0VHS01uSWU2ODlSTituRnJ2MTlsMUJlVWlEMCsySms5WHpla1g4TDJa?= =?utf-8?B?VTA2R1dTeW13cThScnNtZUZtbUlvbWRVZU9aK0NnSUNvZHpIUEJIQT09?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a45f6e26-7d8b-4f27-f5e9-08da2cd6ef33 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8616.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 May 2022 07:31:27.5236 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fjV7cji/sFlFizBHKp6iJVAbL/XMgvQez5krSPF7eGVpZn53aKcaM5z5t87LzvtCbPollC+56WdaQZUjTHzMeg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8770 X-Spam-Status: No, score=-3031.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 May 2022 07:31:35 -0000 PR gas/27217 Prior to trying to address PR gas/28888 I noticed anomalies in how certain insns would / wouldn't be affected in similar ways. Commit eac4eb8ecb26 ("Fix a problem assembling AArch64 sources when a relocation is generated against a symbol that has a defined value") had two copy-and-paste mistakes, passing the wrong type to aarch64_force_reloc(). It further failed to add placeholder relocation types to that function's block of case labels leading to a return of 1. While not of interest for aarch64_force_relocation() (these placeholders are resolved right in parse_operands()), calls to aarch64_force_reloc() happen before that resolution would take place. --- Pre-dating the commit mentioned above, I further question the block of code in aarch64_force_reloc() commented /* Pseudo relocs that need to be fixed up according to ilp32_p. */ Like the placeholder types added here, these are also placeholders which are subsequently resolved (albeit later, hence this being independent of the issue addressed here). As for the resolved types 1 is returned, I'd assume 1 should also be returned for the placeholders (in particular with md_apply_fix() being invoked _after_ md_pcrel_from_section(), which is the only caller of aarch64_force_relocation()). Then ldr x0, [x0, :got_lo12:.] would also be affected by PR gas/28888. Thoughts? --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -3097,6 +3097,7 @@ aarch64_force_reloc (unsigned int type) case BFD_RELOC_AARCH64_LDST32_LO12: case BFD_RELOC_AARCH64_LDST64_LO12: case BFD_RELOC_AARCH64_LDST8_LO12: + case BFD_RELOC_AARCH64_LDST_LO12: case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12: case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21: case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21: @@ -3130,6 +3131,8 @@ aarch64_force_reloc (unsigned int type) case BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC: case BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12: case BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC: + case BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12: + case BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12_NC: case BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0: case BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC: case BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1: @@ -3143,6 +3146,8 @@ aarch64_force_reloc (unsigned int type) case BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC: case BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12: case BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC: + case BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12: + case BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC: case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12: case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12: case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC: @@ -3652,7 +3657,7 @@ parse_address_main (char **str, aarch64_ /* #:: */ if (! aarch64_get_expression (exp, &p, GE_NO_PREFIX, REJECT_ABSENT, - aarch64_force_reloc (entry->add_type) == 1)) + aarch64_force_reloc (ty) == 1)) { set_syntax_error (_("invalid relocation expression")); return false; @@ -3776,7 +3781,7 @@ parse_address_main (char **str, aarch64_ the name in the assembler source. Next, we parse the expression. */ if (! aarch64_get_expression (exp, &p, GE_NO_PREFIX, REJECT_ABSENT, - aarch64_force_reloc (entry->add_type) == 1)) + aarch64_force_reloc (entry->ldst_type) == 1)) { set_syntax_error (_("invalid relocation expression")); return false;