From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 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=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 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=51SgIDeKj0XCw+REQqHcVKeiNwluKu4/2RJ4J3whhvg=; b=vHf9vHHS1KRZP7V98vnX88xSWYgL5I45Epn+b94RbnqSLwHybrciRuk3b1r/cH5Te+3SH+DtlO90F11afkmDnpdFZCtXz28YJnEjErLRgf3aixpMyzkMZe2kQWrUjAGJ2yUVsWy+dad7gupIvC4c7OYUYZEiZ/nO+526cY9vUcoIG7KwLSJ71+NKMDuJX/E5TMZJGrS1BkIzh3npjENaCDw2Ebxq2wF8DeHnJ1gceFqZNKFS5PeifqEQd3mqG0t3du0Ut3zYgd5GDZsXqXqwdLLtS5k87gdotZWpi90qYLpHYfLVZ5l5nfMSzwYj4zvuD3n5/WyrlXBhXFTHITR4kg== 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 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: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit 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?B?QWtjMGRFOElQekFiWGgxYitXWHJtL0hFMVlrcVllZVN2SFg1Yk1DUmNGUzJw?= =?utf-8?B?N3hwMXM4Z292VEJ6aHEzUFNicWxMOXZoZW9nWUwwbndoOGJReDIzcllkUWpD?= =?utf-8?B?UVJuNFF6Ry9lNy9FYUxzTys3RC9IQ1Z3Qk0rbUNhZERGTkFVdkxMTFJkZlpS?= =?utf-8?B?Q0lVeENNZUVaVmwyRm1NS1hjMUVURGV0c3hBc2dXWXZOUEVPbnA0d0JueDhh?= =?utf-8?B?dDZRQW1JZXBDWVM5c21WWXF6YWUzek14U1pBK2tHQnJKYWxJSjdCOVBxdDN5?= =?utf-8?B?RXVVc1pWTStVZXBEeDA3dzBEeG1kejlYL0RMMUd2T3BkUUpKOHZWRFdXY0dC?= =?utf-8?B?RE03emM5NDVub3IvOTArNkgvWkU4VzRLVmRNdVlEQXBmckEwMC9JaXdGazJr?= =?utf-8?B?YUxGaFc4YUlJejJpMHFvSzVLYXJIa2dqL1VHek1BUmNQTGpPenY5R0FvbHkv?= =?utf-8?B?NTJ6OVlvRnpodnl4NmFoQms3UGJMR0Y4aE8zS1p6MnI2YTU0clF6NE1mbHhR?= =?utf-8?B?RzduUTllY3hpbko1MXY1RkkzMmNOU0JLbytXYWVnNjdDYkNOK01HUThWSHhN?= =?utf-8?B?cEdnY3VpbTBlMjF0YWNpZVJBQ2xRWnhNeUNqSkkvT1FMWTlFRk9rSXRVSFpz?= =?utf-8?B?QnFwRlp5YnJyUHYrSlBObngvTHZjVzZiUkwxaVBDMVQyVEs1M3pCa3dqNmZw?= =?utf-8?B?T0tHdHRNUEVLaTBpT29LMEpZSExOb2lEeVBmRkdNSXhHV3A2MGZhWGd4aXZC?= =?utf-8?B?UTdhSi9yZVZQR0ZRdG9lbG9UMVkydUFJSnVRYzdRTFV3ZS9kY2VITXVIL2w3?= =?utf-8?B?WTlqSktCTWV1MldYaktrMGNuRW9uU1FjYnZlSmpXNGhUS1k4UFBkUnc4WndF?= =?utf-8?B?aDYzcTBjdEdTVStFYUpKbWZkVXBkbGhBblNaTkQ5WnFIS05PV2JLOExkMlhw?= =?utf-8?B?aGJDZWxLQVpQUFdnUE9jRHRKK2hwaEozMHg5cG13R2NKK28reVlEWVZUajF6?= =?utf-8?B?bDNQZklMQXhCUXFjVGRoTDNadG4wVWZiaDI5WWpsVGZFamc5QlpEUzJDcFVl?= =?utf-8?B?WHpaZzBFTHBEUTZyamNSd3lnZTdhMEtoNkJMVlNwaTNUMG5CYTIwT0FJNkZ5?= =?utf-8?B?ditERytTMzNGTk5xYitHbU1kQVk1d3hwR0ExcGFKRjVpamJwVGJNc2JJeTNx?= =?utf-8?B?eXlRUyt0NWd4T0gvcFdOeXRKQUZGbVZaM3hhQWhOMTdpT2hQTGcwY3N1blNy?= =?utf-8?B?Zk1TbE5EOFNSdEYyQVdSSXlJVitZSzdkODFlOWRvcFo3dDNabVhPSlVkcHVD?= =?utf-8?B?NTZLY2VMNUVwbnl5anZuZmxlSEwwS00yU1g0L3IzRk9PVlRlb1ZTdDZmd2c0?= =?utf-8?B?NkJVREpoWGIxeHFOY3BEMGZXSTdiQi9uMzR3ZnQ3NitKVjZNYXVmeUFyR3ZZ?= =?utf-8?B?MGlvSFoxTmV6QkZjUE5tM3NYVU9IRWxmMVJLaGtOdk5Yb2krekFnUVZtMnRm?= =?utf-8?B?UWFXWU1sbkxTaDI4TWNMNlgyaVlGQ3JMZnZvakhEc2ppSHliTnJHSHZweWJi?= =?utf-8?B?TXpHdVZTVXdCQkp0NUs3eDhHSkhzZSsxaGZQRjNJcmFNeUJxVzFwQWZRTjlY?= =?utf-8?B?WHcwck4rTllkVWNJUXZnanB6WGU1c3U3Y3R5NzM5eGZaYlJkbHdiRUR2Sy9m?= =?utf-8?B?L01zWFZ4c2wrNXl3cGlxV3NMWEZaSlFGUXhidUNNUnI3dHlHeVQzb1ZvVE5t?= =?utf-8?B?dUlZbFh3WFFGMHZpWTJPZEJHQ3ZJWnFEdm5tcWo2S04rVzdhTzBHUlN2YWRs?= =?utf-8?B?MVNmbTR1SmU5NVNKUWw3OGdiUFZQQ0E1d0Z2UXR4dXc5WTVwdWgySGV3enVP?= =?utf-8?B?NXo0R3dCS21yNmt4M2ZmdUppWmhrNHIrM0R5ZUtuaVhrVkpCYXNzbW5TWExq?= =?utf-8?B?ZlMzTXNjR2VZU2JleWcvRXAyNUxXV1JUbEwxdTc3N1JYdEVRN1F3bVVSdkNP?= =?utf-8?B?dlY0VmtHYnZBNW8wMk5JMjIrZkQ2YSs4TnMrVDF0ekxMMEMyM1VmWDdQekxn?= =?utf-8?B?YktWNGdFS3U5Mk1JdXFBN3ZsS2ZrNkdXRjlCKzhyeE03bUlUT1ZsemRxNUNt?= =?utf-8?Q?h43nP4pV3kbI6kUpkWeTvVzkK?= 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 List-Id: 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;