From patchwork Fri Dec 2 10:18:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 28852 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp750439wrr; Fri, 2 Dec 2022 02:18:13 -0800 (PST) X-Google-Smtp-Source: AA0mqf4V7zGowzypn4ckxVbVYcxIH9YTJKlGHHr3QlVY6cwUEMEjTXAqsyZJuA59JGrszf6CdVVU X-Received: by 2002:a17:907:2904:b0:78d:b598:bb6a with SMTP id eq4-20020a170907290400b0078db598bb6amr45891700ejc.258.1669976293720; Fri, 02 Dec 2022 02:18: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 hd36-20020a17090796a400b007721f88d3e0si5403301ejc.554.2022.12.02.02.18.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Dec 2022 02:18: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="V6V2Ov/K"; 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 888CF3858C60 for ; Fri, 2 Dec 2022 10:18:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 888CF3858C60 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1669976292; bh=51SgIDeKj0XCw+REQqHcVKeiNwluKu4/2RJ4J3whhvg=; 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=V6V2Ov/KQEutfEP8/wzQztI5TCs9asmjow1q2+8eMPJA+jNmTfu6aY2sZ8gLJBteY 6L1JjgL8oMgPSVXN3jWCkWPukxSD5f8J5RBR1BYoSxCD39O7mblVsoGajHCF85/966 PeBP1htppO7faha6WxvJkAVDO0o4SKnqGCY+hY28= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2044.outbound.protection.outlook.com [40.107.105.44]) by sourceware.org (Postfix) with ESMTPS id 15CFE3858404 for ; Fri, 2 Dec 2022 10:18:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 15CFE3858404 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kGiE3FaO1iPhM3gJC0SfY2rdFiLdhMEpRxxjQVTyKFmkJDuz30qb5sLOtVUDoLeuaOqFZGGDEO5gyOOy/1ioc/Bi/wZ3xtV7lVraVPBt29sfUEJTeZu8fXjm3DN3lNY58x/EDzGxxxylq0UE2BrmK2QId/hCUDn6nRhMIf7UHC0KsML83bNK97VHgPE71+956afXpBot3qBTf5bXRwY0qjJV/FX7jqJt8uMCXoGEFqsD30Tt93rl4/iPYqTySp8WuJyayN90pqtdXjuigmhadM/7C87hnWfPLmaOBuz0z2UH4AMqcKXEHBN/U9sWGA1bR0XfCzdOLH6rQq4ioFoz4w== 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=51SgIDeKj0XCw+REQqHcVKeiNwluKu4/2RJ4J3whhvg=; b=Od2ZH4xAmNjIGWMFFY7sonToKSg1y+bEywEXG1UQSpbt5dFzpcXBM9XAFS20ZQHf+Cppz1rW1o5g2lFN5/lnLpVFLuhbJHgtmYNl2+36BWCIJpuz8Jc2bpLSnSqB87oMu6obPNy6j+l6sNyE0cyK3yIGeCtkSurytPnfDKpS00fGdNCLmuVLqzEwVhF+yoH8EWErfHMWFZDY9Mod44rIwvKDf5tp67OhJLsS0Vx9uRbXaMMxCxz5uFnHdD9Z7fCFKisQ3xk520G/kkx6uVjs75sH+UCtuQjYPBehbZXWBBnPeAodcW90E/YdbXGd+fTjraKjgx3EVA5cHknqesckfQ== 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 AM9PR04MB8321.eurprd04.prod.outlook.com (2603:10a6:20b:3ed::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Fri, 2 Dec 2022 10:18:01 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022 10:18:01 +0000 Message-ID: <8bfb1c56-8207-fe92-87ae-1b7ef26b3544@suse.com> Date: Fri, 2 Dec 2022 11:18:00 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: [PATCH v7 1/7] x86: constify parse_insn()'s input Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR3P281CA0072.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::23) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8321:EE_ X-MS-Office365-Filtering-Correlation-Id: b5cab830-5862-472c-ab73-08dad44e7e34 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /KeZfRkZwmBDKlDfKO35W17W/j4yEdUB6h5LGhlCjoio9qWFSVdWpreMsIWJL2vgAqS16jgiG/K0q0+YEW66sdINXvK7eQdS43IgrOiJg84/aS63+TJSnfjROojDc0Z/wx0IekfQHkamfMF0P5kbTVvKhmvDk2pwgPHCjixE3b1f3+JnQh+ekBzdBn25OX+j9aJaCeKxxe2c8fj6t+F63hjN+YPcjNViK9ZARmObwVCeb9pucP/X/k9MWO6+31lTV4lqwJzxy0VTy/KjkcKV+f3cuRBUw7YVIQRQM055XXN+1oENTLqPSCTmJUwBymZcHhdjk4fjaVs9Rk6wuZsX21aj892bFcdF4XR9OGfR7e/95n+bjvvZNDHBhRNYPBkYyNPDUarL3Cnm1dg4K+t4oqaiHi+iMOa/e7etRLRCVM8tsb45yND/v5xruI3YycbFgCeXP6urwQWqNXG7ys1rDf+q84btdXo2027rT0WuEcBwDN9Rv1dhLHw9r7xm5++sdQkJ+Ne7lFG+SnG2W3kYF66LyN0gjppwbREqZzwjndNWLsgd4Zxg2lJo/DBGdvRIvPfuMcKvR8MWDAWtL4b6aeMvduu548C5YCCFjQQgtXPHzPQifh5K24hDE8gnizyXuegICVIFtQvBdJ+guO3Dy72mMt1zNkFd4FwhP74mFbDBPV8M0iia/i/nnNtFi/4IWRynpK5GboOXiIkDvG0RIOTOi5HpBY8Orwj0o1V/DvI= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1PR04MB6560.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(136003)(376002)(346002)(366004)(39860400002)(396003)(451199015)(8676002)(4326008)(41300700001)(5660300002)(66476007)(66946007)(66556008)(316002)(2906002)(31686004)(8936002)(6916009)(6486002)(36756003)(478600001)(6506007)(26005)(6512007)(83380400001)(2616005)(31696002)(86362001)(38100700002)(186003)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Akc0dE8IPzAbXh1b+WXrm/HE1Ykq?= =?utf-8?q?YeeSvHX5bMCRcFS2p7xp1s8govTBzhq3PSbqlL9vheogYL0nwh8bQx23rYdQjCQRn?= =?utf-8?q?4QzG/e7/EaLsO+7D/HCVwBM+mCadDFNAUvLLLRdfZRCIUxCMeEZVl2FmMKXc1ETDe?= =?utf-8?q?tsxAsgWYvNPEOnp4wBnx8at6QAmIepCYS9smVYqzae3zMxSZA+kGBrJalIJ7B9Pqt?= =?utf-8?q?3yEuUsZVM+UepDx07w0Dxmdz9X/DL1GvOpdQJJ8vVDWWcGBDM7zc945nor/90+6H/?= =?utf-8?q?ZE8W4KVdMuYDApfrA00/IiwFk2kaLFhW8aIIz2i0qoK5KarHkgj/UGzMARcPLjOzv?= =?utf-8?q?9GAoly/52z9YoFzhvyx6ahBk7PbLGF8hO3KZz2r6a54rQz4MflxQG7nQ9ecxinJ51?= =?utf-8?q?v5FI32cNSBKo+Waeg67CbCN+MGQ8VHxMpGgcuim0e21tacieRAClQZxMyCjJI/OQL?= =?utf-8?q?Y9EFOkItUHZsBqpFZybrrPv+JPNnx/LvcW6bRL1iPC1T2TK53zBkwj6fpOKGttMPE?= =?utf-8?q?Ki0iOoK0JYHLNoiDyPfFGMIxGWp60faXgxivBQ7aJ/reVPGFQtoeloT1Y2uAIJuQc?= =?utf-8?q?7QLUwe/dceHMuH/l7Y9jJKBMeu2WXjKk0cnEonSQcbveJjW4hTKY8PPdRw8ZwEh63?= =?utf-8?q?q0ctGSU+EaJJmfdUpdlhAnSZND9ZqHKNOWbK8Ld2XphbCelKAZPPWgPOcDtJ+hphJ?= =?utf-8?q?30x9pmwGcJ+o+yYDYVTj1zl3PfILAxBQqcTdhL3Ztn0Ufbh29YjlTfEjg9BZDS2Cp?= =?utf-8?q?UeXzZg0ELpDQ6rjcRwyge7a0Kh6BLVSpi3T0nBa20OAI6Fyv+DG+S33FNNqb+GmMd?= =?utf-8?q?AY5wxpGA1paJF5ijbpTbMsbIy3qyyQS+t5gxOH/pWNytJAFFmVZ3xaAhN17iOhPLg?= =?utf-8?q?0csunSrfMSlND8SRtF2AWRIyIV+YK7d81e9dopZ7t3ZmXOJUdpuC56KceL5Epnyyj?= =?utf-8?q?vnfleHL0KM2SX4/r3FOOVTeoVSt6fwg46BUDJhXb1xqNcpD0fWI7bB/n34wft76+J?= =?utf-8?q?V6MaufyArGvY0ioHZ1NezBFcPNm3sXUOHElf1RKhkNvNXoi+zAgQVm2tfQaWYMlnL?= =?utf-8?q?Sh28McL6X2iYFCrLfvojHDsjiHybNrGHvpybbMzGuVSUwBBJt5K7x8GJHse+1hfPF?= =?utf-8?q?3IraMyBqW1pAfQN9XXw0rN+NYdUcIQvgjpzXe5su7cty739xfZbRdlwbEDvK/f/Ms?= =?utf-8?q?XVxsl+5ywpiqWsLXFZJQFQxbuCMRr7tyGyT3oVoTNmuIYlXwXQF0viY2OdBGCvIZq?= =?utf-8?q?Dvnmqj6KN+W7aO0GRSvadl1Sfm4uJe95SJQl78gbPVPCA5wFvQtxuw9Y5puh2Hewz?= =?utf-8?q?uO5z4GwBKmr6kx3ffuJiZhk4r+3DyeKniXkVJBassmnSXLjfS3MscGeYSbeyg/Ep2?= =?utf-8?q?5LWWRTlL1u777RXtEQ7QwmURvCOvV4VkGbvA5o02NI22+fD6a+8Ns+T1tzLL0C23U?= =?utf-8?q?fX7PzLgbKV4gEKu92MIuqA7vlKfk6GWF9B+8rxM7mITOVlzdq5Cmh43nP4pV3kbI6?= =?utf-8?q?kUpkWeTvVzkK?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b5cab830-5862-472c-ab73-08dad44e7e34 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 10:18:01.7046 (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: dLhXFyzZZjE0UBGxxKSSoVU4u6a4b9Gp7YUiK8yHa84aZhcEOXrV3vKTrrfCY7vmrfPkPJS/twtkW6v3WSecfA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8321 X-Spam-Status: No, score=-3029.0 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?1751097062215878597?= X-GMAIL-MSGID: =?utf-8?q?1751097062215878597?= The function doesn't alter its input buffer: Reflect this in its prototype. To avoid using any kind of cast, simply calculate the update of "line" from the function's input and output. --- Avoiding a cast the way it's done here is going to be useful in subsequent patches (there'll be code added between the call and the update of "line"), so switching to a cast is not really an option. --- v3: New. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -158,7 +158,7 @@ static int i386_intel_operand (char *, i static int i386_intel_simplify (expressionS *); static int i386_intel_parse_name (const char *, expressionS *); static const reg_entry *parse_register (char *, char **); -static char *parse_insn (char *, char *); +static const char *parse_insn (const char *, char *); static char *parse_operands (char *, const char *); static void swap_operands (void); static void swap_2_operands (unsigned int, unsigned int); @@ -4845,6 +4845,7 @@ md_assemble (char *line) { unsigned int j; char mnemonic[MAX_MNEM_SIZE], mnem_suffix; + const char *end; const insn_template *t; /* Initialize globals. */ @@ -4860,9 +4861,10 @@ md_assemble (char *line) We assume that the scrubber has arranged it so that line[0] is the valid start of a (possibly prefixed) mnemonic. */ - line = parse_insn (line, mnemonic); - if (line == NULL) + end = parse_insn (line, mnemonic); + if (end == NULL) return; + line += end - line; mnem_suffix = i.suffix; line = parse_operands (line, mnemonic); @@ -5260,11 +5262,10 @@ md_assemble (char *line) last_insn.kind = last_insn_other; } -static char * -parse_insn (char *line, char *mnemonic) +static const char * +parse_insn (const char *line, char *mnemonic) { - char *l = line; - char *token_start = l; + const char *l = line, *token_start = l; char *mnem_p; int supported; const insn_template *t;