From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2089.outbound.protection.outlook.com [40.107.20.89]) by sourceware.org (Postfix) with ESMTPS id 26F213858D1E for ; Wed, 4 Jan 2023 07:50:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 26F213858D1E Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i/rcAfch8puzFyss8/V4OVpKMca0pJwuqEhE4e26EN5902SJv5V6L4loE2quNmrtUcpD/N8ynYBhLgfevoXmifJL2beokFlL79DdIB+ZfllIoNGKn90GkC3F/Qz8gt5Eb3qciNfU5waH6U31ovVmj2ZvEEqsNRbLQB8mDHaBodov9JXYsqQHnwvCC6hs7E4Wk13MevoHdNc/EgNVkQb5kl9paXUqtS8XrMI5sjNi6YErltM7czgnhVGLSWGLVikcMM7+64nHoQoQE2ADqF24bAMIk8w7lMoRQb6XT1SAYEJcXOcBzPcUOElytcoyTg2ZW8SBpJJzETW1OVqWDEt0nA== 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=mkykAcGIGOm9sX0Ne8NLlQbZMgMMv9eVcpFLQBPBkXw=; b=AHTkYZCiW7fh1R+zDMWXHSu4scaZstYMgUz+3K+oVeecLlM10DcZ5BBz+PdiXFwCnmqnPj/bG7NU42kIwGAWEAR7B1OI7LBPJZe/xD3nuCGMJSri6+IqEv0GxM41j6kfNz/HPyDEZwCQOJhj7Szc56wu5LQcACCG2nkVtftaqotyv3A/0boqrw1Ytb5jCIUVBiX5GCsOepkD2s2SpbRasiKFioKfWZ4MinUimjWWmQe1/DbyjLw45UYo2aKpPD4XgEX60I7ody+CWbiRhkIuV/XXikMGkYaQd3oDrirYrGc1oABCeel5irF0mhj12WPshJY+36OPk6GiuOgqZrNg2g== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mkykAcGIGOm9sX0Ne8NLlQbZMgMMv9eVcpFLQBPBkXw=; b=4iqoqskuvJx6B9BSiQU/5VN2UWWRp19uAUI0U8bedr2p5CHXHgn93JMkTZqDKEbTn/B9ZM53yiP94ttWVHstrSoy1xz60ttPtyqvp+0nyCh4F3WpnQTUiuMq5QW5SAOSozJyBrA6lDV18N48xHOPB1vMqq/7QOWMMhe78389lLkOynxpP/cjhpDEfiXrIJzmqPbAt+sYJrQ8W32IcZ3TkA2pu+/tRarz4VtNUJkBBb19mq2j81c1PdgQFYKlY/YVoPA4lzrmvhd1azhx3olLM9dBgD8XwzPetkUmhP6+T/B+WCgtt3uUul/77grCOi1z7nk4H6ksQYVoFBU4gR8LRg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AM9PR04MB8585.eurprd04.prod.outlook.com (2603:10a6:20b:438::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Wed, 4 Jan 2023 07:50:36 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389%7]) with mapi id 15.20.5944.019; Wed, 4 Jan 2023 07:50:35 +0000 Message-ID: Date: Wed, 4 Jan 2023 08:50:43 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: [PATCH] RISC-V: fix JAL aliases ordering in opcode table To: Aurelien Jarno References: <20230104055936.1130680-1-aurelien@aurel32.net> Content-Language: en-US Cc: binutils@sourceware.org From: Jan Beulich In-Reply-To: <20230104055936.1130680-1-aurelien@aurel32.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0197.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a5::7) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8585:EE_ X-MS-Office365-Filtering-Correlation-Id: c9d21529-ea6c-491b-1c9b-08daee285d49 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8XYeXZHJaaNPFUrmNm6cBROX5Tt2Low/7FotkirPiYTOWrHWaDHQPjFeUgdxzWvFL6npFIP6VjMKbgAu2u8ybp1StvCnNeL9sSe6+0h1kPk2JJcNU1e5E/9KEfmj+gO1+1x7inLaGU9ZmfRTwjiUBwTakyW7Gskz9eQ3a0V7+Bz69him5MLDGpfLOvQnrVMAKztd8khJ3E+i+mCvzNhLeSsM2GhdtMum+n79hfWKLjYSCADKMJeQcjHQyoRjyIrf2g7EXfUROZYRPFvkD6PWzJ6D2sHweNjmIOnI98c4sn1xyUaZuUCgPiE3DAt5Zx+B6AfxuPWLRz26H84Hgd60JRNKiI8UkXu/icKNVNjQVURs5exorGvgQO6aKyw+vKN1XF2D9g0yL4ujanlQMBxBhNiC4975QOgda5x3iMrUQBqnjpDGseMmsXpX/owaOSdMesGjBO/NTE5RyouEVdPJbcnAwpkCEgaN3pF379V4hROfW0LLj2LmmOQ2ZrFUVaFbIGYZ8zgso6dJFHPi16PRd6OlkH7W9jpeqe8BmttlwO3w4MICsEGBP+haaINTqh0LkJX7jDSuB75QHOsLbhJ9UEFdSMGrDqEQKqIAUfsaKN9/GaHrzLHGRiLScrbWuleob2UoyDc10vZfAhWHv8H1Q54IFl4Iq44hgMXlY1Ncn/G5sLXdOk4RKRyp7/XpKdWn0Mrrrv4UYhlPVsYIATQpwcJOGiMp+UwU7qDB0OqSTzniF8zo8B8hp7Qq7nE4T0N0 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(39860400002)(376002)(136003)(346002)(396003)(451199015)(8676002)(66556008)(66946007)(4326008)(36756003)(66476007)(2616005)(41300700001)(6916009)(316002)(38100700002)(31696002)(2906002)(86362001)(5660300002)(6486002)(8936002)(83380400001)(6506007)(53546011)(478600001)(66899015)(186003)(6512007)(26005)(6666004)(966005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?T0FnTDdHNXIxUXVucmE2cXlEZU1QcDcwREZGcjJtd2M4ZTRvaXZhUUlYamNp?= =?utf-8?B?K2dBazVQb0xQWVJOdDBDQWJZQUtqbjFTclNxeTV5MmJtRlJKd3h0N28xbUhY?= =?utf-8?B?bytEV3prZjEzQ3pGVXZDaW9nMnJmWDd4a1FlSnVOTDRXK0lOWC80NzhBT0VE?= =?utf-8?B?Yk1yVXNKMHFmc2pTd1R6VHp5anI4eDdlZ3FnLzlyYVNyZ1RQbTUvVlpHd2E0?= =?utf-8?B?cXE4VHAwaWZLZUx5ZnBZTU9ZYjBxc29MdURLVExLTlBDRlhQdi9yWEQ5dUdZ?= =?utf-8?B?eFRHdi9yNncyOXJyQVZuRWVRYTZDK2FSd0htbkpDQ3l6QUZ3MTE2bjVaNEhj?= =?utf-8?B?S21wcHIvaGFmcGpod0I2dnJoUHR2UDJ6Mm1tNlo3WklZYkdxUzRWczFRMjVa?= =?utf-8?B?UjlGRndnUFBSMzVzTThVNzhWQWZqaGxBRXBta3BaMzBwT0x0Mnc3d3BpdEZr?= =?utf-8?B?TzlRS2YxNFNrb2duM2FTbnBKaW5BVk5wQ2s2OFNxdnpkb0w3RVJZN0hpemUw?= =?utf-8?B?ZHFNN2xLOGE5aWRCZlVyZU5tUk1rWTZSTGxqeG5BcGp0cWxCSjdvQWxnMmtI?= =?utf-8?B?RTdlTXFTUk5zSUU1VGVLaTNVSVNOdjVJaU4wLzBIbWh0NitlOVdJb3Exdmg3?= =?utf-8?B?Zk0yUVYvUHE0QjEzWkhoSTR6anFybHY4QmQzWUcvcW8wL1o4TGRMcGJrQUNv?= =?utf-8?B?WFJqWmptWVYxN09mSE9BVzIyLzhKWnZLRHNack5vVmlkam42a1d1OC8ydmFs?= =?utf-8?B?Z1dXNUJGM2V1ai9IdkhPMDlsa0h6SU93WHZ6dklHTVhxQWdleTU0RFI5YlFG?= =?utf-8?B?R0RPaTR2RG13azQyNlhEVjRJa1FqenFrdWNaNmhOY0xKMGlPTnRQckxOODBM?= =?utf-8?B?NHdVZ2thdDg3cmtmSWVQeWorcDJQS3JUaUUydC85dUpjNUxXMHF5K0hlMkpZ?= =?utf-8?B?eVZKbWNwcTkzcXVXZC94MzY2L2xJSTZqNWZ5aW5mZUFzVjd0b3Y1U2tsQ1Bh?= =?utf-8?B?Qmp6RytQNHUyOWZMaE5FVEhtOCtyY2lzZzE2TDB2dFJqSEkvOUgxdFQwK2x1?= =?utf-8?B?ajVWSDJpN0VRTEVIWTlHNEhZY1lML2J6anB6MGYvMm1zdk5QNHZSajFWZnRP?= =?utf-8?B?cXRSb2daYmtvMTZWdUY0SHZLRnIzLzY4aTN5dkJWUUxmNjIvZzU1NzVaeVRh?= =?utf-8?B?UUY4NkZkaW5hZEgxSjNSVjNPakNyMWtleTlnSGdoZUZFRmlTdnFLUzlEa3hS?= =?utf-8?B?VDFTVWNzNnh2M2o4NmYyUmkwVGUxdGU1QW0vbEJ0WWgvUnNoeGlqRjRhcENY?= =?utf-8?B?TjY3K2pSdGdkYmtiQyttSGNZUGFLcTc0L21xaHUrM2tCU21XUlRoaEZPRlh5?= =?utf-8?B?dDJjVFl1RlcrK0pGa0JyczBxWG5ORW5vL0ltaDRCYVViQjdjOFV3RmZUcDRL?= =?utf-8?B?Y0VXZWgxMlFaK2QzamtTNWlRb2FhaVlCeXJDRzFDckNBenVoWEhxNTl3MGo4?= =?utf-8?B?T21DRUtSYzdTYWluWkVzeWJnOXIwTlpobXhLdzlReEZxUDArUjhubUx6OXBD?= =?utf-8?B?MHFRMVBVZDYzMmdraGJpYUZ1QkVzSTFoVHB3WUp4QWk3WlExM0F1UlhranJI?= =?utf-8?B?UGhwZCtDL0hQT29sdEZ2UTVKNTZ4Nkw2YkN0bHRDcjFqNmo0eVgwUzVWaVIv?= =?utf-8?B?M0JLZXRSYmJLVHJOVDRrcTVPU2xnblBDT0luZ1VJbUFVdkhMSjYrYkxYZjBQ?= =?utf-8?B?b3hyMkwveGp6S3I1T1NFNjJQQ0w2eGFXaWV2ZHBUYk9qOTRCMTdUNmZEZEVK?= =?utf-8?B?dlN5VFM1Q2FVOXMwNHBTdkRVMXhFUTh6cDdMK2dRbkRjMkIyT2JydFVxaldG?= =?utf-8?B?TTI5YWNOdExVZjI1ZEJFblBDTXIwYmxqYmRtbU9hTnpGMlo2YlhWeHhHRXZB?= =?utf-8?B?ZFcwRjZKQ1lvZmFkNUs0aW1HTExaQmFuc3hOSkFoVTY4MWZIVXROVnVQUkdR?= =?utf-8?B?T3I2ODBLbDluY25HRjVUZmUxSXR6TDhTS2pSd2M0N3FnZXNOOEhCS0hpaXZS?= =?utf-8?B?WlNmV3oybDdyMDJRcXkrc1ZONVZjNGxRU1I2Q0FsS290L2c3Z1Q0U0hTNGM2?= =?utf-8?Q?Nn7KrhKWZID3a+OaWGu5Qhj1t?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c9d21529-ea6c-491b-1c9b-08daee285d49 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2023 07:50:35.9083 (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: lnvHFukDT/aZKplMRDfZN8F72qOuvfLjX42eYXCvjIQDLOqIchlk7Jj2v5p2etUm4F1BiE2hCgtoUkaPSMSSZw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8585 X-Spam-Status: No, score=-3035.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 04.01.2023 06:59, Aurelien Jarno wrote: > Commit 839189bc932e ("RISC-V: re-arrange opcode table for consistent > alias handling") reorder the instructions in the opcode tables, > including the various JAL aliases. In particular they are not ordered > anymore from the most specific to the less specific one. This causes the > form "JAL reg, imm" to emit a relocation with the register name. This > breaks various things like building Linux kernel modules. > > This patch fixes the issue by restoring the original ordering of the JAL > aliases. I'm afraid reverting the "offending" hunk is only a workaround, as it would re-introduce the disassembler side issue that the patch tried to deal with (and which sadly looks to not be covered by anything in the testsuite, or else you would have noticed breakage when testing your change). Since I expect that in the course of table lookup it is still the correct entry (in particular one with two rather than just one operands) which is used, my suspicion is that something somewhere makes a silent assumption upon the (original) ordering of table entries. It would be that place which needs fixing then; I'll try to find time soon to see if I can spot where that is. Jan > Tested on riscv64-linux > PR gas/29940 > Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29940 > --- > opcodes/riscv-opc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c > index 6b65296a3f2..89c6572519e 100644 > --- a/opcodes/riscv-opc.c > +++ b/opcodes/riscv-opc.c > @@ -340,9 +340,9 @@ const struct riscv_opcode riscv_opcodes[] = > {"jalr", 0, INSN_CLASS_I, "d,s,j", MATCH_JALR, MASK_JALR, match_opcode, INSN_JSR }, > {"j", 0, INSN_CLASS_C, "Ca", MATCH_C_J, MASK_C_J, match_opcode, INSN_ALIAS|INSN_BRANCH }, > {"j", 0, INSN_CLASS_I, "a", MATCH_JAL, MASK_JAL|MASK_RD, match_opcode, INSN_ALIAS|INSN_BRANCH }, > -{"jal", 0, INSN_CLASS_I, "a", MATCH_JAL|(X_RA << OP_SH_RD), MASK_JAL|MASK_RD, match_opcode, INSN_ALIAS|INSN_JSR }, > {"jal", 0, INSN_CLASS_I, "d,a", MATCH_JAL, MASK_JAL, match_opcode, INSN_JSR }, > {"jal", 32, INSN_CLASS_C, "Ca", MATCH_C_JAL, MASK_C_JAL, match_opcode, INSN_ALIAS|INSN_JSR }, > +{"jal", 0, INSN_CLASS_I, "a", MATCH_JAL|(X_RA << OP_SH_RD), MASK_JAL|MASK_RD, match_opcode, INSN_ALIAS|INSN_JSR }, > {"call", 0, INSN_CLASS_I, "d,c", (X_T1 << OP_SH_RS1), (int) M_CALL, match_never, INSN_MACRO }, > {"call", 0, INSN_CLASS_I, "c", (X_RA << OP_SH_RS1)|(X_RA << OP_SH_RD), (int) M_CALL, match_never, INSN_MACRO }, > {"tail", 0, INSN_CLASS_I, "c", (X_T1 << OP_SH_RS1), (int) M_CALL, match_never, INSN_MACRO },