From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 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=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 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=HHJOaQsdapjr5o7eo/aWz3GyqFoT9Hq5g62fiAe1+uU=; b=1FeV2lK30pgxm4RNdxJ2e+Y1wWRDmWK9P6/uaubfwZD2Bolosc08iXe7agPHyFN7Gna+Tnttr1OFZHWjENjjOvrKG8JyxJh2RtWcjMo4vm41n5xxI9C4iGjgpZXTBjSLu+TFMsr5/y0f5HVyHO+SuTDPxUvEQCDbUPcnsvSjNxwiMUypmIr71aYiM8MYzMBXp4nusiczyqK/PaHjv5WoEtSV99OO5H/Q9nxd0bw26HYSw3MOCmLL8k4WUs1d0k/lor5LzyzFgv7cORgxTVu+rhjunR58kxkc3tYKXiTeU3LXy+MfqUh68r80SZndMGn2NF36zuqCufEU6GYuSdAveA== 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: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: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit 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?B?YmZ0UHNMSS9wV1g0N25qM0s0TUZIRHhDS2tUWmFvWFRnYW9IM0Z4N2swMnlY?= =?utf-8?B?YXg0cWgvZHlGYS9rdDhralZlODFXemVlS2Y2OFRucVNNUTl3aE1IeHJEeU5D?= =?utf-8?B?MmwyV3lndmlzS01sY1Yyb0wvT1JJa0srS0RSM1FBOWduc09pMnZlY2g2RmZV?= =?utf-8?B?cnQwemFyQ3ZFZlVQMUZBaWZ3MFlSekk2cjRFclJtVzhoNVhESjFpaE54ZW1M?= =?utf-8?B?cEFGeFJQbEhKWVlraXFJNk91bXJzSE5hRzY5alhta2tncEQrbUgwZEUzUEM4?= =?utf-8?B?VDluTzA0NGUzNjV5UlB6aHJiajNtYmt5K0R1WjdSNmxqeHNSWWwwYWRqYy9i?= =?utf-8?B?VGRVdDltRy9oQk90RHphZ3RROFU5V0dOT0tIKzNFRDMzZkI0eVI5N1QyRzRY?= =?utf-8?B?eUVjcktodDVRdE1OeWt4MndmNGZWN0d4OWtsT0Jwc3dvYjdub0h5OTJkK2Vs?= =?utf-8?B?T3Q2ekhqdEdOR2VuNk1mTnRaU2xQQjI5UmJ5UUt6aWNxWkVwOUhYcTN0U2I1?= =?utf-8?B?TWVicVV6OU9RWXAvMmRZZ1RKcTNmZXM2aU9odGIwU2czVndWVmxQeFN6aTN3?= =?utf-8?B?Z09NUFpRYlhiNGkzKzhCT0JabXQvMUVSbFhUdmc4eHNMOWZya2tQUHdURlBX?= =?utf-8?B?VFFLOXBsUlBSWTdRQUV1dTVoVXpDWWN0a09JUUNBYW1LcFM5UmJQWG1WSWRz?= =?utf-8?B?Ny9tNVYyUlFYVEFLWmIxRmxOcnFta3JZTmhkWWVYRE94R01EQlBFczJySXV3?= =?utf-8?B?Y2pWTmQraTc2TkV1VHV6V0c1cDdSdzhFWWlha0VvV0N3cFdpNnJ6Y2hZNDYz?= =?utf-8?B?OGJTazZpbjkybVkrYk9HelBvejBkZlVzSWs4VGplQmF0MHRnMEhzWDZnb2p5?= =?utf-8?B?dGJ6bER2NmFmUU5VMDNianp2ejVWODJGQWYrWXBlT0VTY0RPS3VZMkI2c1dX?= =?utf-8?B?U1QrdExkalB4R0x1MSs5cnBDWkE5TWtGanZFeUpuRmJ5b0V0OXBQWGxQQ0ly?= =?utf-8?B?a0IrZmRDV0l5VW5GckF4Q1N2N2JNc2FNc1A3UWJzRXJRV3BNRW9IWWFLVVBw?= =?utf-8?B?QTZ1U1ZidDdlSGpJMUtDbWExTFpEbHNiRWFFSjVmM3VUejlSQzNxNVovanph?= =?utf-8?B?RlkyRUdZOEJzdEdFV0w3R05tb0p1dW4zSUgrR0hpeXRXWHVrNzdid08xc0xs?= =?utf-8?B?TjhGckZNYWpXNmFTZTM3MEJ5L3BXWVBDM002cTVYY2VCc2RxSnpIT0lpNFhR?= =?utf-8?B?aWM2RGJFVXpWL3lPUGt4U0MzdG9tNXVpYzJEQXY1ZVI0VFBKTzdvd0M5dEVv?= =?utf-8?B?d3M5R3dhNUlLUlNwNUg3d00zNEtUMURRZmZWWjh4aDg5eHNGUk0zOUJpbVdo?= =?utf-8?B?RlhFSXhkQUtFUGJzNk13Q1JkTW93bFpsZEFQNm43U1g2b0liWE1FZ3RNTldk?= =?utf-8?B?R1pFY0NBMmdPUzJiZkZsV1RQUzhCSGYxMXB0SFVtcEFOQWJHUEIxcHFndzMz?= =?utf-8?B?NEllaWhaU3h6c3dOTUdQbk52UGVIZGNvY3dvS2E3RTZKTGFZUXB5a0RIRERq?= =?utf-8?B?TXF3cVRreGdqQ0N4ODY3WHdRVFcwSEVKeGl6YUhwUDJub1c0RWVOelcxN0RS?= =?utf-8?B?OENncUlYdG9hWGNzNUNoQnFJSEtJdCsvcFkzMUlkaUx1TnE1a2QzZnZ5YkZa?= =?utf-8?B?L0JZMnZrZ3JpM2pqMFMveFBpbWtkTnFUQTZQRTdxVWtXMFcyVGxrL1NnZ1hE?= =?utf-8?B?QU1ERFdiY0hwcXp3NWxyUmxMa0VLdytJNHh5Nm53MENsOHJmTWMwaTNWT1R2?= =?utf-8?B?Z3UvaVVPcmZKNzdVNnhUdlZYWDhBbjRxb2prOVRrN0p0MG5MQVNoZHZJODdY?= =?utf-8?B?VTN4RUlHREt2aFFoQm90MmtGbUZGZERLclM4SVhnRGw1djNPOGxkdVBGYm04?= =?utf-8?B?S2ZpTEF2bEpJVG5JRDBqa1NmbWMvNlhjdGVOVFlYYzMwK0E0UFlucVhEaEFw?= =?utf-8?B?eURiYmJTYmlkdk92NHkyZ0xmT3RLTHRMc3ZsZ0IzQmhjYTBQM3NUVzkwZ1NW?= =?utf-8?B?WG8wVWJjN0t6QlpvT1plSmI5TittNlBKcHNkdFA2ZkpjemMvMDYrWE5ZYnd2?= =?utf-8?Q?ZFpqHCMzb38r6AK/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 List-Id: 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.