From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2079.outbound.protection.outlook.com [40.107.7.79]) by sourceware.org (Postfix) with ESMTPS id EBA543858289 for ; Fri, 10 Mar 2023 09:26:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EBA543858289 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=l8sVfKOlK0uxQLy/EjYRvJtK4m2wCwx0+1sUX85aun6FJMSKNFLKy878xZjclEKhXmT+9I6tQSCP2w/8sMTPHKExZsovepm0S8sASPnOoy1+SNVM3Cy9B/ha+c4fSY4YU1CEg4EKtkN7GCOavBVrlYI//vTM8YYOFHPw0LSxZoZloVps5Kg8jeqW9ecwiB84xo2l1otQN36wobkCayoE8/d9/OCdeQpIxho3dv5cboFqMARcRQPj5i+eIuNzxFWYiRJ5eSWdSx65TYIA+4rCe+DO1/bwq6Wb4QM3m+SmKrPi6wc+HZLzfGSTit5cEsR1QVPKtsDTJ7Mv0jumochqCQ== 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=jTbiQWtqRErhRyfBlgptgsx4w5rqG6WuizcPQBuXAqo=; b=mvB/KYv/Vo8mJPfblhhq4Yh9O2imL8Fw5vAKFr9MIghNqZUpUiP2/IdqeawNCesx7zNrUdOIukMQlypXr1h294H5QmRbi2LUh9fEXtMLDOtraHolETb2SB4NJBIWRtC9fhD0XKxVHUz7MfSwFX5AgV+gH40O1qXA5Y0l95cE/HKlMh4mIacfPAZ+K8XOpc5ao2uy+CgZyrR1IdWbiJ56rQn0QfacBIFaGIs/oWhE0L+OVin1I3jJYV4rivuLJOZ7SLxKq9hX7JyJfVIIxBz+qTaE/lSNj53y6v+hSIppTlr58gqjBxOCohMBQywJy0OXHb1oZu53NlKaZ2aKP+k2iQ== 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=jTbiQWtqRErhRyfBlgptgsx4w5rqG6WuizcPQBuXAqo=; b=3rkB3GxLudkU4A6wgSyf5LI7hjieEVtuGT3qsjWP82XT5pWqWyzVTdi3kiPf59J7xuSLj+Gbgk3KJE7nSfIAtil3ANQH7+5CMuwvvxUgtXXCGC4XmKNJ/fPRyKLyC+qPuutrBUyVNPY/I5W7OU8K5criVv2bhv2hjMxG4wVxBc8pGRzvqSY9S3UkzI+fAEtzuMgc1OQmUK1c38dcM3pCuKjORLY1jETK3gw9fYkGmmlrn7+f8yh0oqcekH33KKpxECd5s/1edVbY+uXSLUlmBimk/ZaldAdonB4G9VzMyAYwSpz7HgNe3F/uZcZct7a8w3dOTSX7voW8XsC5HsO0Pg== 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 PA4PR04MB9464.eurprd04.prod.outlook.com (2603:10a6:102:2ac::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar 2023 09:26:02 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023 09:26:02 +0000 Message-ID: <366e4dcf-e273-a321-dd38-7adf4212c901@suse.com> Date: Fri, 10 Mar 2023 10:26:00 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: [PATCH v2 2/7] RISC-V: drop "percent_op" parameter from my_getOpcodeExpression() Content-Language: en-US To: Binutils Cc: Palmer Dabbelt , Andrew Waterman , Jim Wilson , Nelson Chu References: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR2P281CA0091.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9b::10) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB9464:EE_ X-MS-Office365-Filtering-Correlation-Id: fc61276d-7d83-4d6f-074f-08db21497728 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LsRVbRKj11zeo3bjZd0ugzbimsGESqGuSWTNkwSR5MK13bnbyt0Uc29yaZwLylTAm7fW3TH6q4QYYfG0yoVTPqe3G8o2mqvWjeRJF32Q6EFvgIzt1kufmscG+t4Hwc0gohC0BHQSZYPvCXjwGWpM42q8cNBcfqqV5I0+un42WZgVUFHDvve34/RxPwUWORbV5ZV7UF8akEpEdMUXZAHLpHO4V4Zb8JoA8i2C4nJTwqip6fhJjQ/5cYHu5W3LEACGRcuf5e6YZsInnFXV7Ti6d8hkKYT/3qXNvPZSRW+NFUV86a2p9jXsS+RXPVBTsb+po+/zvBP9Os/e5t9fwOOcABqaEx3co9uVwnqhwRmzmhVPTlIW8dVMe0l1VBlWUNnDWhl5HDY6XKyY/2PJq16RNE8PSw/giT73kvcqlQRvTsc8JJFuvVQuqTLAgJElslxcRQ0iQw9Y10M7mivmghP4k1+V23pzqR2hyJ2+MnsapW1BHGBseDRFPYLKVFnQHJqrjvvcX70Lc77WSm90gEmsrPZLmAPJC49ckcBnB5K7h2snUtjKOk+eVZcU7o7RByIPPC8ktJqkQAlSHP1YCP8AU6ZWGdwpgdA7H4tpMIginx4n0bBux/ShIQSivf+fKqbPswk/t0HzUKiN8T4mUE7V9uQwxJL1WylmdZiNyaUHf08f2M5/SiVIwByFh/pT1fza/QyGboojQep3DmjrBwPmzBi4u85YgOTA3KHiflidE6c= 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:(13230025)(346002)(366004)(39860400002)(396003)(136003)(376002)(451199018)(36756003)(54906003)(478600001)(6486002)(316002)(5660300002)(2906002)(8936002)(66946007)(66476007)(8676002)(66556008)(4326008)(41300700001)(6916009)(31696002)(86362001)(38100700002)(186003)(2616005)(6506007)(26005)(6512007)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OFg1UGZCM3ZqcWhzSHNkNGEyZm51MUNqYTJ2eUdZenR2Tmg4THZCbVAyMmpF?= =?utf-8?B?c1pJTEU5eWhWRXFPOHpEbnMwN1Y5ck1iemJMbFc4d0hGM0huNzZ1RURjYk9I?= =?utf-8?B?YncwdUtncEdXU2lxZmRlbjdIUU03RjErY29GNzJqUWZQKzJZOU05RVgrNmJq?= =?utf-8?B?Y29NRzVwdktYZmk5VnFvZU1PeWw3b1NKZHROMU4vWFgwV1VEbEVUNTlxSTdL?= =?utf-8?B?TndCQUEzQWRpb0ZNbTNiUWNjVDVSN0ttczFEY2s0OXpUcHV5LzZHbGd4R1Bz?= =?utf-8?B?VEpaSi84ODlrWmV5OEdoVDdWV1kwTjhvYXVlWEF2UGN2MGdTNzdsc2JKRGdJ?= =?utf-8?B?djVxYlVsVW9JWHFzTTlaS05Lc3JiMlV5cG9HOHZGMWQ2eVdZeFZjZ1FTdm9N?= =?utf-8?B?aVdmQnM4dmxyc0NCSnpXU0ozS0M0R3VoK3hDU2pUTVBJbDZQUmZMbThNWnB0?= =?utf-8?B?dGw0aFJVM3ptbzlFM1lxVW1WeUhoRzBxMDRlc2Z5TW5PcjNYSWZ6bUFpYmh6?= =?utf-8?B?VlZMYUsya3hJSGg4SnZ0T1NsdlNTaC9IR2g3L1RxeVNFMVZyOGUxMmxJemlT?= =?utf-8?B?UnZIblJodSt4R3dUTUZDTXladEdYZlRFcTdJbUdZRytzazI2WDUyRkJaVTV4?= =?utf-8?B?aWVRbzBEMXc4VzB5TXJHVGtWYXJXekhJRG9LMHVDWDBqSnV6U1lzdFQ5UWIr?= =?utf-8?B?M083L0thSHZJRW1wSFVQY1FyMFdNMlNLTGVjZm5PQWhwUVhSUWV0eVczR1c4?= =?utf-8?B?bG1zTE05YWZQT1kxcjA2TnBWN3V2ZXRrNElpTllNZ1JqTy8ycGJ2ZDFyd3pQ?= =?utf-8?B?dS9ZcEJ4V2prd2N4cUhuTGJ3NHZlRzgxRUNudG5KVTVyd2FmVlFFOWZhMUZP?= =?utf-8?B?YlM3L2cyNVEyd0NGcUYvQXkxZkZ4L3JuOHM4YlRKQ2gvZVYyRjdKaE1xNFZM?= =?utf-8?B?L014dTZIWHRnVGp5OVg1NEQ3NW9jZVllZ2FuTHJhZWR5VWZaNWpCdDBjeVN0?= =?utf-8?B?VzZmcXBiSDRsNktqNTE4ekhHVDVKS3VJSW9wUUY3Sncrc1d0MTh3bnFOb005?= =?utf-8?B?T29ndHplcmF4UExmQXI3R2xBMC8zR3plM2FPNElBN3lLZEs4WlpoQ1ZEUVgv?= =?utf-8?B?dU54U3Q2NnBnSnBibnM2bGQrdHV2cGtQUjRQUXN0YXFoOG1oT0ozV1FzVk9q?= =?utf-8?B?bktUNlQyaUJWQnAzTjc4djlkZmNKK1BlNHVMQkg4aFdRMUhUTHRwYWNkeFE3?= =?utf-8?B?V1NqRWhXZE5aOHdCd0MyNHhsVGd5YjhjcXQ5clFsRDVKR3d3c0NSeFBwV2pq?= =?utf-8?B?STl0dDhZRlFnQk1rOWpCZ05xY3hhUVRuTFZDdS8vd3dVQVJVOERMSDB1RzBY?= =?utf-8?B?ai9DWTA5c0Z2bjRiVXVMb0JSdlNUc0IxR3UzZ1dTbExORnY5SWNpUnFXV04x?= =?utf-8?B?MExxc1diVW14SmZkY1FSUkVVZnZ0M01JVzhiTk1LOWQ2UG91VVdvNjFUdGEy?= =?utf-8?B?VER3SWxwYVh2S3pZejhpZWNnclY3NmlINnkvWWRKakpJSUc3c3BXazNzdHA0?= =?utf-8?B?SURFNCtmNVpKSFJaUkt4YU9YZVB5OERoakgycmNrMlJUTklaVjVRMWkxOWZP?= =?utf-8?B?QjNyWXJrMkRrdHR0dm80YUducEt4NXRKRWUya2pFc05yMTBCWXBsd3NaZ0I0?= =?utf-8?B?TEMwakpiV2RLNUFNaXZNcWx2eG1haGRweXJDSUZjQ0w0ZFJCbnNEU08zK0pi?= =?utf-8?B?RXYwMUtCRFZDQnBKTzlqc1NoUG1hRndybi8zSkJjTmYvQzVLdWlrYm1id2R3?= =?utf-8?B?WXY2NFZiVHRpU09jL21yZjdONndUU3phM0hDcDlISmR6RVRhc0ljeldBQzFC?= =?utf-8?B?MHdsZFFIZ3JvZ3MwelVOQi9TWE0wNk1hNEdkNnRPY1VZOGlCbjdrUlQ0OFRa?= =?utf-8?B?UEJmSEF0TWlVbmNrWlFQN29GRy9HSTlUUEZTdDIrWHVqMzI5cXM1QTFaZThI?= =?utf-8?B?aXE0VFU4SWEvU1Q3VURGNkRhN3BBalNYa3ZESk5YN1R4Z09WcVdacHdXZmpS?= =?utf-8?B?UUw2dnhuOTNrTStCcWh0NHh2YmdvYURqdEFUZ3lvajlQTTVQYWlNTitySHpV?= =?utf-8?Q?UdOG8tYfbUkoOxvouDSPKlUNo?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: fc61276d-7d83-4d6f-074f-08db21497728 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 09:26:01.9748 (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: DtAoeJQMqg/qy+utXkyLRzYTRc1PJLcb4IEbWxD4wJE+7VSTwOI9yNuGp7b/qDzy9rf7DQP3iGRHYrBtv6pn+Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9464 X-Spam-Status: No, score=-3028.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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: Both callers check for no relocations, so there's no point parsing for some. Have the function pass percent_op_null into my_getSmallExpression(). Note that there's no point passing percent_op_itype: Elsewhere, especially when processing compressed alias insns ahead of non-alias ones, this has the effect of avoiding "bad expression" errors when another parsing pass may follow (and succeed). Here, however, all alternative forms of an insn type will again start with the same O4 or O2, so avoiding errors earlier on doesn't really help. Plus constructs with a relocation specifier (as percent_op_itype would permit) can't be specified anyway, as the scrubber eats the whitespace between .insn's type and the O4 or O2 expression when that starts with % or ( - i.e. these will be seen as e.g. "i%lo(x)", and riscv_ip() looks only for whitespace when finding the end of a mnemonic. --- There are pre-existing anomalies with redundant errors being reported, up to one per insn form tried for a single source .insn or "normal" insn. The change here merely widens that issue a little bit; the issue wants getting under control elsewhere (and centrally). --- v2: New. --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -2285,7 +2285,7 @@ my_getSmallExpression (expressionS *ep, static size_t my_getOpcodeExpression (expressionS *ep, bfd_reloc_code_real_type *reloc, - char *str, const struct percent_op_match *percent_op) + char *str) { const struct opcode_name_t *o = opcode_name_lookup (&str); @@ -2296,7 +2296,7 @@ my_getOpcodeExpression (expressionS *ep, return 0; } - return my_getSmallExpression (ep, reloc, str, percent_op); + return my_getSmallExpression (ep, reloc, str, percent_op_null); } /* Parse string STR as a vsetvli operand. Store the expression in *EP. @@ -3300,7 +3300,7 @@ riscv_ip (char *str, struct riscv_cl_ins switch (*++oparg) { case '4': - if (my_getOpcodeExpression (imm_expr, imm_reloc, asarg, p) + if (my_getOpcodeExpression (imm_expr, imm_reloc, asarg) || imm_expr->X_op != O_constant || imm_expr->X_add_number < 0 || imm_expr->X_add_number >= 128 @@ -3317,7 +3317,7 @@ riscv_ip (char *str, struct riscv_cl_ins continue; case '2': - if (my_getOpcodeExpression (imm_expr, imm_reloc, asarg, p) + if (my_getOpcodeExpression (imm_expr, imm_reloc, asarg) || imm_expr->X_op != O_constant || imm_expr->X_add_number < 0 || imm_expr->X_add_number >= 3)