From patchwork Fri Mar 10 09:25:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 67293 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp769680wrd; Fri, 10 Mar 2023 01:25:43 -0800 (PST) X-Google-Smtp-Source: AK7set/ArLxu6cE9oSH3rlV89HcKU0PnugztEuTF4jMvoxJpzzn0s8NIKd9ybk+5HoDR0UCCIXeN X-Received: by 2002:a17:906:ce46:b0:8b1:ce91:a40c with SMTP id se6-20020a170906ce4600b008b1ce91a40cmr21865046ejb.53.1678440342938; Fri, 10 Mar 2023 01:25:42 -0800 (PST) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id z13-20020a170906668d00b008e1dd2b8defsi1668573ejo.685.2023.03.10.01.25.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Mar 2023 01:25:42 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=FG5Gz2ac; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B39C03858C60 for ; Fri, 10 Mar 2023 09:25:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B39C03858C60 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1678440341; bh=HHJOaQsdapjr5o7eo/aWz3GyqFoT9Hq5g62fiAe1+uU=; h=Date:Subject:To:Cc:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=FG5Gz2acVD5PGQ7qyHkUbAw8SOriyGwcLQnhb7AVRF2oO7N/JZsfh5hiM4aHtE5ll 0kSufaRISdNnRXJItjjs1x/qkCMcR6rUK6hTpMNWZmkwIWXG4fyEK9JoYRCAVJLx/P GzQ4URHfwS58Cp0EoaATOuBAqQPO2jkPuZ/yW7cQ= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2054.outbound.protection.outlook.com [40.107.7.54]) by sourceware.org (Postfix) with ESMTPS id 7FF133858C60 for ; Fri, 10 Mar 2023 09:25:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7FF133858C60 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VSi5s6skSIR6mJ1FTQURvkv89WtsOcGilQj3f5a7slOyeelWSmlUn0w0C1BQyBRcyA2H7bdpWz6QLJV1WFgdcH3tmWrgH4MFKDGbHZVeKs1mwxRU/lfRSJ8tXqu3Qb0HakdWs8W2p//t6MHGNqb4yQVGbtQXOZOYxz/q70hr4FJbeacG/vndSUvrYVGL+JAiIcutMjsKu1jyqsCPdAUkjg/T7NB/ICg6+a6tmDQf6rcSkSMqG7bexDlnyxfjKF7CA1XY0CjBH69H5Ccz3ZbHbBhBUjRZeJGufYgGT8BI2IvPv+zb+Swsap+QgKM1AUaIiA5M1m1cqdVHfBUL3o9ujw== 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=HHJOaQsdapjr5o7eo/aWz3GyqFoT9Hq5g62fiAe1+uU=; b=mYOgO9zrK2/vO6oo4LBfPK6wjuxxhT2Dy/2ev4/IGEjPxhyqHsynU6YFJQIrbLNTaJwaq8Lbgh3/fQI/6mmGkbwdcUBzoOsgXO9TMpWXH+6kDzmZG6YNBgmBV3WVTU/JNKP9MLd7xWlVUIS0exZxeIyCkF1mV0J+0MGKpEUoUMW14oRZrmvf2wJkrvVjKKLaYk19HRnRw9ptpX7RnD3ufdmBrC1W6oFGX0niRCYV5e2hyIPHlbpbdINeT3Q8ibSD8wxeTzcwQ5LOZOU7LZzUHKVqUsNqeOOZ8NrUrWaLQ4Uv/CLq/aL1xJjrQabDwNWxj4eR+lKMcRx7RZ8Ybi+75Q== 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 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:25:30 +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:25:29 +0000 Message-ID: Date: Fri, 10 Mar 2023 10:25:27 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: [PATCH v2 1/7] RISC-V: minor effort reduction in relocation specifier parsing Content-Language: en-US To: Binutils Cc: Palmer Dabbelt , Andrew Waterman , Jim Wilson , Nelson Chu References: In-Reply-To: X-ClientProxiedBy: FR2P281CA0093.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9b::18) 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: 8793e4ea-6d6c-423d-62b2-08db214963ef X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: scf8ZdcHE1LKyt/xO3/Q1MyMixxCPcqHzfdqlLZJ34ztKLFI3i5EBV3daQeervRMHUjI1Vj5r3rkpH/jATC856SIgCebvAqgU/9+2ALcuB1ZoNJ6hOV1buJkqBb4LZWCi5Kr6UF47eJJXB9jZmJhXxx1XaUwnIfvjC342k4Zb5wJb2akNxna0190lGcLZe3ahZU7/YhrQKGvrHVcNOEzZEdjAnl54sQFoKJwYHtDw7I2T/L5AUaPUlqjZH5IzZPzowFaN4QIsDqM08Efaa9PRcVTV+9RQMRXi1LUPjZyIYOCqQRr+DtH25EnZR9bTLe2x1ClQJMSxD+EEPin9TtcLFpWMO7msM7iuvnmfPysRrBigURr5E0YPCy4a7Om0YxnLfzoS9DAw+baRseLc5tXW+cHZ650YjWibM9uDJGiTxqA5Dzl/weXpzzTsMKfLQK8HfhZD5ZQO3kz9nFU8cBNFtaVioBAOxaGDKH19jbiEBg9vziYoh9MXwjKduzns3c1DINuE8vEwPIX+6+ccnm1/vQyGenrZFhXZ6BX59DCPeT5vX7yfOoHku+0cSP+FDR2ppIEBe6H99WKtHxeEUFrT/v4ZSdX0YRSshbJXGjHybwApDPvSj6KXLpVE51PzZUlbaKKc5O18I0YD1uwHPYl2NQHePIQSTybjkZd0zuE7Gt47dBr8RMTYWXUi07s3sZnV0XPMB6087mg1ol48UkFoY7n7Z2pbS6ZdtxAYLgicIE= 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?q?bftPsLI/pWX47nj3K4MFHDxCKkTZ?= =?utf-8?q?aoXTgaoH3Fx7k02yXax4qh/dyFa/kt8kjVe81WzeeKf68TnqSMQ9whMHxrDyNC2l2?= =?utf-8?q?WygvisKMlcV2oL/ORIkK+KDR3QA9gnsOi2vech6FfUrt0zarCvEfUP1FAifw0YRzI?= =?utf-8?q?6r4ErRmW8h5XDJ1ihNxemLpAFxRPlHJYYkiqI6OumrsHNaG69jXmkkgpD+mH0dE3P?= =?utf-8?q?C8T9nO044e365yRPzhrbj3mbky+DuZ7R6ljxsRYl0adjc/bTdUt9mG/hBOtDzagtQ?= =?utf-8?q?8U9WGNOKH+3ED33fB4yR97T2G4XyEcrKht5QtMNykx2wf4fV7Gx9klOBpswob7noH?= =?utf-8?q?y92d+elOt6zHjtGNGen6MfNtZSlPB29RbyQKzicqZEp9HXq3tSb5MebqUz9OQYp/2?= =?utf-8?q?dYgTJq3fes6iOhtb0Sg3VwVVlPxSzi3wgOMPZQbXb4i3+8BOBZmt/1ERlXTvg8xsL?= =?utf-8?q?9frkkPPwTFPWTQK9plRPRY7QAEuu5hUzCYctkOIQCAamKpS9RbPXmVIds7/m5V2RQ?= =?utf-8?q?XTAKZb1FlNrqmkrYNhdYeXDOxGMDBPEs2rIuwcjVNd+i76NEuTuzWG5p7Rw8EYiak?= =?utf-8?q?EoWCwpWi6rzchY4638bSk6in92mY+bOGzPoz0dfUsIk8TjeBat0tg0HsX6gojytbz?= =?utf-8?q?lDv6afQNU03bjzvz5V82FAf+YpeOEScDOKuY2B6sWWST+tLdjPxGLu1+9rpCZA9Mk?= =?utf-8?q?FjvEyJnFbyoEt9pPXlPCIrkB+fdCWIyUnFrAxCSv7bMsaMsP7QbsErQWpMEoHYaKU?= =?utf-8?q?PpA6uSVbt7eHjI1KCma1LZDlsbEaEJ5f3uTz9RC3q5Z/jzaFY2EGY8BstGEWL7GNm?= =?utf-8?q?oJuun3IH+GHiytWXuk77bwO1sLlN8FrFMajW6aSe370By/pWYPC3M6q5XceBsdqJz?= =?utf-8?q?HOIi4XQic6DbEUzV/yOPkxSC3tom5uic2DAv5eR4TPJO7owC9tEows9Gwa5IKRSp5?= =?utf-8?q?H7wM34KT1DQffVZ8xh89xsFRM39BimWhFXEIxdAKEPbs6MwCRdMowlZldAP6n7SX6?= =?utf-8?q?oIbXMEgtMNWdGZEcCA2gOS2bfFlWTPS8BHf11ptHUmpANAbGPB1pqgw334IeihZSx?= =?utf-8?q?zswNMGPnNvPeHdcocwoKa7E6JLaYQpykDHDDjMqwqTkxgjCCx867XwQTW0HEJxiza?= =?utf-8?q?HpP2noW4EeNzW17DR8CgqIXtoaXcs5ChBqIHKIt+/pY31IdiLuNq5kd3fvybFZ/BY?= =?utf-8?q?2vkgri3jj0S/xPimkdNqTA6PE7qUkW0W2Tlk/SggXDAMDDWbcHpqzw5lrRlLkEKw+?= =?utf-8?q?I4xy6nw0Cl8rfMc0i3VOTvgu/iUOrfJ77U6xTvVXX8An4qojk9Tk7Jt0nLAShdvI8?= =?utf-8?q?7XU3xEIGDKvhQhBot2kFmFFdDKrS8IXgDl5v3O8lduPFbm8KfiLAvlJITnID0jkSf?= =?utf-8?q?mc/6XcteNTYXc30+A4PYnqXDhApyDbbbSbidvOv4y2gLfOtKLtLsvlgB3Bhca0P3s?= =?utf-8?q?TW90gSVXo0Ubc7KzBZoOZeJb9N+m6PJpsdtP6fJczc/06+XNYbwvZFpqHCMzb38r6?= =?utf-8?q?AK/HkZZQemT9?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8793e4ea-6d6c-423d-62b2-08db214963ef 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:25:29.7425 (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: Ex0BHMsWlzLaKYO+cdJ2K7k529xvw3adODfNJ3DdK+CQBuBR1eLauHJ5H+qF//+fGKeBuetu3JcofviKhyVv1Q== 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 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-Patchwork-Original-From: Jan Beulich via Binutils From: Jan Beulich Reply-To: Jan Beulich Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759972260928376399?= X-GMAIL-MSGID: =?utf-8?q?1759972260928376399?= The sole caller of parse_relocation() has already checked for the % prefix, so there's no need to check for it again in the strncasecmp() and there's also no reason to make the involved string literals longer than necessary. --- v2: New. --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -2135,34 +2135,34 @@ macro (struct riscv_cl_insn *ip, express static const struct percent_op_match percent_op_utype[] = { - {"%tprel_hi", BFD_RELOC_RISCV_TPREL_HI20}, - {"%pcrel_hi", BFD_RELOC_RISCV_PCREL_HI20}, - {"%got_pcrel_hi", BFD_RELOC_RISCV_GOT_HI20}, - {"%tls_ie_pcrel_hi", BFD_RELOC_RISCV_TLS_GOT_HI20}, - {"%tls_gd_pcrel_hi", BFD_RELOC_RISCV_TLS_GD_HI20}, - {"%hi", BFD_RELOC_RISCV_HI20}, + {"tprel_hi", BFD_RELOC_RISCV_TPREL_HI20}, + {"pcrel_hi", BFD_RELOC_RISCV_PCREL_HI20}, + {"got_pcrel_hi", BFD_RELOC_RISCV_GOT_HI20}, + {"tls_ie_pcrel_hi", BFD_RELOC_RISCV_TLS_GOT_HI20}, + {"tls_gd_pcrel_hi", BFD_RELOC_RISCV_TLS_GD_HI20}, + {"hi", BFD_RELOC_RISCV_HI20}, {0, 0} }; static const struct percent_op_match percent_op_itype[] = { - {"%lo", BFD_RELOC_RISCV_LO12_I}, - {"%tprel_lo", BFD_RELOC_RISCV_TPREL_LO12_I}, - {"%pcrel_lo", BFD_RELOC_RISCV_PCREL_LO12_I}, + {"lo", BFD_RELOC_RISCV_LO12_I}, + {"tprel_lo", BFD_RELOC_RISCV_TPREL_LO12_I}, + {"pcrel_lo", BFD_RELOC_RISCV_PCREL_LO12_I}, {0, 0} }; static const struct percent_op_match percent_op_stype[] = { - {"%lo", BFD_RELOC_RISCV_LO12_S}, - {"%tprel_lo", BFD_RELOC_RISCV_TPREL_LO12_S}, - {"%pcrel_lo", BFD_RELOC_RISCV_PCREL_LO12_S}, + {"lo", BFD_RELOC_RISCV_LO12_S}, + {"tprel_lo", BFD_RELOC_RISCV_TPREL_LO12_S}, + {"pcrel_lo", BFD_RELOC_RISCV_PCREL_LO12_S}, {0, 0} }; static const struct percent_op_match percent_op_rtype[] = { - {"%tprel_add", BFD_RELOC_RISCV_TPREL_ADD}, + {"tprel_add", BFD_RELOC_RISCV_TPREL_ADD}, {0, 0} }; @@ -2180,14 +2180,14 @@ parse_relocation (char **str, bfd_reloc_ const struct percent_op_match *percent_op) { for ( ; percent_op->str; percent_op++) - if (strncasecmp (*str, percent_op->str, strlen (percent_op->str)) == 0) + if (strncasecmp (*str + 1, percent_op->str, strlen (percent_op->str)) == 0) { - int len = strlen (percent_op->str); + size_t len = 1 + strlen (percent_op->str); if (!ISSPACE ((*str)[len]) && (*str)[len] != '(') continue; - *str += strlen (percent_op->str); + *str += len; *reloc = percent_op->reloc; /* Check whether the output BFD supports this relocation. From patchwork Fri Mar 10 09:26:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 67294 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp769832wrd; Fri, 10 Mar 2023 01:26:16 -0800 (PST) X-Google-Smtp-Source: AK7set8wRB4zXGiaPhy1BJQ+8PwDssPyIG8QYQiQbWXsuUdIObQr1CK2c6Lgni3knFZSzswMex1T X-Received: by 2002:aa7:c508:0:b0:4ad:7a9f:a9f0 with SMTP id o8-20020aa7c508000000b004ad7a9fa9f0mr21853823edq.22.1678440376093; Fri, 10 Mar 2023 01:26:16 -0800 (PST) Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id d1-20020a1709064c4100b008d0dcf4dd09si1508012ejw.406.2023.03.10.01.26.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Mar 2023 01:26:16 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=UdgiTawq; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 688E0385483F for ; Fri, 10 Mar 2023 09:26:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 688E0385483F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1678440372; bh=jTbiQWtqRErhRyfBlgptgsx4w5rqG6WuizcPQBuXAqo=; h=Date:Subject:To:Cc:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=UdgiTawqKfiFsNyOE6ocnRpfqYI/rjcdJ+1hy2yuXu9VTmfs9XvdqhWGbJsa7s000 nbXWJaRdG+FNcW//d8YadKLQQMuRgQSB3FdysJ3qoyoYRK+eMthE1NO8Yylx6mV0v9 KQ4wHc9E7fZc4kYlgjxmNpOg4TP7bgiWnzMkt/q8= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org 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 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 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: In-Reply-To: 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?q?8X5PfB3vjqhsHsd4a2fnu1Cja2vy?= =?utf-8?q?GYztvNh8LvBmP22jEsZILE9yhVEqO8zDns07V9rMbzbLlW8wHF3Hn76uEDcbOHbw0?= =?utf-8?q?uKgpGWSiqfden7HQM7F1+coF72jQfP+2Y9M9EX+6bjcoMG5pvKXfi9VqoeMOyl7oS?= =?utf-8?q?JdtN1N/XX0WUDlET59qI7KNwBAA3AdioFMm3bQccT5R7Kms1Dck49zTpuy/6GlgxG?= =?utf-8?q?PsTJZJ/889kZey8GhT7VWY0N8oaueXAvPcv0gS77lsbJDgIv5qbUlUoIXqsM9ZKNK?= =?utf-8?q?srb2UypoG8vF1d6yWYxVcgQSvoMiWfBs8vlrsCBJzWSJ3KC4Guh+xCSjTMPIl6PRf?= =?utf-8?q?Lm8MZpttl4hRU3zmo9E3YqUmVyHhG0q04esfyMnOr3XIfzmAibhzVVLaK2kxIHh8J?= =?utf-8?q?vtOSlvSSh/HGh7/TqySE1Vr8e12lIziSRvHnRhu+xGwTMFCMyZtGXfTEq7ImGYG+s?= =?utf-8?q?k26X52FBZU5xieQo0D1w8W0yMrGTkVarWzHIDoK0uCX0jJuzSYstT9Qb+3O7/KaHv?= =?utf-8?q?IEmpHUPcQr0WM2SKLecfnOAhpQXRQetyW3GW8lmsLM9afPOY1r06NpV7uvetk4IiN?= =?utf-8?q?YMgRjO/2pbvd1rwzPu/YpBxWjkwcxqHnLbw4veG81ECntnJU5rwafVQE9fa1FObS7?= =?utf-8?q?/g25Q2wCFqF/Ay1fFx/rn8s8bTJCh/eV2F7JhMq4VL/Mxu6HXtgTjy9X54D75oceY?= =?utf-8?q?eganLraedyUfZ5jBt0cyStW6fqpbH4l6Kj518zHGT5JKuIIopQF7Jw+sWt18wnqNo?= =?utf-8?q?M9OogtzeraxPLfAr7GlA0/3Gze3aO4IA7yKdK8ZZhCVDQX/uNxSt66pgJpbns6ld+?= =?utf-8?q?tuvpkPR4PQstaqh8mhOJ3WQsVOjnKT6T2iBVBp3N78v9dfcJ+Pe4uLBH8hWQ1HTLt?= =?utf-8?q?pacdxQ7WSjEhWdNZ8wBwC24xlTgyb8cqt9rQlD5JGwwsCRxPpWjjI9tt8YFQgBMk9?= =?utf-8?q?jBgNqcxaQTnLVCu//wwUARU8DLH0uG0Xj/CY09sFvn4bUuLoBRvSTsB1Gu3gWSlLN?= =?utf-8?q?Fv9IciRqWWN10LqsWbUmxJfdcQRREUfvt3MIW8bNMK9d6PouUWo61Tta2TDwIlpaX?= =?utf-8?q?vKzYz8iecgrV76iH6y/YdJjJIIG7spWk3stp4IDE4+f5ZJHRZRKxaOXePy8DhjH2r?= =?utf-8?q?ck2RTNIZV5Q1i19fOB3rYrk2Dktttvo4aGnpKx5tJEe2kjEsNr10BYplwsZgB4LC0?= =?utf-8?q?jJbWdK5AMivMqlvxmahdpyrCIFcCL4dRBnsDSO3+JbEv01KBDVCBpJO9jsShPmaFw?= =?utf-8?q?rn/3JBcNf/C5KuikbmbwdwYv64VbTtiSOc/mrf7N6wTSza3HCp9HJdzETasIczWAC?= =?utf-8?q?1B0wldQHgrogs0zUNB/SXM06Ma4Gd6tOcUY8iBn7kRT48TZPBfHAtMiUnckZQP7oF?= =?utf-8?q?G/GI9TPFSt2+Xuj329qs5A1Ze8Hiq4TU8Ia/ST7UDF6Da7pAjSXkvDJNX7TxgOVqW?= =?utf-8?q?ZpwWfjRQL6vxn93kM+Bqht4xvbgoaDjtATgyoj9PM5PaiMN+rHzUUdOG8tYfbUkoO?= =?utf-8?q?xvouDSPKlUNo?= 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 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-Patchwork-Original-From: Jan Beulich via Binutils From: Jan Beulich Reply-To: Jan Beulich Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759972295938678880?= X-GMAIL-MSGID: =?utf-8?q?1759972295938678880?= 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) From patchwork Fri Mar 10 09:26:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 67296 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp770107wrd; Fri, 10 Mar 2023 01:27:13 -0800 (PST) X-Google-Smtp-Source: AK7set+h7ujQDTa007IPcTPkUsKw61ZrW4dsVbi9WSsuinlC/Fgk4L4p/AJ5+QNbnz8Z2aXme+mh X-Received: by 2002:aa7:d0ce:0:b0:4af:61f6:53c4 with SMTP id u14-20020aa7d0ce000000b004af61f653c4mr24418307edo.32.1678440433764; Fri, 10 Mar 2023 01:27:13 -0800 (PST) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id r21-20020a170906705500b008b17b56c4d1si1577277ejj.1000.2023.03.10.01.27.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Mar 2023 01:27:13 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=TszugHWq; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8CF71385B51A for ; Fri, 10 Mar 2023 09:27:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8CF71385B51A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1678440432; bh=PiyxKJzXtkUYSqlI3A4AkT/RBrVoctPlsL6qnF8eqbQ=; h=Date:Subject:To:Cc:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=TszugHWqdPPLt9Rmvk01JmloS/y70Ih5uad2PsrYpnvxa7Q6QdqmBJiywQkcYuJzl Jus5Xi3nxgTZj4U0t2q1lyH1sFqXLi6WS26oIPYTnRmKn/Bhc9gaQ9IUnBNzZM7yI0 A9bgb7UWKPYxpwbzfD9L2cnaY/wI8Q7tf9uE3Qxc= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2069.outbound.protection.outlook.com [40.107.21.69]) by sourceware.org (Postfix) with ESMTPS id 3E5C7385040E for ; Fri, 10 Mar 2023 09:26:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3E5C7385040E ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lUJNQon99Yd59MHheH9QpU16J9f89VGhvh5mJ4wcQv2RV6sEohBYbc0VYnKE5yzX+8Or/FDhcwB2d8IU1H0sfaCU0V+wGh7FAK6zyMjknSB6bMS6ZvhgIlOoKFxg1J9p1eedwWEjYfyq2RQ/bPaV0+Bup//oqa7FAdbMD9ecxavNxcHrsPc5GNBWZOYU6/pwRouWTSgE28DJW0ZGSJH20zlD5vJSPwyFM6+GCrztj4WqU1+0Me4MplExzj7FZHm6MWZGGyMsysQa/jGLoNPuX1d0IBRARO6OILrtI3EjkO2EwiWR1f2LZr0Gagrd4l70DDwLZgt2bvEb0kSO6ccEqg== 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=PiyxKJzXtkUYSqlI3A4AkT/RBrVoctPlsL6qnF8eqbQ=; b=NomKhd0CSPTGVcaFdRixTGKd6W8rtymMItha88KA2mV8rLFeLBlJpg8/CmamPBZAieBFK6u4u2J6EuxKMkd4tpBf/WSm9mIHI4ylfOLr+LFaSjaiVSvtii+8++0YpZdllQ+RfA6xdRAaf1/3kKZzVB5WQ6hypC/lq+czPdSqbMHXGGdfp6KPBYpTuE3TNy1DOz+XoFF9ELSsqLIUj65sTnblR+xb12wJKYN8AM+UXRKcmSaIkHaY2broUd1fQUzbj5xPY7bicF/BVh4yfwpzvKRjVk+9JwqbcLman6Jea2K7cwZsI/127D43pJ6wJdsSrlU2iYrwGJeBqOxeZgtYPw== 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 VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by DBBPR04MB7642.eurprd04.prod.outlook.com (2603:10a6:10:207::9) 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:28 +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:27 +0000 Message-ID: <5352e5fd-d1c5-4267-c802-73d6074e80ca@suse.com> Date: Fri, 10 Mar 2023 10:26:25 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: [PATCH v2 3/7] RISC-V: avoid redundant and misleading/wrong error messages Content-Language: en-US To: Binutils Cc: Palmer Dabbelt , Andrew Waterman , Jim Wilson , Nelson Chu References: In-Reply-To: X-ClientProxiedBy: FR2P281CA0015.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a::25) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7642:EE_ X-MS-Office365-Filtering-Correlation-Id: d5e2ed0e-7e33-4166-2556-08db2149867c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Nbl4Yiq98kMiZASwHVyGgCAuLbBrraCkW12EBLqVkust/2MlvdbH+haI5QoS72lC7H57JuRLc/r3pM1deL4rTWSW0il5Of+IyYiG0xGLjvq7En4Q8GdG89gwXQMaY31FYcf6te3vtak6Te90cx7UuKU5KzJKq1P7dM4sQxspn4z9OLAPmGo4PIomcAwD3kB6kw0xMSKtJ1fPgyqt/Ul7hSY0aqAhfXOTknQ1pG1NRt/bACx8s44aG1AcBSIM2x7jzNvo5S+YHADFjnoE5/u9QVmFhKWecCkGVjKDOkqC5fxlzZ/gvmp+FDBdlqxq1WRl8JM5L3VzUcyw+6t3Z3ghnor25Fhq3UfSgB4foROEsik2f/0f37s2uZxtBzA3dIxMDqcR4tPqYWofOSN8VFW4ZgI9f/qjO5/fkyehMHooBYP5FLDjyuWW6t1Nty4n0qmgCTI/W8+RkwMmKFJqquujd+Twu8MwEr6OzSSmPZtJs8r2K+R5J1DD+ihvXBzpIrG5mi5aagiAerlOUHW2zZApTSnF8BdNYAkyrfVXOFuHdb8RSufze2dxvyAg5nsfk0onDKX7WZL0szz0BOBvu9pdgk/ndo77JWYvJITjDKElEW8DeTzjz+tJWMkhN8yef+ApM81zUfV/8Wbp06A22l0y/yjWzbDpyk2Lct7VxK+wt0AH4z/RAXEwgmYeNtl9rld8wqLQCAY+jFQVoLrtO4lbOL6NPCpbN/N6viLtVbWJ9aA= 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)(396003)(136003)(366004)(39860400002)(376002)(451199018)(31686004)(83380400001)(36756003)(478600001)(54906003)(38100700002)(316002)(2616005)(6486002)(6512007)(186003)(8936002)(41300700001)(26005)(6506007)(15650500001)(66946007)(66556008)(8676002)(66476007)(5660300002)(31696002)(4326008)(2906002)(86362001)(6916009)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?TF7Qg7voExbEmOQ/ZScSrVS4zLtQ?= =?utf-8?q?rF+5/VxeNvVYWXsH+Z2tUwZpdIQ3V47p01Eh6bDllH4enKtUjKDtD5E096ahDQh9r?= =?utf-8?q?V6xua9DvzY16WRvx7Z8hA2e5i4VQDx2SGac36E/sIYulGK/Fc1gKxSuUTXzxvh1vF?= =?utf-8?q?EzsWMZGynUsRqLkC2lzdOUD15XTgUgDBVHr3f1dPgGGSyEQBzllA2dkVP1OXiD5ac?= =?utf-8?q?Ucr8DVXUyTml8/rQWpnsaTXNSF/aCH8y2Bwa4X5h+R7fINWQbw0fjr0FIERiAzgM7?= =?utf-8?q?EgN7BWay6cONPtxD83ZXtlFn7kt4klPocbPKQFwxRbLzwVbgIaA1VJUN1DA101jC1?= =?utf-8?q?jeoxgFgWkDuT0GNb5tUERx2gPwQOmqlA+JQKH/lIaOrPmQyZxSa+0YfacAuNJcg+z?= =?utf-8?q?wM9+SvYJ/IsRv6L5Hackowb726dn8vAxPjWbq4PFvlPPt2T9QmqN159pilPmmxbms?= =?utf-8?q?MWW9Gn8AILSax0DZjo6IoANMgvQJyzNRkP+DaL3wXBAIQ4l7yVHDKklfNhTci/qs7?= =?utf-8?q?1ern+R43+i5kNNOohI12j1KKrY79O1dRBwNPOmjgYY6MgrxXojbW+vewshuMpcZqK?= =?utf-8?q?+t5zvKEQQXSdY/kX5jlq6ZEnzmuyZ+mCzJGNCfh7UteHmnPLQs8/oL5YKxstkwanD?= =?utf-8?q?/b02G/7rY8YQUoB8IEqb/NG0F322XOgtdQX8jW2QvGFJBBmUtwJejF4lLfLUClMcK?= =?utf-8?q?jfwhykVSNTTM8m/PB5e+b7BRrXTY4vbubCYVBqMqPpDMaexULx6W87SA7rS2iVGPC?= =?utf-8?q?KF9WrU7TN7AaAO+Qe588RtJXN3PwMcLxVzRD7T12Ky9I1oxY+4Vrduj1nuWB0OSEa?= =?utf-8?q?WpmfMAyDkOB+h2jjjLso+iAg40JZT4ANORyGqQRaN+F/QyFJMIvlWT3/j81bqacfE?= =?utf-8?q?m0hZ82WdWV7Vs6JR6aAPvB4ftieHEksD9AHEDLOVwmOeRIln8GGg3HLoXko/uoZo8?= =?utf-8?q?awVZi6ycn72EANPyJ6djHp3RLFefQQlbzR37Dx5nntXnBdjtt41z70bEJnufD0nbr?= =?utf-8?q?yQ2BgF+mmdCl8Yar5GlK3+1rJtsm0KaxkLQLtqj7pDCBNiqcZwX9omtO/jdGW0NR5?= =?utf-8?q?uNuxGsY1GWdbim1q+jLKd8e1aMkgDXEyn64JaJP76hvJq7G+BgiovvDLTRH7imKgn?= =?utf-8?q?PSFUoZigtAaU/9WA6MGW1WeGr1I1kR0nsPrMOxJZrvDSYJgvVCTfQOMfwjm4YkUu9?= =?utf-8?q?qPdSRn0RC0P0EUiUGz477xG+bE6Q9PoQkv3mfkpJo+yPk1TMwWjV0b2o6k047+YRb?= =?utf-8?q?iMbqHLbv1riPoxW7uHT6DDr5u+GMZXNeejQvUChY9dHY7BM9TmKaHY4/6pLnAP9kB?= =?utf-8?q?lQnnsdhmLytYQmJHL4xjD1+EukyzMWJGm3zKGRjUTFA0I94m9m+7B4hpESgb3DHaO?= =?utf-8?q?lS5C64c9bGNsHoltTzXeCoQfD8cVVdIhG/pWcBLPegsREH6Z7kMrpBH1ZkeEXD0se?= =?utf-8?q?N90wNVH+JpuPjsXCZtZ3RBhPCElbZxLJearnXC5vCizkR9UsX8sz+otASqunNHs+3?= =?utf-8?q?6cjqkPlMQvkt?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: d5e2ed0e-7e33-4166-2556-08db2149867c 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:27.8012 (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: CKCOVBRC/8p0W1h5DmiEViclVRsXJgUp+PLjQ11y/U/E97WBrAX+EJtreU07ZQqMwh1uyqqx7unotnzcq1Zlbw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7642 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 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-Patchwork-Original-From: Jan Beulich via Binutils From: Jan Beulich Reply-To: Jan Beulich Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759972356658098892?= X-GMAIL-MSGID: =?utf-8?q?1759972356658098892?= The use of a wrong (for the insn) relocation operator (or a future one which simply isn't recognized by older gas yet) doesn't render the (rest of the) expression "bad". Furthermore alongside the error from expression() in most cases the parser would emit another error then anyway. Suppress the call to my_getExpression() in such a case, arranging for a guaranteed subsequent error message by marking the expression "illegal". --- Of course superfluous "bad expression" errors remain for format specifiers where my_getExpression() is used directly. I guess once the GPR special casing has disappeared from my_getSmallExpression() (see "RISC-V: adjust logic to avoid register name symbols"), both functions could be folded (which would also eliminate the unclear split between when which of the two is used). --- v2: New. --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -2265,6 +2265,15 @@ my_getSmallExpression (expressionS *ep, && reloc_index < 1 && parse_relocation (&str, reloc, percent_op)); + if (*str == '%') + { + /* expression() will choke on anything looking like an (unrecognized) + relocation specifier. Don't even call it, avoiding multiple (and + perhaps redundant) error messages; our caller will issue one. */ + ep->X_op = O_illegal; + return 0; + } + my_getExpression (ep, crux); str = expr_parse_end; --- a/gas/testsuite/gas/riscv/tprel-add.l +++ b/gas/testsuite/gas/riscv/tprel-add.l @@ -1,4 +1,3 @@ .*: Assembler messages: -.*: Error: bad expression .*: Error: illegal operands `amoadd.w x8,x9,%tprel_add\(i\)\(x10\)' .*: Error: illegal operands `add a5,a5,tp,0' From patchwork Fri Mar 10 09:27:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 67297 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp770144wrd; Fri, 10 Mar 2023 01:27:18 -0800 (PST) X-Google-Smtp-Source: AK7set9RGl3APY+Q4oaqe4yV5tYPdAg+CT7G7wnONm9MRAIZdqI3gpfuZLFQMigwaJb47m878xwq X-Received: by 2002:aa7:c0da:0:b0:4a0:e305:a0de with SMTP id j26-20020aa7c0da000000b004a0e305a0demr24013831edp.19.1678440438684; Fri, 10 Mar 2023 01:27:18 -0800 (PST) Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id a6-20020aa7d906000000b004add4da41f8si1885446edr.623.2023.03.10.01.27.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Mar 2023 01:27:18 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=AJ9wujRW; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2A34D385B51D for ; Fri, 10 Mar 2023 09:27:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2A34D385B51D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1678440437; bh=3vQHCizkxgVeNtEjii3TXhqiylVqinOtvgrd6vWGJlM=; h=Date:Subject:To:Cc:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=AJ9wujRWSAk0z1hJKlKRfhFPUpvOnO5lvTGqClC2hHV1tErHQpfONDQuaznTQxFyE MxhJ1EaBW0hOpxjAuS41Ulad4iY/Ivk7RYIJ62Uwrx8D3KQT01anamZomx7dxonSRg HiL1rvOEQO75Bo8UGg23YJHzS0VU2k4ledMemZjY= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2055.outbound.protection.outlook.com [40.107.7.55]) by sourceware.org (Postfix) with ESMTPS id 508373858032 for ; Fri, 10 Mar 2023 09:27:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 508373858032 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eYMZW2YJpXULL20Y+xcuQErr3mtY6RH3wTszRBEwxeHhBbRjweVdJMqwBuRj8LeivYSjpH5wjZmulSYsjPJwE2VuzhJMlOJ/bM2JvNA+XQgXUBChZLCZP8Jcs0JZHbHhjSaogmSSF3LObVwj3tGU+F4FBloAm5oAPF37Mx3DRDViazUXoJ8SMpK7qIIdd1HXWBNxk+kfJwndzy4WHAWJI+HP4cZUUPMZtqVHzK5ax3EZqiUPXULmZb9WKQ3OjDZDKPkjBorMGHJzUxod/ZBKLkLbWv0QD4Q8MXsQDfIoL7TjsNdTyufYAP30FsQCOKLM6AAsW0Z7cYtLADs8K8AGEg== 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=3vQHCizkxgVeNtEjii3TXhqiylVqinOtvgrd6vWGJlM=; b=WpPlRs3uTBLUZeZAZpSrdbvHcHUuU7WsH3WbCnqfmxbreUbsfm4hClkxy8sVbo3UnB5f2xSHbsdpk+TGakxqa/Qvf4Y+1H4UW0yK9P5e97n5r8I0vt7U6NIIGbopbY0EAkfST7FKBA9URUL4V/HW+x0+da61hitOUBPMrVKYzHQDaFMZdnPuQig54CuFMGPDC8OZ4bRFFBjOIYnSN1TWyIvyIM9gcmKYFCFO7mUQpsit+PrnaOFBo0oO9LM5wyS31Vx2vTPNCsDaXwKexqGwoWaE84blvESQkRQx16SkU02JEE+wwHultXcD41M2bfwBUMhgAG1ODJl+hP3wsD407g== 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 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:27:07 +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:27:07 +0000 Message-ID: Date: Fri, 10 Mar 2023 10:27:05 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: [PATCH v2 4/7] RISC-V: don't recognize bogus relocations Content-Language: en-US To: Binutils Cc: Palmer Dabbelt , Andrew Waterman , Jim Wilson , Nelson Chu References: In-Reply-To: X-ClientProxiedBy: FR2P281CA0125.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9d::19) 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: b1cca46b-bed8-44f9-9851-08db21499e04 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IP982QsVx8qASNaNQFkcgr5u6MR4RifexDDSVDyyfXyKTymsF09p0k9L28uV0X0knmLqr5yEJVncijjBVHRjQkrlVGVFzAzDL/5K7fmqiCAEkLvIp00XilO+TrjTRLNidtlR6kxlmalGCybDRdyFLQjxlNji7aSZu/IvSaYzyXY7TyxwURL+CBnnDf7RDf1NhP1iE9HgAcOQqjXtiYOnU34wQFIZtK71f1ZdDk7ec144qyQkFuff12FkK4vGSjPRG+eUpHTzfhbVQEG8NHsot7mvsmKWVyC8cJfi/1WrPfMHOOf/G+gKvvjcONu7Qx9WUCrlbmjB4KkTuMA0ZbOxD8Xcwc6Ei0n//o4ZDS5BiVwf9BI+6xfOe0fNIQTC9keHLAMFCbK0/Nu8Teu5likmn/CRh4n3dmoIF7ZmE8+MPkPXBkuRGy2wkjpjehDvk1NLcbyL+PreAhx/fhzj3RkdX4LbHZf3Y35ZlxLNybFeTYxyfrUzeA4jqwB2yxlHx9NLdqIXsjkLhsiAeu4ohgxvIJLzamdQR8E27FLlFTVRIZeivX8Z022/OqeFliN6Hg2ji+/clxDELFCdLiVPDZMgIrs7m7Waa4V31AfYLdEiU1iu9ubuqCxKKKx+xP7ahejXCAlsGz5L7HL/EScfsFVZ6TOJMdfE/+h/4S6+nHAZg/AotvCzCUo0XgY815vYtAI1n4+VDQQq64NM7RyyYEw58BmIMnPEvO5nPR0jRQ5/aAQ= 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)(4744005)(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?q?cntBCcHRoqY6w71f46Biv5PTF0D9?= =?utf-8?q?8+KbbFi3NdfJyusI0ecQyd4DX66qypcX87QDk349B50eSIEwrk+3x4fdQuI7Q9Tn4?= =?utf-8?q?VVMUNS37f53Iy4voOCZrcb6MzKnLQjyGLpRt69QVOhIjE8z2aKMt7mAtjMLa9NFNv?= =?utf-8?q?/N94zMHbCChusQKobk++ieFGZcs53MFNPqDQxGiyNYWhWa8StDGxEdkaIotlfjB1L?= =?utf-8?q?y/FJeN8oZzDous/6awRKj6irMZfrgzLOw8wNAEOUJ23aHEGOGJEzYzcByVKAaVoQ1?= =?utf-8?q?wRSR/S2cAp+7uU9jmaodrXIZgijaSuIDh0Ehys/4rTDgvEiunybGDqz2KRP10OhUW?= =?utf-8?q?RewvLtwGCYoIHm3AEJJRDLLYgd/wEXDlZ1dDfqkjFANWBbWX6czBOevt9KkKmRSGH?= =?utf-8?q?JrXHCdbEARjmjvCxszMyhqc+wMH5r0/E1o8EPOe8Vu0jxNkU9dWfbkL2PDkue5Uom?= =?utf-8?q?TMzh+Au0iUhHfENtOVtE1j7GFtGt/60qRQToUr5NwboSdAI+jwZ6ohqFr0j+JDYeg?= =?utf-8?q?X7vcttjJmlxh6fna1RjAeM8WFkONmgvJDE4m/MCyc5oUYKfbMYoQKaQih4MK071oY?= =?utf-8?q?+tnqkOyu0hZcBYFwfm4aJDQ7XDQr5SXMLnjn+jp3qhYbM3hpJUCwjhV+Em/BOK78P?= =?utf-8?q?JTP4HSHvcG3MEDO/cowXedB+cAUJt7Y7IhvWXA90/U1hUgxHZiDb3DfLSNjdi74O2?= =?utf-8?q?RuTjfnNoKkcyLvkqnIShQcX6Co7NfOjns1RrET4/b+5xj9UmEE3QRc1wcvY18x3o1?= =?utf-8?q?b57hYYV+AZ0Dl3QTkHlbxjQyfrr4g45OCNYkqc2jEyyTUsrRSA0aOeQjmvcJVgvrz?= =?utf-8?q?DJ6J00FhHC0RkophniTLYJ1dIj0qMnmFFqZgejgkb/JXe/BqSbPUduePYiAd6PFvI?= =?utf-8?q?ap42LwK+PKKxJjGdqB8U6MnsetFjKPKZ+3u+W/uH/1wI4Ccrsd3pJXFqPYg3pv2zx?= =?utf-8?q?7LaXcNZn2gOA22QGl2M0fBSC/4EVL+QXGkuHO3gCa6fFez5To6d7u1wOwAYJIX5x3?= =?utf-8?q?y0Z/uabteZw66DGdKlYFRrBr6z9T5fgcbfvtURH3faQIu1rqRSGloELOui5qhBLed?= =?utf-8?q?fvAww7uHCFjX6rrqnA4qtcUgF1afHZNG2BmtO37OdpTXZ0GHXVtXm5FdEUrOoMXjE?= =?utf-8?q?6G/AWAJV4AaZpJ8HVOXXVHIFda//8HpT+Mq1r1IgCbOi3fHZPJYkeSvQxsGBSW5CH?= =?utf-8?q?MnyXNteWGS0HXKi1UPvj9bF67LokuNxeF6FsUNd+DdV0535AvyA6Df+sf+vN8zR0O?= =?utf-8?q?PJ6x2qgDZHIl5LaBjElEc2B+IXVdfHN7bICqJ38wfv07RhVQ8K+13NyRNUanA4oq7?= =?utf-8?q?aBmcTs+8Y7ZHOu2JbbOUMRDSLyni4yJeLRiUILLulJp9Lh8K+19iu5lasHT+b7rgR?= =?utf-8?q?kF2dz9mlPotHbPz4+MQh+dGCxpmVq3Fj4vopPL7KTVDvOC74y6gkyjV0EIFGtQGiB?= =?utf-8?q?RvPpYB4Oh4ySFqcHnLutsj9CzIZrrIGj9nth2tlpI33T+wx8Ngeq2AlxAU2cbZ5Ok?= =?utf-8?q?iiYyyJUU9W2x?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b1cca46b-bed8-44f9-9851-08db21499e04 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:27:07.2050 (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: XH5omlsjhvDEZuK75wCgzGr8ktzMHeorS+c5i5Kr/5l/n8LSzU7Owq9eE/nUSX8fGcw8CtvQTfNfgkGzSsPoXQ== 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 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-Patchwork-Original-From: Jan Beulich via Binutils From: Jan Beulich Reply-To: Jan Beulich Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759972361493303350?= X-GMAIL-MSGID: =?utf-8?q?1759972361493303350?= With my_getSmallExpression() consistently and silently failing on relocation operators not fitting an insn, it is no longer necessary to hand it percent_op_itype[] "just in case" (i.e. to avoid errors when a subsequent parsing attempt for another operand combination might succeed). This also eliminates the latent problem of percent_op_itype[] and percent_op_stype[] growing a non-identical set of recognized relocation operators. --- v2: New. --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -2517,7 +2517,7 @@ riscv_ip (char *str, struct riscv_cl_ins imm_expr->X_op = O_absent; *imm_reloc = BFD_RELOC_UNUSED; - p = percent_op_itype; + p = percent_op_null; for (oparg = insn->args;; ++oparg) { @@ -3233,7 +3233,6 @@ riscv_ip (char *str, struct riscv_cl_ins p = percent_op_rtype; goto alu_op; case '0': /* AMO displacement, which must be zero. */ - p = percent_op_null; load_store: if (riscv_handle_implicit_zero_offset (imm_expr, asarg)) continue; From patchwork Fri Mar 10 09:27:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 67302 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp770536wrd; Fri, 10 Mar 2023 01:28:35 -0800 (PST) X-Google-Smtp-Source: AK7set+NSbZ0fq29IDZZ5QdrQoqkNK3SCCU9YUeAElSUowF56um0iiP7a5pgd3enwgC7eiHmpcSb X-Received: by 2002:a17:907:608b:b0:873:1b57:b27f with SMTP id ht11-20020a170907608b00b008731b57b27fmr33504215ejc.61.1678440514870; Fri, 10 Mar 2023 01:28:34 -0800 (PST) Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id jp4-20020a170906f74400b008da5d744f15si1511578ejb.815.2023.03.10.01.28.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Mar 2023 01:28:34 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=ggN5ptDf; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7A3AB3851AB8 for ; Fri, 10 Mar 2023 09:28:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7A3AB3851AB8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1678440499; bh=BIB725LlYOkZ3qCJi3o5WZr1x6hVlG2TJadW97ORhO8=; h=Date:Subject:To:Cc:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=ggN5ptDfFRbYtAVSQKGT/+qxwDWvbgDZweC/DCm51iLQMUtfZpG6F2gV4WcK32aqA mqUQPAHphit0WmZSw0MTSZBSH0Ou59bnMyvgE+kJOGxldX8TPwkClUwmktNcgcNB25 rh6gghuDpkxddVQEFVqiDC5NOy//v4A2ZIgK1LCM= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2071.outbound.protection.outlook.com [40.107.20.71]) by sourceware.org (Postfix) with ESMTPS id 5AEA73858002 for ; Fri, 10 Mar 2023 09:27:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5AEA73858002 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LZSbwlmGcE5binAZAZyJ7+ZbONroMvEizq6mzLwg3TfWRbPhD1U24YWwpnDy3DaW3ozf71qH9kYdEYh1HqXudFo+kkgoHO6OdHKzjjtvgWvinJyc2aya8OR94s7YdId1sRsID5iU1/gIqDZyfHUxZ5VvpojIYQFdUOXE4zHoToDqIGdIGAQe73inhOsHCqu7XasbiFN5tGb6VoY1r7jsHxLytCLDk2S7hjr5rcjuBA6kQS9ITgEOwWZ8syW7OmAwv75VsTlICbuueKI6m4r7/+C1bZTcMxj2G+lq1KPx1yynu9u+oPId0yoAEtWF0RaTp6YnkVwBfqIvvnIyuvZPsg== 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=BIB725LlYOkZ3qCJi3o5WZr1x6hVlG2TJadW97ORhO8=; b=U2+VY/XDWffK67AmlcTRRCfrPWMjidl+Vh1soN64ZnT/6yXQ8FtLXWjf6Q1Tt2oWxmAxNDFDmERVaAaSKTCdSGAto9mO185Qa2BQBXpogwuMtaFpD8JTRYgUzqqPSSbzgt4+thtIxbENQOVJhF6ACP3MclsMfCs1EdnHV1tJ5XUmvMRylFDi+YZMyKez3dUakWJdcpEyMuVFHfU8YWoK3rNcjdtTm/PUnaECBpIuuGhy8YXYocbuak6bVPjVjkC3RPXI99FF85nvjTQjPtp2OZrLePDwUKRoD4OONn59VOiI4soHtSrT/Q7lPLYL/JyVel70kTw91X+7ofzaJJo4Bw== 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 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:27:28 +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:27:28 +0000 Message-ID: <89f892c8-e378-b81c-7b13-322a7876a252@suse.com> Date: Fri, 10 Mar 2023 10:27:26 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: [PATCH v2 5/7] RISC-V: relax post-relocation-operator separator expectation Content-Language: en-US To: Binutils Cc: Palmer Dabbelt , Andrew Waterman , Jim Wilson , Nelson Chu References: In-Reply-To: X-ClientProxiedBy: FR3P281CA0162.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a2::14) 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: bd1318b3-95d5-4678-434b-08db2149aab1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zwcfXW5ZCgaQoY8bcsdR/nFfWx+8Weso3lpD2vKX3/Vibp8PO63dAS+2lAwDKr4dimFTZmhtUCCDfkg5uIovcYE8HEb/djDaaJKPRX9gI3R9aZpIbTo+IVuF2ZwTXVHc73KxltXhRITmdbcYncT+8RTmMv3S5zAxkWhwAqTdnaIHX6sN0anE23kmcQoBgvjRGaGDtSI88t9HHUp8Tpn+BrT31HpnLFjdg430mE5tUxbTR2KJQlHYNiNxvbSqxcS6eUYGjn/0hFV7Uqqq/09iUUo49utPhtaoTzFw71K+OInzj1AAKNUTGN3fG2p0lrGRJtIPYHk9xkaAwY40bdrGsbjZq2NmcLATmZpPxmUId6l9LsMd8HHNFLd8eGin7a1GMl+p7nPUSfK5m0qAdtyNKuEKh7eX5zSLNHc4iQFyDm/+YwP54Zhnk8fnBLZSc7EqRODhUQ07K3UKB5ylKx/eyeoEgWJe6PqSg620rNAXxSXuoXIM9sLcmbYwyvoVGQEIHa1BJZyKXfwxyru9uxbXJW1Voh6oeVGjqddrZc5j9vOmpAkiWCZwaqWyXX8x9iSAxAJH98raHQUIe/FOnwvAmgdpp020uCjdHxUwb+O1IQFOB8bAbpA17lh4s7A+9Ws5LdsuEddhx0XfPetq8LK3xnNt9G0iQkaI0mUH7+4DhTcGZSyMtNFBqSarHFAP5x8eh3CHvrJZc5zm5pKhlpGZVwIBWFvcVUpIFmyQr1fezxQ= 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?q?Dn74kvHfF6e89Tcc/t8FH8pU26mU?= =?utf-8?q?wLbmllX1mOHwyBqqdK5YjHZZg4XZgSxX8poGCIWmFK1cZlfSIL2pzQ7vWl6uLYoa6?= =?utf-8?q?iv6T9+4b7oLcbe/uw2LwyiQ1m7UC4ALHDD2u9eMyxhtTm8I7W6qc2wnSNdNajklRm?= =?utf-8?q?W8DSNLGkIid+5oJG0eQoQgxslQx/C3ONCMpXBY/9a9HzLFg5yP+ofRiVZXhKmhL6N?= =?utf-8?q?Hcgg3Hi2V7A3FbeSX53fATGuxeD2Z2azOgEYcruD6+tmBoxSNkA3Bm12x1iJolztx?= =?utf-8?q?SJ06aagHB9GnEFyOzviYxnrSm9GhvlvY4QRglkSgOYM9NX9wTzVG4dtsIkPx72aVk?= =?utf-8?q?UPam3XZCryG3CP6AOjb9RCjRSj61R6a4vOJCB8z2BQWAOoWzjyHE7aUQGfhggQ9NK?= =?utf-8?q?Leryr9PliCczFQPXaq5Ksl1bfjJOHBeioLkxytoVNU7Kxt7I87jQvRijTFL4ldDr1?= =?utf-8?q?RA8IN3FClr9ow1IWt4gNXG6pnqEF+7vvoevXifIDKt/VsLkXvql2XJj9y3MwLHYb0?= =?utf-8?q?gEBPnKG9gE8aQ5KscIxCR2IByEnUHWupf91NSuUd17Fzcn3Nf+h8aZTqQlb/kUNgS?= =?utf-8?q?ZSik2PCuHZolSwktCtCxYezsSJKb1XOJRavudInfTtRp0sWfltEbxwxtn72S+dCTy?= =?utf-8?q?0TWQHl3jRZD4T201tiXoftIIOsAGYKJDnOrm74Kn29z8jZh8urBnk9+gzJ6QljJ97?= =?utf-8?q?GyYfJHESbKuHNlMwwsyywrq46VYGOenddWtS58kuT4JTgnF0Wo0yBTC+ub8PiGdFj?= =?utf-8?q?JkOkGEcduXo0FmsPX1OXFv74PJI/6CuW7UhFR/HBP6ZjgbQa2OVW4arI9IEHQdFqe?= =?utf-8?q?fqK17X4enn6DcJyptHvemhmTQp+wLP+iUapmqkqlM3K6QtL07SVU6ip1mrUMv8Crx?= =?utf-8?q?y3pMOq9PihQZg10P2b8vUCEqke4YzAMcNbnTCuyh3blbmPl7vgos6Fp7jg9yAzVHl?= =?utf-8?q?UCwHrGyS590HFpWrrduXiFE63t/iwcrcwjSaNwNXH7Ujx2pJd7Pd3tVHStZOPBemq?= =?utf-8?q?U2cW4SKqhGXNQfu4Nbfi8bg4Q9FKk5B9DZ/ecpe50OA2geyIQtnalBTpe6v4buuat?= =?utf-8?q?onQDswRewg3ItcdvfhWcN1MHAZ+1tFNOVmznV+wOKnQo+5q5vGzLLYHn2FcscFZh9?= =?utf-8?q?C+QTQJTDLBBCWzAszkXTbeE2OTSWLHz6RIt6eT8UUdAPpPJGLhgedZZZhdXQuI/lf?= =?utf-8?q?SIzGl2N9AYC4Cw/ajKa5qot/aCJtbpc5dAZW/hGDxlflntiwvNwdMCiEM9ryz0fuk?= =?utf-8?q?50DvzBOLwGMsA50CwI2ywO3qN2XXBThOyjxsm7sR7ErwLcWL/w8mFEVFBAWThchmq?= =?utf-8?q?v9NwWXA5whDL8qJtVXtS6xdXUSY+Ot7X+hERZxPURg7EV7c0XfoInNimsQ7IS+Wpj?= =?utf-8?q?Lr/yaH3ZRvWIhs4gtnxP7rsmNWzn7gPx0VUzvsoWfSRwy196KWPjNRQ8hS1CQ1HTX?= =?utf-8?q?vGHmq5xoZ3T/CvafX5e1In8hwihdKul6dE2j+dlye2kug6oLN1OAeQs54QBPmjN08?= =?utf-8?q?A07hJpc782lA?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: bd1318b3-95d5-4678-434b-08db2149aab1 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:27:28.4536 (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: k/IsENxDCjdk8Wm81FBBriE548X4raiM3U/01PwbUK2/uYn+B9LiQR+xhMKrHeTW28i3XAcLsT7U0P7JIfwxag== 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 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-Patchwork-Original-From: Jan Beulich via Binutils From: Jan Beulich Reply-To: Jan Beulich Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759972441248038834?= X-GMAIL-MSGID: =?utf-8?q?1759972441248038834?= With a blank being okay as a separator, constructs like lui t0, %hi sym lui t0, %hi 0x1000 are accepted. But then it makes little sense to not also accept e.g. lui t0, %hi +sym lui t0, %hi -0x1000 Therefore instead of looking for a blank or opening parenthesis, merely check whether what follows wouldn't continue an identifier. Note that we don't need to also check is_name_ender(), as LEX_END_NAME isn't used for any character. --- v2: New. --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -2184,7 +2184,7 @@ parse_relocation (char **str, bfd_reloc_ { size_t len = 1 + strlen (percent_op->str); - if (!ISSPACE ((*str)[len]) && (*str)[len] != '(') + if (is_part_of_name ((*str)[len])) continue; *str += len; --- a/gas/testsuite/gas/riscv/auipc-parsing.d +++ b/gas/testsuite/gas/riscv/auipc-parsing.d @@ -1,3 +1,3 @@ -#as: +#as: -al #source: auipc-parsing.s #error_output: auipc-parsing.l --- a/gas/testsuite/gas/riscv/auipc-parsing.l +++ b/gas/testsuite/gas/riscv/auipc-parsing.l @@ -3,3 +3,7 @@ .*: Error: illegal operands `lui x10,x11' .*: Error: illegal operands `auipc x12,symbol' .*: Error: illegal operands `lui x13,symbol' +#... + *[0-9]+[ ]+# Accept unary .* + *[0-9]+[ ]+\?\?\?\? 17070000[ ]+auipc x14,%hi \+symbol + *[0-9]+[ ]+\?\?\?\? B7B7CBED[ ]+lui x15,%hi -0x12345678 --- a/gas/testsuite/gas/riscv/auipc-parsing.s +++ b/gas/testsuite/gas/riscv/auipc-parsing.s @@ -4,3 +4,6 @@ # Don't accept a symbol without %hi() for 'u' operands. auipc x12,symbol lui x13,symbol +# Accept unary operators starting the subject expression. + auipc x14,%hi +symbol + lui x15,%hi -0x12345678 From patchwork Fri Mar 10 09:27:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 67301 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp770517wrd; Fri, 10 Mar 2023 01:28:31 -0800 (PST) X-Google-Smtp-Source: AK7set+OpiQXjM2Bfo48jlWiHXPrE+fUCToxNJfmG9m5jYRGh1FbCVQgpOfa2bkpPHwonuMt1coF X-Received: by 2002:a50:ed12:0:b0:4bb:8e88:daeb with SMTP id j18-20020a50ed12000000b004bb8e88daebmr23313955eds.31.1678440511459; Fri, 10 Mar 2023 01:28:31 -0800 (PST) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id o14-20020a056402038e00b004c8bc3a3a1dsi2172672edv.590.2023.03.10.01.28.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Mar 2023 01:28:31 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=M8zmslXH; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 316503851ABE for ; Fri, 10 Mar 2023 09:28:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 316503851ABE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1678440495; bh=qSZfrbSfG83lzKaOirxVg08jp4xonHVq5lS2IrLM/ys=; h=Date:Subject:To:Cc:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=M8zmslXHLqJgwysp5iaEI7zoFK6VsuKbScczL9HZEgxuWaQTc9xQTlPE7vDY3H5D0 UTFbe+Qgnz29cGNdYj8G7XOj84vK/cTS0zkuWIcyEeqm24o2gU5P54swjv8bavOk8i oOs+v3pNRdBf+SV/XyItXs8kbhKi5TgsEVbnAREU= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2062.outbound.protection.outlook.com [40.107.22.62]) by sourceware.org (Postfix) with ESMTPS id 13BB53858032 for ; Fri, 10 Mar 2023 09:28:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 13BB53858032 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MTJJ3tJtJLk8OT9kLTSVm3rDVJTKqZ7DG+0r5YyLM465I9J8If0r3a7XxCSgjOFgasRdn7n0lxZfaSQrK6Gmp47sf8l+oGrLhpXLcoM2EQXyMbbuX0SMYLEkRH79sLY+INmRVZkrdZ4+RGfQ0puirpiiv2yrX1UeLlcLKJ38V0WuScPs+Kauksa7xY1ocT6HpEtS7rCKw1nhYGKlowBHWyh5M+sB6yqSWembdxXy/UXJZhhODFh15miVJWIirKUIbWwVNxkzDh1R2So93kQIbkK5cshUvWkgyTyDUZU2N8gtulVTk5B/seSdEcbf/p4/vHP7WLnPrBb/rSrp8YW72Q== 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=qSZfrbSfG83lzKaOirxVg08jp4xonHVq5lS2IrLM/ys=; b=QmLZb7IDDeUHWtsxmK1P0dVmL0oaR23ZNT2SRf80Ob2qYwjNSC4q9qkk1QNDm9Xmpm7xrpldCvsB/1YJ+tW6mb2+VG26Gdqvh6rbT6EEwWm+B1PedKDnywM3IPIxbCgJLAkt5TlMxkpDvS8S/1HMlYwnIAlYZansgoub+tPSViI9hm1+4NhHBaDQwr5wXCbYHYJWPlSJIJrrqgfDZLueK1gIJgsGXMSkIPulA+FH/8dGGBAgE6kjAgArBrSbAbVpw8WFI6Rja7oTdbTpzbxr4/cpSdo3VDIvBfGqC8YupPmTF9czXm/gkzVIQjn2sldi3S6CslNAg4Cq2P6xKDuLQg== 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 VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by DBBPR04MB7642.eurprd04.prod.outlook.com (2603:10a6:10:207::9) 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:28:00 +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:28:00 +0000 Message-ID: <756c5464-9bcb-d78f-c763-4bb5504eec92@suse.com> Date: Fri, 10 Mar 2023 10:27:58 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: [PATCH v2 6/7] RISC-V: test for expected / no unexpected symbols Content-Language: en-US To: Binutils Cc: Palmer Dabbelt , Andrew Waterman , Jim Wilson , Nelson Chu References: In-Reply-To: X-ClientProxiedBy: FR3P281CA0169.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a0::8) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7642:EE_ X-MS-Office365-Filtering-Correlation-Id: a418de2b-6373-41b3-8755-08db2149bdc8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: feGdcZIsXaHEOF1t7c0oclUl/cW5/I575uNCecrGrYmK1IPdkVf9xDQMi9xDhQc7Z/I1//6JlM70wSatOAXaEJMG0laxTjlanPin0Y04cSb3GNIj5J8VjBuNlHG/Bf4rLwFiTg+59DKJlCQYW9FaZOt0oAg3G7RuU9NPVQYED2FF1MAoKfbwRyHKQe72TgaBbJ7OCS0mzemNUpmYtzemF5YmOhlzeohCKEbLhrs7OjYTZ3aKulC98PFBpJW0GI6JwZzRJTeVn35FMQP8BgG8HR5T5H12pn3G7VnfUj+jIhGJ5TLaezZuv3vz4Cdye81YRs/0etR7FVlchxaRaJ2Aas6L+iDXxKAmtVpfOvNVeKOa0zMoX44ofWuiIFE906xWPOht6HxBfnlO2kOimxl7llKb3a9NgQegPALdwaqYOy9pFfcxs7OCQbAb234Wa6PmZUmpm2NND4JYiw4IEBWINcbllH/QDe6qPbjbdgc4+C4hDLQe8JyWq8Tl/vWdVRrgjwGb6+SBUIoFSCTvwZ+sRX+u0mFllSwQxI8b2SJSGQKv62ttQaqHAs2iwUgsykhK9esiznwJo6vOTp6GvjMtwBqLYnBT48GfR9F7goiv1Oj/0ltiq6uYuP9uE7keMKT/uDdvDrvPAf9AWdCLpGMfPtY7sZ9h9Y4Sl5YTmqdAWzTLGruHX1A8Fj8uH8ZDz+lDFio+PXDhxpXm945chOavIOxGdiLZlP4qkL54nEWJvcg= 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)(396003)(136003)(366004)(39860400002)(376002)(451199018)(31686004)(66899018)(83380400001)(36756003)(478600001)(54906003)(38100700002)(316002)(2616005)(6486002)(6512007)(186003)(8936002)(41300700001)(26005)(6506007)(66946007)(66556008)(8676002)(66476007)(5660300002)(31696002)(4326008)(2906002)(86362001)(6916009)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?6+pczOyv89jiRQZ0QBbyNAA1+zrj?= =?utf-8?q?+wG75G+6AKwwQYroFtxvVSxXhySYeIwhoqQ49J103Fm9b56UE1yK5dGg2ZgYoJiQ6?= =?utf-8?q?pVVZGS5g3y3Cwx8K1z/i0+OGdsU6SJFjkvSzlOKVTO+/+Yr1/+OUa+vAHez8dpe01?= =?utf-8?q?x4tlB3xrxFjYZP2M7NqZsteuvhbeddgqPXjVrXo90CHdV+2k0POEoEWgBdFEvnQfW?= =?utf-8?q?Y6xuz/F8gJ9ZHalmNxMZlTH2SBH5bBzqoDPT7T4ZdK5O1P+AbR/lGHtOouJCUuT1i?= =?utf-8?q?TUPVGtH9ofZjUpvKa0vCrZokB0CLB2nUMQO+6IUNEhHRy+4IANzffIfNNRLlda+l4?= =?utf-8?q?R2XUXBXHR7SP5AMLfE+NLWS4EXLA2fE3gnoRz5tr1Qb/TC775pbC1NW+Ia549vNwj?= =?utf-8?q?nfYIWUKz3awXGbzqNrNUUUOI4xQ9d7bG0fEBW0e/n8Gh6klWyvnTcZUo5Dkv+HkMY?= =?utf-8?q?KXAL8gSwqpfsBSp0YpKI78YmARPPLHbkhWmSB6SHJ8TwQiXzef52PoPM4LFncRfXJ?= =?utf-8?q?KxmH91YPUkBxI6wJz29lQKcxaz75XjtOQqnqYdXIlpLdLhcKnOjK2WCn5xGQlINZH?= =?utf-8?q?Nt/ggY0y5x0ydvPmAKlnyPtSoxh3kEn6dWtTpOzO8jiIivD+nGpLpTFfqCw1OqvUM?= =?utf-8?q?xld3uCbF7xxnjztQ7E3v5E8L+Ns1JhLOV3yRhEpnSDUMrZp4VtY+JvZT22uRt4P/H?= =?utf-8?q?r08b4yc4EGxMbwI4vbvVVTgAh+Oj57iOSPRgdt3d+NoeBu4/bumkPNaHP0Nma8hhP?= =?utf-8?q?7w0+IPF1KMqre+biidYvxhbjQDUtbEJgZcoCtJFi/C1m7eHcOjTa4G9WI64D2/vku?= =?utf-8?q?QN5dNG13mARuCunRCd6tQxVNeIuXIJaiGuTrTbon77VZxKRSYmUoAcqGBIU8QYBy/?= =?utf-8?q?EuJAZp5x9ilRLDd1qaUE2i0qkzynpRqW9+G/5DFpRe6AmCtoMVMkVKLtZrzltvgUa?= =?utf-8?q?CZfqG6itgFnQ8empp0J+vASqKcsDtx4M1pfuKBdr1ySxr0pTNAYp9MZ+aqbH9qark?= =?utf-8?q?QqdvGK3bPWg8tDx5RFi98daoxuAd6eay1duSNobEM3uWC7uMq6Y+yQSVifX+fJ9nj?= =?utf-8?q?48o4X+Wv930LKZYf9hFIejH0XxkesbCACl8FKUvlkAlSq3vMxAAM4snrd1e/6o8fE?= =?utf-8?q?guUnHD7kw4iFdClgr1lu/ylq4P6weTrsIRYiRlebYNHC08XSN/edkNqpoUpU3mysA?= =?utf-8?q?AtdS+afrRqtAL7rcvsvp/0N057ZYzGw4s7VZSNDGU7TkD5j5mACAwcMF/05LjrPSl?= =?utf-8?q?thyjit7eZ0JvlS39+ZjPrYR7b31a15T5iR9elsxR1pUpNLqXCyYyWm9BVd7T4Ne0H?= =?utf-8?q?pBsSMwSOOu3LRVOvT8tUp+egwDmcTl00c2wqJcR0o8NejfNHRU2cWgu4ZuJjBwuD9?= =?utf-8?q?bK7DAbJ+dm/pZS5Pbh6FG+HOxjntUL8izl+ijtC4DqISKOuGP/mPn0Iw652w/ZMPu?= =?utf-8?q?HIMqMtt0bl04edNabFiN/HKQ6KgN9mrBqsFcptSAjboPr7KtWfpVrR/BRyRG/fJl0?= =?utf-8?q?vq2zV8BZ3zHv?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a418de2b-6373-41b3-8755-08db2149bdc8 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:28:00.5765 (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: pulpxbHYLZN5VHX04+cr7JbQQrMU4c8xmaosxBW6/6aKapUUPHmTnshi3mZAGjJ/LHxS3KZyAOJAYjUAoFkR6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7642 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 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-Patchwork-Original-From: Jan Beulich via Binutils From: Jan Beulich Reply-To: Jan Beulich Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759972437680367216?= X-GMAIL-MSGID: =?utf-8?q?1759972437680367216?= Both the temporary workaround for PR/gas 29940 and the existing special casing of GPRs in my_getSmallExpression() aren't really tested anywhere (i.e. with the workarounds remove testing would still succeed). Nor is there any test for uses of symbols with names matching GPRs, where such is permitted. Before altering how this is to be dealt with, install two testcases covering the expected behavior. (For now this includes only known affected insns; re-ordering of entries in riscv_opcodes[] could, however, yield more of them.) --- v2: Also include LUI and LW. --- /dev/null +++ b/gas/testsuite/gas/riscv/reg-syms.d @@ -0,0 +1,8 @@ +#as: -march=rv32i +#nm: -- + +0+ t start + +U x2 + +U x4 + +U x6 + +U x8 --- /dev/null +++ b/gas/testsuite/gas/riscv/reg-syms.s @@ -0,0 +1,10 @@ + .text +start: + and x8, x8, x1 + j x2 + jal x3, x4 + lui x5, %hi(x6) + lw x7, %lo(x8)(x9) + sll x1, x1, x10 + sra x8, x8, x11 + srl x8, x8, x12 --- /dev/null +++ b/gas/testsuite/gas/riscv/reg-syms-C.d @@ -0,0 +1,4 @@ +#as: -march=rv32ic +#source: reg-syms.s +#nm: -- +#dump: reg-syms.d From patchwork Fri Mar 10 09:28:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 67305 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp770925wrd; Fri, 10 Mar 2023 01:29:43 -0800 (PST) X-Google-Smtp-Source: AK7set8EdiZaMBh9Ch531IhjsSkbYLcmWntpd9NBoZv8msHP3j5UrteuEvroXbPAla90XUpqo0fU X-Received: by 2002:a05:6402:446:b0:4af:6e95:861b with SMTP id p6-20020a056402044600b004af6e95861bmr902313edw.2.1678440583245; Fri, 10 Mar 2023 01:29:43 -0800 (PST) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id j14-20020aa7c0ce000000b004c2ecdb445esi1916871edp.380.2023.03.10.01.29.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Mar 2023 01:29:43 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=o22L3jl4; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A23113851C00 for ; Fri, 10 Mar 2023 09:29:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A23113851C00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1678440573; bh=VdvIqSTnpWhvXaHKo3jOzIbXnq5M8GEwk/8xtdGCxCw=; h=Date:Subject:To:Cc:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=o22L3jl4YFfr5O3MTP3fAYRiI9TTBxidDEH4DAbCxy1VmtkiG6ohRixSL+k+SdCX7 qoIDFKkJIGCtYLrBwfnEn8hhGyIaBL8yR3z4WfHBOWNT0srp0YKZUc2Kgr8GN9YlUw trMNzAx1dHr1QW2jNVsY8xkaxkaQ1OuaoG1dJUW0= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2081.outbound.protection.outlook.com [40.107.20.81]) by sourceware.org (Postfix) with ESMTPS id AC8F63850877 for ; Fri, 10 Mar 2023 09:28:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AC8F63850877 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KfjlUXsXUxJ2YydmIRWI6nAm4hFZpD19br7tjTd7HuEjcq1u5tVse7r8UE3YAhwzmRN2k591TufxsMuRxrh3XGpz4ZmaWVxXV1DJbustZMK9R9UjBAILdlOmuEXR2tp9Hfqrj7NvbyUjen5KRTCxK1S9XuDOpaxZG0QcSYJPs3OLn1eja68WhxZhO/xgf8WodTwJzQZw/cI65EMF1k5HwjMchchOqwzXTVZLLTuvBEZqRh8vzjHf28duO1WpcBG//nDeebk3LRXSPJ+ZPlBligtHDRWhvaMAWBDt5Pv13ekR4KfeqfH94vBkTYwBruAPq1Cd9TgOEGDelw0VBy8+xg== 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=VdvIqSTnpWhvXaHKo3jOzIbXnq5M8GEwk/8xtdGCxCw=; b=BpDVPtrbEG9lEbGiftzyhfWVxJfo16At48tCPJhkpvCymV9LqG3kiK9+GkXEH4k5aCvbjMqT3wSKDTUuUNLeJ0Jtd5cFE0PdRBQiRALDssjyJLBR0Ya47qZJUNW4+wBz3cbxG/hMBe2rj2TYGOXlmGcdDCbA/GvtRl4sIdlStcFA8kxTwPsupj9VnpKMah3E+TiepiPYvSJ/oGCV5lIOBCYCpLzEb08yotjqc0PtaKwWk1zZQud6pncK0RozwF0Bka/TAQSxTkj24AP72tojrXKs6bJSV8TPUVAxJC2F2tFW6RG+Q4zkk8rZOU5ibTx5SgVG1eUN4GJAeLXdYhaOtg== 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 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:28:25 +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:28:25 +0000 Message-ID: <54b0d4cc-855a-78c7-5233-22f7d454c0c4@suse.com> Date: Fri, 10 Mar 2023 10:28:23 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: [PATCH v2 7/7] RISC-V: adjust logic to avoid register name symbols Content-Language: en-US To: Binutils Cc: Palmer Dabbelt , Andrew Waterman , Jim Wilson , Nelson Chu References: In-Reply-To: X-ClientProxiedBy: FR3P281CA0142.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:95::16) 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: ca9b3d81-739e-408c-89fe-08db2149cc5b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: w5p8VYoBItuz/4GkWm2mdHsJ9guGI+6dz4beAfIS9Jca5t3RfioVYiTDlcelsd2eLvkpyamy2mWt8hnTVFZzfp4OMC8TRgggo/EG3gI6g4hDRcYTTaiVBNK9YMAT60SXr+rmL22ZkSjY/LRoLRUjX33pgsAJJV1PwEllrNGc02/IdE7AwhpfunH9eir8pkJy58b1AYptbxmYg8ECnPJcNFHZYX04jXPOKRg2rC/psph4TUzaS0rhViHFao9jQOYVzI9NwhaVGCjc7h2i1PG5ZPBfQDsnpHKkHH/psJZxoESKGjXCcVL6YmsexIvzqsAAkNRGGewz3dbUpdOQpOAEC39uKXKQPDo7mgCsv3WYBEC0XkNojgoyU/wCQytEt7IwicpGVkuyeJcVPLFEqzCx0A7nLQw8wDLEMIt1in8Db+PwSmteHLEAoxpT6K0JOwUHHN+ijqIxYs+vhy8XeX4Wxp9k603WVEAQKpoFDXDyXvDYwUn4RK13Vl2FNroLGHNADZ1GmdZqOoKIBR/pWdwIGPk0rAVG9I3qhBViuerQN1NUoSbVpD6VXp4L9/qziVCRWS5XFTD7JuV2eGcBhVbgkmyA/N4LPfjbWCCL0oOQFaqIxPc519wqasabBUDH71Ov4YgRb7JDmK5yJbjBQcYl1YXN3odybJMjJOex+PgPhqiL9NfadeodgZr22gCMeuWNZ6O9XWgcWOgNYEAawe8lThmfGWkg3c1qZYwks4Buecc= 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)(83380400001)(31686004)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?IwBioZTFiULWV4LoWNszdtrFwjna?= =?utf-8?q?v7dYB2KeQ3msfhcCj9lPXtnDVwXXjqu8hFhJUzTecP4+oMZRV/hKYCLrkymvnAKcy?= =?utf-8?q?v6UKTjHPAN9+ypmynodNY+rxXecxzaV++YRGgzMgxGHkzM7vpSdS7ABYRb9JFSl8Q?= =?utf-8?q?t4UxOV0+gzwsPmUTVVv0grnt4OSeo7SacgNnP8yfQ9AeS0ViM2UkqY3ioIqFo8JWI?= =?utf-8?q?nEVcBRvlm5cTWZ4AxiNVrVowJtLMarkbh0+EXoh8TfcOMY8Damd2AyN0r1uATvItX?= =?utf-8?q?1BqazLgF/dPqrOuMNx0IcDBDJBF9PdpliwQiHCBP75aukzq8UQxYgyy8wlhr6CwI0?= =?utf-8?q?cJKsBTK+sLWnlzZbyNFtI6c2aBUP1G9zQg1Lrxo1gi7qavvO5En0Gy6czPfQhx5vW?= =?utf-8?q?e8nRd5mpTK3Jl5fzTZmWhzsSALG/avZoZEJbuW3Tf/NoA8H5NSwAQQNPjDu1XDgvv?= =?utf-8?q?FbLcmt6/g/nggwFYRjOenssmuwZk6BQgyDmgySX2RougJvvtdIlSdmdi32qXp/E1Z?= =?utf-8?q?jnR8k5IA0G42WgSMXXfbGBPeK2jP5ma8/s5+FIP4IyQp+TxFgN42r3kDmVs1yLTAP?= =?utf-8?q?T7kkiIdLySrhrjebLh4pK2ThIBwifsDKgTZWSzUwK3iz0+nnfOrEzHusxU146ie6C?= =?utf-8?q?1JCQH5pFpKS2Lwsd+U9FbvaFPqlYBBSobAe6h+opiM6M2AjGU2X6RkopQeLfhTfWR?= =?utf-8?q?2vFs0Kf7MTfgeq0Gm4WlHktuXEUuRmB7aCul+YgDbiOvrAnWy03ih2LGYyP0hfS7B?= =?utf-8?q?D+yGEwE3KKrRYjPDJXcDcBr4iPHaRel91kQR9SsuC949XWLyJqOHaizM3duePljs3?= =?utf-8?q?JxtCiR7yGwMTzCR+BD65uAL27oo8tmQIThg8/m3mVxFR5hDMjQRtJATyDzlS1tlV1?= =?utf-8?q?bZ9UpQhkzZVN7IfjknDsf/AgKmsow55HgtU3yPlaQ6vNwvHnhx+l/mYUKaI4LyjOp?= =?utf-8?q?/wrMdNd93fP7XnLzrVlNejPzPH/zA3cf9+NziRiGQC+XL2aEHdV/Y7vlaY5DH/OAT?= =?utf-8?q?L8HG6rGr64rtdxhM8sP1WOEyNSptbXgGAZxiluGgRWWVJfor2fXxztAiBDvRdc0oB?= =?utf-8?q?ziEL/vc2Y6tl7a1HvbNjm9bYRXe8xiLpZGwi8UpFXWr6sXFxOMlwMWRRiwFGgfXQZ?= =?utf-8?q?adCK7c+kpypQgz1aNZr7/zKca0GukoXRcQYADAU3U2PUvpAZFeonjpnVlgzP855XO?= =?utf-8?q?p+EC01U4YGRwdaDNNx8VrU3CiaO/p5SM4dVnQt1wDR/DstZ7ThRx/N9ARB2hFELQr?= =?utf-8?q?UBG46quHGqfgClbDCqvWeAoMEBOtzg/QPQO1e/BBiNxc4plr5qGsnsgoSXC8YVvwk?= =?utf-8?q?s8+YDG7Kl8SMmPWFR0AvgDuSKAEYN3nqYrU4mM1860xObe3ETk0NOkrl1e7kZ4L6z?= =?utf-8?q?b0QrvscbXKY82QqDpCNVON3igmXUHSMnuNMrMYsLpx9QLu3nJxxhxa3Cf9uSCM/wQ?= =?utf-8?q?ulD5LQDIHmcjnuWUQTK/J1TCVsvhnsP6YfxygwlZdSeNsuitzPtRdZiYyQ+FJAoH7?= =?utf-8?q?i3W97cBvLDSO?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ca9b3d81-739e-408c-89fe-08db2149cc5b 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:28:25.3718 (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: rC3z0zIBhugnG2sEo4k/eEeKJDqU+1qq8zTHaN8ELHG9rOHYrhj/wJnxaOcXcFztH8Wk0kC1f/9nprMw0MFIaA== 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 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-Patchwork-Original-From: Jan Beulich via Binutils From: Jan Beulich Reply-To: Jan Beulich Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759972512997252100?= X-GMAIL-MSGID: =?utf-8?q?1759972512997252100?= Special casing GPR names in my_getSmallExpression() leads to a number of inconsistencies. Generalize this by utilizing the md_parse_name() hook, limited to when instruction operands are being parsed (really: probed). Then both the GPR lookup there and the yet more ad hoc workaround for PR/gas 29940 can be removed (including its extension needed for making the compressed form JAL work again). --- When a floating point extension (but not [hfdq]inx) is enabled, floating point registers would perhaps better be recognized by riscv_parse_name() as well. Same for vector registers and likely also CSRs. Otherwise inconsistent behavior may (continue to) result when equates come into play, afaict. Considering equates, the new behavior isn't the only sensible one: We could also omit the symbol_find() call, thus never honoring equates. Then, however, even with the "i" insn suffix (or sometimes infix) explicitly specified, equates with names matching a GPR name (or, see above, potentially also other register names) wouldn't be accepted anymore. I guess the primary question here is what the intended (and consistent) behavior is to be. Overall the uses of my_getSmallExpression() vs my_getExpression() look pretty random to me: Is there any underlying principle when which of the two is expected to be used? --- v2: Re-work to not break things like %hi(). --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -171,6 +171,8 @@ static enum float_abi float_abi = FLOAT_ static unsigned elf_flags = 0; +static bool probing_insn_operands; + /* Set the default_isa_spec. Return 0 if the spec isn't supported. Otherwise, return 1. */ @@ -2228,21 +2230,10 @@ my_getSmallExpression (expressionS *ep, char *str, const struct percent_op_match *percent_op) { size_t reloc_index; - unsigned crux_depth, str_depth, regno; + unsigned crux_depth, str_depth; + bool orig_probing = probing_insn_operands; char *crux; - /* First, check for integer registers. No callers can accept a reg, but - we need to avoid accidentally creating a useless undefined symbol below, - if this is an instruction pattern that can't match. A glibc build fails - if this is removed. */ - if (reg_lookup (&str, RCLASS_GPR, ®no)) - { - ep->X_op = O_register; - ep->X_add_number = regno; - expr_parse_end = str; - return 0; - } - /* Search for the start of the main expression. End the loop with CRUX pointing to the start of the main expression and @@ -2274,9 +2265,17 @@ my_getSmallExpression (expressionS *ep, return 0; } + /* Anything inside parentheses or subject to a relocation operator cannot + be a register and hence can be treated the same as operands to + directives (other than .insn). */ + if (str_depth || reloc_index) + probing_insn_operands = false; + my_getExpression (ep, crux); str = expr_parse_end; + probing_insn_operands = orig_probing; + /* Match every open bracket. */ while (crux_depth > 0 && (*str == ')' || *str == ' ' || *str == '\t')) if (*str++ == ')') @@ -2462,6 +2461,13 @@ riscv_is_priv_insn (insn_t insn) || ((insn ^ MATCH_SFENCE_VM) & MASK_SFENCE_VM) == 0); } +static symbolS *deferred_sym_rootP; +static symbolS *deferred_sym_lastP; +/* Since symbols can't easily be freed, try to recycle ones which weren't + committed. */ +static symbolS *orphan_sym_rootP; +static symbolS *orphan_sym_lastP; + /* This routine assembles an instruction into its binary format. As a side effect, it sets the global variable imm_reloc to the type of relocation to do if one of the operands is an address expression. */ @@ -2497,6 +2503,8 @@ riscv_ip (char *str, struct riscv_cl_ins insn = (struct riscv_opcode *) str_hash_find (hash, str); + probing_insn_operands = true; + asargStart = asarg; for ( ; insn && insn->name && strcmp (insn->name, str) == 0; insn++) { @@ -2513,6 +2521,17 @@ riscv_ip (char *str, struct riscv_cl_ins /* Reset error message of the previous round. */ error.msg = _("illegal operands"); error.missing_ext = NULL; + + /* Purge deferred symbols from the previous round, if any. */ + while (deferred_sym_rootP) + { + symbolS *sym = deferred_sym_rootP; + + symbol_remove (sym, &deferred_sym_rootP, &deferred_sym_lastP); + symbol_append (sym, orphan_sym_lastP, &orphan_sym_rootP, + &orphan_sym_lastP); + } + create_insn (ip, insn); imm_expr->X_op = O_absent; @@ -2567,9 +2586,22 @@ riscv_ip (char *str, struct riscv_cl_ins } if (*asarg != '\0') break; + /* Successful assembly. */ error.msg = NULL; insn_with_csr = false; + + /* Commit deferred symbols, if any. */ + while (deferred_sym_rootP) + { + symbolS *sym = deferred_sym_rootP; + + symbol_remove (sym, &deferred_sym_rootP, + &deferred_sym_lastP); + symbol_append (sym, symbol_lastP, &symbol_rootP, + &symbol_lastP); + symbol_table_insert (sym); + } goto out; case 'C': /* RVC */ @@ -2773,8 +2805,6 @@ riscv_ip (char *str, struct riscv_cl_ins case 'p': goto branch; case 'a': - if (oparg == insn->args + 1) - goto jump_check_gpr; goto jump; case 'S': /* Floating-point RS1 x8-x15. */ if (!reg_lookup (&asarg, RCLASS_FPR, ®no) @@ -3278,18 +3308,6 @@ riscv_ip (char *str, struct riscv_cl_ins continue; case 'a': /* 20-bit PC-relative offset. */ - /* Like in my_getSmallExpression() we need to avoid emitting - a stray undefined symbol if the 1st JAL entry doesn't match, - but the 2nd (with 2 operands) might. */ - if (oparg == insn->args) - { - jump_check_gpr: - asargStart = asarg; - if (reg_lookup (&asarg, RCLASS_GPR, NULL) - && (*asarg == ',' || (ISSPACE (*asarg) && asarg[1] == ','))) - break; - asarg = asargStart; - } jump: my_getExpression (imm_expr, asarg); asarg = expr_parse_end; @@ -3512,6 +3530,8 @@ riscv_ip (char *str, struct riscv_cl_ins if (save_c) *(asargStart - 1) = save_c; + probing_insn_operands = false; + return error; } @@ -3808,6 +3828,53 @@ riscv_after_parse_args (void) flag_dwarf_cie_version = 3; } +bool riscv_parse_name (const char *name, struct expressionS *ep, + enum expr_mode mode) +{ + unsigned int regno; + symbolS *sym; + + if (!probing_insn_operands) + return false; + + gas_assert (mode == expr_normal); + + regno = reg_lookup_internal (name, RCLASS_GPR); + if (regno == (unsigned int)-1) + return false; + + if (symbol_find (name) != NULL) + return false; + + /* Create a symbol without adding it to the symbol table yet. + Insertion will happen only once we commit to using the insn + we're probing operands for. */ + for (sym = deferred_sym_rootP; sym; sym = symbol_next (sym)) + if (strcmp (name, S_GET_NAME (sym)) == 0) + break; + if (!sym) + { + for (sym = orphan_sym_rootP; sym; sym = symbol_next (sym)) + if (strcmp (name, S_GET_NAME (sym)) == 0) + { + symbol_remove (sym, &orphan_sym_rootP, &orphan_sym_lastP); + break; + } + if (!sym) + sym = symbol_create (name, undefined_section, + &zero_address_frag, 0); + + symbol_append (sym, deferred_sym_lastP, &deferred_sym_rootP, + &deferred_sym_lastP); + } + + ep->X_op = O_symbol; + ep->X_add_symbol = sym; + ep->X_add_number = 0; + + return true; +} + long md_pcrel_from (fixS *fixP) { --- a/gas/config/tc-riscv.h +++ b/gas/config/tc-riscv.h @@ -123,6 +123,10 @@ extern void riscv_elf_final_processing ( /* Adjust debug_line after relaxation. */ #define DWARF2_USE_FIXED_ADVANCE_PC 1 +#define md_parse_name(name, exp, mode, c) \ + riscv_parse_name (name, exp, mode) +bool riscv_parse_name (const char *, struct expressionS *, enum expr_mode); + #define md_finish riscv_md_finish #define CONVERT_SYMBOLIC_ATTRIBUTE riscv_convert_symbolic_attribute