From patchwork Fri May 19 13:30:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 96421 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1237545vqo; Fri, 19 May 2023 06:31:11 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6Q8AGuWoYGxY7TAj6WCUQShAKemOhtILm/k8CLYmv3V2r9P4nWdZMZAcFreGf6prVTnLGl X-Received: by 2002:a17:907:1c01:b0:965:a5b5:e084 with SMTP id nc1-20020a1709071c0100b00965a5b5e084mr1973400ejc.50.1684503071706; Fri, 19 May 2023 06:31:11 -0700 (PDT) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id k3-20020a170906158300b009657c879f40si3174079ejd.525.2023.05.19.06.31.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 May 2023 06:31:11 -0700 (PDT) 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=RvS+lfCi; 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 137503858C41 for ; Fri, 19 May 2023 13:31:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 137503858C41 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1684503069; bh=YPMgRxGfpm5Oj8dy1R8kl2w7mB6wSQBaxT0bC+uc/fY=; 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=RvS+lfCi4QClis4AoTLTNvcS4ahaBU1A5W/00hrPkFVTKo3hm4H55SLSxvdbgZC0V ASmzKbb08alLPXDATw4fz/xmdeFBuIB35P6tLLM11xzmuN4hmqjgrD0Ve5N7PzbG8X 1A543SGIMn0ZZ35orZGol3GuqOqeV36rqpMcMCcE= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2048.outbound.protection.outlook.com [40.107.103.48]) by sourceware.org (Postfix) with ESMTPS id 6BB683858C41 for ; Fri, 19 May 2023 13:31:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6BB683858C41 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fADR8SGsKmh/JDKkdYcNFkLUrjnwIdEnchk0KKYV3gN7yTN6yYaJA71K339sc0Hs7SOE4L+pm46tnmarJYzro9tSbkQgvZFLZH9KACKfjrv8d76SYTUfPVRbMdvDGGCZ4kG0/GKADzHq0gRR8qi+S+sQzy3Is3kyoWjIyF4gTMKlt+3HDOYjtyxORLWQA9Jryx3QT7g5g9qQG+/XST08fdN9zEUQLu8H+qZZYTd/rgP2q+KmFw4H3cmjX8jOjo9i16i9gCW8TmuY8g3IoXuqVGclWamzS1VGEc5z5kSxHP9ryOZTvF6HfxubpCTWjU/aM0rmsC8mqqRz9y6iYWMYrQ== 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=YPMgRxGfpm5Oj8dy1R8kl2w7mB6wSQBaxT0bC+uc/fY=; b=NPP/eYVOK7SjBCtE32dWyL6HY8zIZl/2iKemTjm7eKUzem/fGcRS3/J3cSq8YGtl3vWm25vzDmw55RTx3jNE3pzHCttyRJHbxBpS91xFdxpSgFg5PyPIxu7+jmvThECpY8J0s/hDHz6GRaTEGpLSvk8QG10FhaWjX/Gq5uIjds7hQwsSixcAtjjv9pmisSkggwyBSbyc69NGQLrS6ZmJOKkg1hNi00vECUD6WDr0JjOA2VTqb3/pfDOuOPnLrsjLvDMA4DpFKFi0dGPUJuo+zhJPu4Pyv/VLyT9IhixCdV3UMrNo6KaZ7SScBUSDpbhXrDXVCLDKGlR36qgYaLMy3Q== 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 AM9PR04MB7601.eurprd04.prod.outlook.com (2603:10a6:20b:285::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.21; Fri, 19 May 2023 13:30:59 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::e442:306f:7711:e24c]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::e442:306f:7711:e24c%5]) with mapi id 15.20.6411.021; Fri, 19 May 2023 13:30:59 +0000 Message-ID: Date: Fri, 19 May 2023 15:30:57 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Subject: [PATCH 1/2] x86: de-duplicate operand_special_chars[] wrt extra_symbol_chars[] Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR2P281CA0056.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:93::7) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7601:EE_ X-MS-Office365-Filtering-Correlation-Id: 10eb8d0a-d688-4456-1dbc-08db586d483f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XfLqFROkNOYnzE2WjAOZgRzOgiNBSKOSCdNZCiR6z7y4XD+bdfstA5o36SRouPFamPPh8FDn3/ADjPMwqeJ0gWWCO+bPBKkdU3lzc9XkCwNSF4bBsH++FM2wldw0azcUdMZyUDM9W3xUOzphQqasafImzsyLLsvMc705I4cYoBHJMoekzt5goNNAuSIX6LaGL+cClHEUIbHOlR7Ufp2P/8kSZdSGV8OXnUqpwbOiUfPuZDDUZNB45zweVSTtFdn5pSkL69OQgnC2bhtG9g+2brXzzYy+LILL9rnU+FPHoYtpA4ZvBY/Xkpk/I5QSDpiFFSSyzbsaUR6EF5U/v6a5gwoPb57QTlmEvL6cSCigneCCqmjaJmaQlehSWinvU8ONk2lfUsCXIv0FubKVObybaNHzP+GOiFckpcpRs7Ku0TuADVcozy0/EN4sM1J8jFYsIGwhMNrI88qNAea4WUiUwFQAepGxrCjp0ed3RfGNZw8+ffLgP78JIJPecA0aSJjYhWL+uSDfFQOandqqafSJpcJxUlkvhdfqlR/5RH5EcMBWds09WcNfC469cQGe/hYSIzgEujUEH/zk5NBLZ0Iv8fFkQjpDgJtl3BoXmPJXyJDuVmAO6Ac7VHWKfWUCSFabidiZYTRJWFULc+2kXV8R3g== 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:(13230028)(346002)(376002)(136003)(396003)(39860400002)(366004)(451199021)(41300700001)(6486002)(38100700002)(6512007)(6506007)(26005)(36756003)(5660300002)(2616005)(186003)(2906002)(86362001)(31696002)(8936002)(8676002)(4326008)(6916009)(66556008)(66476007)(66946007)(478600001)(31686004)(316002)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Ng7LVkgVF8NLiXiHB21P9glZ4QHm?= =?utf-8?q?lIwTH42XRnB7/1glKa+1wkmiO7ApZ8ehIqN6BauQOH3ySt7HLHTFsyhdgPalJwqgp?= =?utf-8?q?dcaZ2JK7v2bVo9Q7h3vj/kGGO4z3QOgjVCuM0TsbiUBUAB/mhcoARqz2lVbUOPsuL?= =?utf-8?q?oaFwsJagdTodah9nSHIbCD2a23ByoOE2wkPOM1S7BILotZKAZs2V8KvLTC8t2fQag?= =?utf-8?q?4hqoo8hQi/pzPboP4CDh3UY+KVx5MrPptIicFFjXfJYbjEBFnd60FxqORk6nYikoq?= =?utf-8?q?lCXVcHioaoYQ2bLI9yJl0emBeE0bHJrITq6+7yYeTqnTySoiQyhAlTRI+CryQLVax?= =?utf-8?q?oiRY0hZGQIQaF2s43uk1AEtdqeE8GCzSq0wC29JzgUDVkVVKashZ9zustkVL/lK6n?= =?utf-8?q?JjduIEX2JAXlY+99+cp0IvTlNRK7rclTWm1pCZco8PgRrqvLBMhJjmIIlEh5cD6Yw?= =?utf-8?q?CVJfQMjnwPjfqaAo3zWWGh0dkNKvQZamnbxdF4kfkeDcBGLZtUAshy8oAHU2VFEsF?= =?utf-8?q?fN+GiDArz3hJmAYzKff6J2Y/trTb4KxwlmKUiSUmGNSXKY8WwgeULla6Hui3EK09d?= =?utf-8?q?S05FW60EgpvNpR0lQCScIhNaXo2zGLJUm4JLyv7Xr2NmVC1S0YyPMPFlAP0yIC/ZE?= =?utf-8?q?ytfdjsNILGeWdqHJgYokiwkv4axDQVYmf+oqLPc0kZ+N+LvQkMAHOLTrRI0BjhzEM?= =?utf-8?q?e1fHBVg0hEbuzXqi0gwmWw6wST9OZUHbdGelUjColVLZC/ksUgBQ74VDtiY5IwSeJ?= =?utf-8?q?3M49VbZmD//4U8wduhWbtQDfxt0LMhhqObeBKVWpkxcD88PNS0zQq4DPsmHvrYCIh?= =?utf-8?q?6axwD7FuejtPHAmrE8LrgIOd0EGRa92ziR+dW1fyakVcQNFZAsuF5z9bBKjMotxiv?= =?utf-8?q?tN2an+ov3b0ifPtR2ve1ggbxS4TW7nAJmN4stUPZ22Ids32WbDHmEYPBtYsQyCe0D?= =?utf-8?q?pZNYIJnHUOBu6bRQOIXGZqGVSTZo8AaIYe5Isd6C53fD9HCnlI8rc9EOUbuoMAIc3?= =?utf-8?q?o+nlEByfUYPKyTjJ1f7xgHwRuAxIQ4GE4QvQdyjn7c7NlO22rFCGyY/UWNvPuJ+4V?= =?utf-8?q?zCUsvMf0vQDs6fTIShMm8GmF8R/R+9N9fN0qTdAgG0QeOjoN9i38j1yeyQDCzN5Du?= =?utf-8?q?okJpguQifASRJYQrUrosMJQFnZvkYgALv+ljpGtY92GEc9BZJi24V5GwmIcYrXDFe?= =?utf-8?q?yQZXEg7pJpPR6HOYR1idzFK06MINWZ7O9/SCD3AbP5jThAd3bKMv5I5dc5a++vIn8?= =?utf-8?q?0CFNYyQUyFe5MaGPq0GhHEpZm//PYneiSEyNydZN++/Y+fxjs9OtPLh8jGfCUALBe?= =?utf-8?q?/psPllXD6v58SxTfZNiPPpAt09faE5txOUwir3TpYISbd3Q7RUxcuatA+H67kHrxD?= =?utf-8?q?o15qjcLoBRSBJyMtVmP/vEAcyeX5DuR3tZtkfs14Hars0cXQvViL0tdC4yT9VBWOp?= =?utf-8?q?BrxFEoI+oGmN48ZaT0uunEnja5JITgrNrLpYNyk60uJ2oCgLnUkQpjT/ZOJyNwFn/?= =?utf-8?q?89w/N4uQ8tQT?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 10eb8d0a-d688-4456-1dbc-08db586d483f X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2023 13:30:59.1659 (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: MA7b2OelhxycJMEdpd9p2T4kli8VIBEkM0tkyQAze6XYTAuva3kktUlsikg/vTDZIzlAIiIfVwryKWEcZBi4HA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7601 X-Spam-Status: No, score=-3027.8 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, T_SCC_BODY_TEXT_LINE 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?1766329492817883577?= X-GMAIL-MSGID: =?utf-8?q?1766329492817883577?= Having to add characters to both arrays can easily lead to oversights. Consuming extra_symbol_chars[] when populating operand_chars[] also allows to drop two special cases in md_begin(). Constify operand_special_chars[] at this occasion. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -546,8 +546,9 @@ static char operand_chars[256]; #define is_register_char(x) (register_chars[(unsigned char) x]) #define is_space_char(x) ((x) == ' ') -/* All non-digit non-letter characters that may occur in an operand. */ -static char operand_special_chars[] = "%$-+(,)*._~/<>|&^!=:[@]"; +/* All non-digit non-letter characters that may occur in an operand and + which aren't already in extra_symbol_chars[]. */ +static const char operand_special_chars[] = "$+,)._~/<>|&^!=:@]"; /* md_assemble() always leaves the strings it's passed unaltered. To effect this we maintain a stack of saved characters that we've smashed @@ -3068,7 +3069,7 @@ md_begin (void) /* Fill in lexical tables: mnemonic_chars, operand_chars. */ { int c; - char *p; + const char *p; for (c = 0; c < 256; c++) { @@ -3085,10 +3086,7 @@ md_begin (void) operand_chars[c] = c; } else if (c == '{' || c == '}') - { - mnemonic_chars[c] = c; - operand_chars[c] = c; - } + mnemonic_chars[c] = c; #ifdef SVR4_COMMENT_CHARS else if (c == '\\' && strchr (i386_comment_chars, '/')) operand_chars[c] = c; @@ -3098,13 +3096,12 @@ md_begin (void) operand_chars[c] = c; } -#ifdef LEX_QM - operand_chars['?'] = '?'; -#endif mnemonic_chars['_'] = '_'; mnemonic_chars['-'] = '-'; mnemonic_chars['.'] = '.'; + for (p = extra_symbol_chars; *p != '\0'; p++) + operand_chars[(unsigned char) *p] = *p; for (p = operand_special_chars; *p != '\0'; p++) operand_chars[(unsigned char) *p] = *p; }