From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2066.outbound.protection.outlook.com [40.107.22.66]) by sourceware.org (Postfix) with ESMTPS id 4FEB33858425 for ; Fri, 4 Nov 2022 10:50:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4FEB33858425 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=BFpTMWynwd8XquHyK+VYHK4AEY8G0jH1hgkh94btv+BR7QklEHQHlc++aDPRDKUoHUrpVmpQBmBgvJLbz8KoaXeZv0V7VuyPT8HGcg9EYLbu+0UqDBm/4NpiewcevMeWQeyiwlPJRX8saK6U0t7ZOFTk/Q9Y/tcVcDzgSjThj4JafK+wH8EG7Lhe2BUJXujkk/wGgExjfX8VRLDZtu5aG5NJzkgI2KN21XZDThGt7PYGXsdrNxqnKwiBwd0PDtIWAed3qxO84xVrXOebRckStar9/D8zIBC363ZIY8ZauWipYvdk6Dzi7lLoXuu4LBvru90s3TA/ZpA6ft4ULE9VVQ== 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=87IFQvyu4nCd7AsTCbao7eH5zSQH8HLcIOiQeYvwxmY=; b=Jw31ej8Ma7tI0JLTlkE6sU26WNoZ0ig53nRMeDAWXGqUkTnNVsvDCCZ0Fr2a+2NZxtM1/CP2RLshgQ4QqnT+aHpxHvYYvOgAbqxSn9kqvctUjspUF1mAfqjFnbbyf8LKp2JY8s8HTbRKouiGCQHpcQg0whaCrDRN5BjioAiWhOJ63rIW3jtbxJCDda8gdrIoU6w7zfVs05y0xxmh9/TjcIXAwC+SSs5f62oaBBNSUkQ20j5QCcPhDYpFI4uqJJu+6ePdQt9gmX43fhPwC/P5g41+ND7ByTOH7EZwsEDkB5YWx8yHXaorhvfaDa54R2iP5cyVoFUsfPx7b4wkNkr0sw== 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=87IFQvyu4nCd7AsTCbao7eH5zSQH8HLcIOiQeYvwxmY=; b=K5fwlH2oy2fP0ZrjT1tyaQ8DKubfD28YzdBpIEoqp/Hrn9VLn7ZesSxHxQbHiJ5d6VReiVT5Vl8PaEaY2v/SbcgWjwN8MM2ZOEzhV+ncvxVIqKV++rDTOvrbeFbgTSEMmbvNmRyHLod4DqEFwIlljzjEFfowP95087zXoJlj8bp/wOvZQ91g/Oxt7zpklDLXEDJnFwOofTKNeHwvtMDmX0D0TsLEo/OFfvnHF69zX4OWwSOUC3uEoIUIyvtjGO3OEHOK+cxDNMsd2Qj9ttsj3Z083/Elwyj4IWQk8vcvsh9RvKB8gpRLxjkqcMMTQP7PzEwBW0h/pwQfbjmIyicATg== 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 DB9PR04MB8378.eurprd04.prod.outlook.com (2603:10a6:10:25f::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.22; Fri, 4 Nov 2022 10:50:40 +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.5791.022; Fri, 4 Nov 2022 10:50:40 +0000 Message-ID: <926e5154-b40b-9df8-d770-a8bf7d40e40e@suse.com> Date: Fri, 4 Nov 2022 11:50:38 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Subject: [PATCH v6 1/7] x86: constify parse_insn()'s input Content-Language: en-US To: Binutils References: <6d71dc80-91c8-7bc8-c57f-4f771ca59fab@suse.com> Cc: "H.J. Lu" From: Jan Beulich In-Reply-To: <6d71dc80-91c8-7bc8-c57f-4f771ca59fab@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0087.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1f::9) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8378:EE_ X-MS-Office365-Filtering-Correlation-Id: e1d773b0-8d5b-4ac7-0246-08dabe5269fa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 50rEFy2MXopln8Kbk+9qnudnKeBLn0J9I8TBINq0ZS/7fkBP7ZnVy3c1RC/DOkrrU5A9VT6tIxLeMHvL9WqY2nDk9LMsdFxy7QVEvcBluwaX+Io5WqAfy+rFySuhTc5DQLokd8u9n/jipuSLvOfjG3pTfV4LXDPjx+ov/D7BDWk6XprmIjA/tZii5s4JQADcq5RTT9inQl9gfT4nqkcxNguy14FOF8dgm0GEy2Vwv2VKO3ZT2BcOZp7CneVrKZqogFSU/DTx4nwrdGFsn/g00Juk3A1ETDtafxndfMAbYDxPjcVQsNVEUNIS2evh6VHXfI/nNNPeZ7aSduQU2prOjKFLXnAgx49uuhSxUqYQ8NqTy+WKUB2W0imDKqgWjIoyNql7XkNioh2EsuV4ToU5TWy1v7l8DvGTZNV13BksQ25GDomvc1mG3RCdBFAS0BpWhE2VadPgPEPjeXvu9IgTDRgY2Ted/9/jgKWuXP5+zTIUhC5KJqH/jOJ/faLY5+dtkZJuFxK2dUI9FgBBRMfN/2gqWfbkZ4E/UoEOZgMm4H4udG19mNqCEvCgr/3v26jgST9kLK48rSyISd0GVudBYkmEhQa73Y620T+IchyluZfv4a3CEmEigWIUxxzMfRhou5LDG7TRHaj8AJM8go7eK6LCHFnatEgnN+peIyDA5YhQGISwiZ9fSi4OQgfoN2JQn+Pd4bk0nnMdXS6fRbpaeyxpNlNKJiKEXaChZsh0ngZtGL8kDdRB1qrfj12iFND6ivuT/9Md77kckdIAbfQ6FVTCazV8X+T3ZOgJOfYG2Yk= 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)(346002)(366004)(39860400002)(136003)(396003)(376002)(451199015)(36756003)(31696002)(86362001)(31686004)(83380400001)(38100700002)(186003)(6486002)(478600001)(6512007)(6506007)(26005)(66476007)(8936002)(316002)(41300700001)(66946007)(8676002)(2906002)(66556008)(4326008)(6916009)(5660300002)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YnlSNno0U2o2QjFaZm51NVJpall5NTFCTUdud3FnSkhUSVlPeWNlTzBySnhI?= =?utf-8?B?NE51UXVZdUZIMHc4THRJU2lTdU1SSDBkVUU5a2czVTVYejQ3UFIxbXRtSUxi?= =?utf-8?B?RnRRSS90a0VBaE9NTlpKWG5UQ3FJRVB4Tkp3NzU3dkRIWVh1SFBuWG5uUEsz?= =?utf-8?B?azVEb0lxVlIvcW1WdFlidXEzTGlyeU9GeGZTWUtIWHpOQlV5RHNDeGNtWFJR?= =?utf-8?B?SC9sYUo2TW9mNkdmbmg0UzJWTlE5SmhNL1NXU253MGhDT21SanlERDZmWGMr?= =?utf-8?B?Rm1RWWd6VldtcXRPMVNSQjN4c2dsU2xjYm1zMVcwYUdzYzVjTXNEZ1NmQU5B?= =?utf-8?B?SVV3Z0ZxY1VVVXI0ZnprVjdtMUdRV3BWU1hSU2FBWXdiUUplU3R6L04wNEpP?= =?utf-8?B?M1RlNnIzMlFwQ2psNVJqVmRUSTJRZHZhTlBhT0s2UnpwZkxXSWNTY285eHlR?= =?utf-8?B?cEJkWUEySzR1L2w2SU9XSGlRZkwzajQrOW4weTdiRFhrNEs4MVpIdVMvaU1z?= =?utf-8?B?eWdCUlQvMHJydWdpK2JhV1FveStpZVFjRVVrYm1Odm9MMlhNSWdHRFpQeUNB?= =?utf-8?B?bkt6UUpZUCtUNjlTVWhONWx0Sy9CSmFodnc3TlpOZ2UwYW55b2M1OXdPQVR0?= =?utf-8?B?MTk3NmZPeXJJOFZTanpXM1d4N1Z1N0V3V1kySGNwc21EcWNMZkpKdWdxRzhw?= =?utf-8?B?c3FHeE1RT1BOZWpJbUxXd3dPNUliUUpCVEhsWWt2L3ZtS0NKdDRkbjFZKzJS?= =?utf-8?B?N2FOSjgvU1JPVHdzRk1zL0Uwb0VPaGdkUjBPWXUvTmUzRSs0RDdqT3lTNEE0?= =?utf-8?B?R3J3M2N0b3dVNE55eDFTVjR1QXdjMjRrTUh2Z2hZb3VWMzFhVjZ2QjdwR05y?= =?utf-8?B?bW14T3g5TG9yTGV0ZHo3WGpYU1lXTUgzTmR4RGJ5ekkwY1FrWlMrenRuTEYy?= =?utf-8?B?MDdBdnBLN2YwMFlhL0NLWXpxOTF3ZmNrVnNNZkRYR0NscEg1TlkyYTVBMzA4?= =?utf-8?B?ZElnd0gzbUtWclBRMkE0SGdmQUpWYXJRMTRkOWVuZlBvK2lhVVFFWEk0RUJk?= =?utf-8?B?b0dJb3Y0UWg5eEFhT3BwMW1jVmhnTS9yaTJRaGlvbFpYK1BFNGdTMnBETW1H?= =?utf-8?B?ZnZkdWczeElpbEF0NkVaSDdoMTdRcW8yK3RKSWhzTzZCY0pEUmREaU9pTUVv?= =?utf-8?B?d21qUit0ZzAycGNGd2QwNW04SS9nd2syVFE4OFV0MVRZcER3L1dLbTZ2ZWxl?= =?utf-8?B?ZXN2US9SYWVrWHpNNDZhVXdDLzhLMTIvWlFWN0tiNEg1R1JBNk0zK2dkd2NW?= =?utf-8?B?STE0VGpDUVpjeDBlU2YwWFcrcStVcXpuUmVPSGk1dnFmalUzWVZqWXBGM0Rk?= =?utf-8?B?R0FZQlovaDV2OE9tempoWndsVVFzVUJXRXZwSkVJN09Od1NZWEVTUUt2UG9L?= =?utf-8?B?OFZkdTlIaG0zTEtVQ1BnNjFkSFpwTzJNRklUanBRZlJlYU9sWmd0VUYzZW5j?= =?utf-8?B?ZlN4cFdjOVpmNGxpRGd2aUR5T1JmckYyRXN0c09nVytnOUw1MTNCSGsvZTBZ?= =?utf-8?B?Yzh6LzZYOGc3WDRUQ1EvVU1jdzM3U2RKMzIvUkpIdXN1ZlVtdDRIYTJNS3JX?= =?utf-8?B?YnRpWVN4R0NLbm0wTGtxWVM4U0FESDRDWCtyekxyYU1xZmNWZ0cvVktkZUJN?= =?utf-8?B?UkdYSFlVeDl0YUVTSVRhNEpHVFhpcHlSK1RkWkIzYktVeDhkaks2WG02UGVs?= =?utf-8?B?N2xtTW0yNHlieTZRZGp0NE10RDNucm9uUWFENlFCNVJiY1JRa0Nra01CZXAv?= =?utf-8?B?aDBHMEhBc05hNjRzM0xxOFJQNkMzOU8rYzM1Yko0WVBWTmZ3ZGFUKzZKbTRJ?= =?utf-8?B?VjRjbm5Zdm9yRjJzZFNDRE14VWYwaWEzVnJmMWNQMU5MYmh0M0xyVlcwdEZX?= =?utf-8?B?akF4NzBheTg0UHV1R2JmSFlMNjRkQUVpZUpzSXFqVXU0ZWQ4a3hGOGpOWnhD?= =?utf-8?B?K2w2dnB3R2tzUWhBc085a3ljQ3Z0RjVMRGZZbUJ3Y0xISjhVcEphTC9haWxM?= =?utf-8?B?WkFjQ080ckZIUEVKVDRpY1dTaGhuREhGUWI2eHpQMW9VRnMwRVNVdnVmZUV4?= =?utf-8?Q?361y+923hkpdYpo7/IlJ2Tc2c?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e1d773b0-8d5b-4ac7-0246-08dabe5269fa X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2022 10:50:40.2496 (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: Zy8fXuHrjAwBXKMBvc2DFaMirw0IpnHDWGT8EQ0BLgIQkqIgqsqqhINXFw9f6rhcoch1mcuC2ydJDGpgvHD5Bg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8378 X-Spam-Status: No, score=-3029.5 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 @@ -157,7 +157,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); @@ -4839,6 +4839,7 @@ md_assemble (char *line) { unsigned int j; char mnemonic[MAX_MNEM_SIZE], mnem_suffix; + const char *end; const insn_template *t; /* Initialize globals. */ @@ -4854,9 +4855,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); @@ -5241,11 +5243,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;