From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2045.outbound.protection.outlook.com [40.107.247.45]) by sourceware.org (Postfix) with ESMTPS id 16083385843E for ; Tue, 25 Oct 2022 07:24:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 16083385843E 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=AhGdnQUy42Vh3aU0M/zePbDi/oBdruFPTUgnoWKLiU3hUndJj+KSIFPSWmU2/cozAv58DOlIoaEljuPR5CLnGmBXF6OBCXUrNHdNwi+6ntPbpHyOwM2qxcZDkkNQHqwIr12x5UQtZ8mM/G17xGer/ryBedFII2SYAD+avVZVjrFG1870KIBKDYwC3O6pr5/jz1G0yXUsSk12Wx8KECGkOjUjGoibdHkaD42nF63nak89c0OS4SnGyZdRWOJVTF4Qntbra5GgsJHREBQAWh60r8oASeWhBjp4y3YUy+wNEfh4x0FhaCStn0wHYbg6IwgfDgOBgD4+H6xgyEaDIiREFA== 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=mwhuDxNdqxnFfQ14G7Ad6WKLACKeLiDADn4EpDsZvQk=; b=Gav7crHwKwqK2QrUQt88fKjRAcc96GZRT5eC15peA8b+VGmXEIpFXu8UCjgYSkLOljCSa4chKvdM8ccVSqFLs9DI9KSmTNYen4ko4Hg49SXuXGfVpJ/1wDXKBiWO9tUUuYwcPQ8sJ8jF1KXzLkFg9UYvylkQ0Sb6UcVhDZstr5T95gr1jWUjVQgQUGXxYsguV0yN4LFlCDxxfDrl44uBBEKtemmJICFYPB8y/WlLeG/IJtwjC6wG/j9YaXfKraLg9L6c220/sOcl9bn3cr3BiRC7j9dOk+JON9WoeGuNMiN+tbVEBHo/p5Zt4MjGXLoZ9g0LQPnXXIXTUDaCYOQp1g== 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=mwhuDxNdqxnFfQ14G7Ad6WKLACKeLiDADn4EpDsZvQk=; b=LJB8y5xa3cvG7NiUJKm5VQFXFslhHGe1ZZRPJ4HEqQOW5o5TvD6Ysw06sD32ikzQu+Q6CEe0PVDkiGH4RSO79C2Nlq2AVolv+EcACXc7h3U8Pz2xNZ3aY0WLpQPSb8tfP8j52YN+k7qixuT/BkJ+0i+nMRcN5caG0EpdM7o5jwG4YqGGvRR3WEPzgbjnU1O8cBO70MtRCoqXtsB8amaETGN/PVz/09q+5E8g97EvCAMnBpFoXdKCQBC+srg14X45mZ0L53iAi4kjvor+/JW6kbXv1PtSuySMV5npfsgglI4jxHLAJoyvFxBEmU0p896soXC85Eu1rV1wmOrqFqp/Qg== 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 PA4PR04MB7933.eurprd04.prod.outlook.com (2603:10a6:102:b9::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.21; Tue, 25 Oct 2022 07:24:57 +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.5746.021; Tue, 25 Oct 2022 07:24:57 +0000 Message-ID: Date: Tue, 25 Oct 2022 09:24:56 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.0 Subject: [PATCH v5 1/8] x86: constify parse_insn()'s input Content-Language: en-US To: Binutils References: Cc: "H.J. Lu" From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0065.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::20) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7933:EE_ X-MS-Office365-Filtering-Correlation-Id: 9cbe6df9-1376-4635-c462-08dab65a04ee X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: O3nGgnRDYON6WW/nUAWaJkx9eH8KTjYEtP4J/VXfGXNXc+SOPLUVo2Ne4pvrabawu9r0jkX/EtBVmRYMSMGTZaVSDYy/y11vSMpr9S/UJW7qxuNXud60+RqfchnA4TkH0NrzpcGZj9CqQxRswB77aC9Q2vQaIE5fvId5Zprb65CakbpaXPvsJfhzpb0qKK0GwHMtCH7fU/G3ehVsP9ScIw1BJfzVtbav6QshRDCQNJolMrxhOWpd82ct8m0EukVRJGRL+nquAyHruETbnMmZhCsw/dha1vNtCfmqzxrgo4kT6ZoOqqbaRNTriL1nDb7IBCHrY2t5lWoKVDXGzlS1q1alS7YOQFJmz5ZIYQuVgmoizTxILz2SIIRMjP8Vh73S5i3N2EzdhzwZwJXsvhdxWLcv6LxKnSqwwD4O8CYM/M7TrKRHeBsc3tYU/VTSpcoBHLohaM4ZztcjcYt6JcyHw1A3LnaTzthOpnWqkXUbz6fB9ImVBg0GvJbktMfgcoxXe+MubI8LzH3AAcIK532hgAZ1o5IPTFLcFubJ+7TsCQT60QlZuRGV1eUxYceLqg/Sht8uMUZ1EL5okD4jU88ZBRiHx/mcZdUi98+VyV21lj7pIwhTvP8CGY49lRnMF8rfU0swjgLYQQsCjM8fGCPFgmCWiwA+nCAf0qMXK5CEYVGAxtZomUZdAo8BI+dtsRL5vAP0awrTD6fXsxFOKZbvGvwhMpSyN/Wct3XnHFghZMVJS+jWb81ksQeqQJ6K4rJqJmxllssYKO5eyaczilbtgOuuMZhm3Z1NPI5XCTdKp3c= 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)(39860400002)(396003)(136003)(366004)(376002)(346002)(451199015)(86362001)(316002)(38100700002)(83380400001)(31696002)(6916009)(6512007)(66476007)(41300700001)(26005)(186003)(2616005)(8936002)(5660300002)(2906002)(8676002)(4326008)(66556008)(66946007)(6506007)(36756003)(6486002)(31686004)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dTQxbzJpcTVJMWNpRXFjTEJkVmtBaEI2UlF0WmhqZEpENkpDZThWVlM3cjNP?= =?utf-8?B?SGp0WUJZa1hJcEF0VFlid1VrZDhIcGZVazdja0d2UTBVQTBKMTErc2cxbWVN?= =?utf-8?B?WXd2TWc5MmJIUzAzcVV5NTdUUDgvdWFsN0kycitRWVFHa0hhUXVHcnJkazAr?= =?utf-8?B?dzhlczFWMDlDYmxOei9RQnhmOGRqZXp0TDN4S2NxaWJCeTVqZU5LeDIrcCtD?= =?utf-8?B?UkRjRzQ2Z29jajBHZnlLdFN2YjBwb0YwdWZUZFlxMkhZcFdBU3E5ZGFTbEg5?= =?utf-8?B?QTRYcllaRVJWamxqQVFWR1l3L2w2YS9vTjl5Z2ZBZmFkK3B5d2lTMDdnTk9O?= =?utf-8?B?ZDFFeWtFc2dUU0pkTEVid2NwUlFJYXNET2QxZmJQUmt4YWViWVgzZVlyQysw?= =?utf-8?B?Yy9HT253TjZDelFUTlVsTHJwNDF4Q25xRnROc0swN2Z3d1VNQ2lJWHNLbUw2?= =?utf-8?B?SmQzcFFnK0FwOCs2ek1tT2xqOFJRZXZkYVRkbXpSSU9nSFM4ckYrSko5NC9I?= =?utf-8?B?bXRrT1NtYUpYQXNOZ2VuTW1DTVdLRElrbTZFSDNuOTFJOTIxWFlOVmhqRWNK?= =?utf-8?B?N2NmVU5QRlVQaDRRZktwSFg2dHh6UlBSYklNRnZwVmNkSFg1ZWM0SlAyQTdC?= =?utf-8?B?N05VdkVweENIbzBUNk5SNTQyaXp6VGprTVNsRkc2ekxrNjBoclFaWG03dzFZ?= =?utf-8?B?UmVrNmFlcUZHVnQ5WFRWUkRGaXVjUVllbFZaeUlYcjVHTHMwdUR2NC9ORGw3?= =?utf-8?B?dEdsYzh5VWU0aXlzdXBxQTE3R0tMMVI5aVgwZGtEeTVaMU1hZ2tkbUR2eTk5?= =?utf-8?B?UERoUWh6UWp6M2l1YUE1UEExNXRJM004cExIdTVhS2w4V1RudmRlSXMxdTM1?= =?utf-8?B?UnphV0RPcE55andKa1oxanVUb0NVQTN4WWM2N0NFZFZ4L3lVVVozYmlLWG0r?= =?utf-8?B?YzBnNHphakYxWlFvRkY2bGsxaWxiSE0xS1ZrazhQOVJwd3hTd3R5ZVpGcDRO?= =?utf-8?B?ckdoVGtFNytwcUM1Rk5wZkxkUnlMTjZqY1lpZm9qU1hmYmlhWlU1WS9adlNk?= =?utf-8?B?Y2QvY1BDSTRMbGw2OHRrYyt0YVJWZDFqTkNkSHV3bVR1S2JVV1RNQ2tMN1Vm?= =?utf-8?B?bUdjb3ZNTXJHN29qeGhTeWdZSkNYajlNdGFETlM3Q0diendRQVdJVTdmR2xL?= =?utf-8?B?UzUyR3dEVXhyUHNqekdvYjA4RDZPTHFtM09JbFd1MzZhS0UrdFVMaU1Ddi83?= =?utf-8?B?UEtpMTNuWDJINnhKNnBmdTZxbDNmQ1ZNSTdZNlF0N3lNTisvdmwydEswMHZO?= =?utf-8?B?a2JpcXU4Nnlla0hwT1pScUtZdGRuQXl5UnVFY09QeWl6V1Nhci84QlE2WC9k?= =?utf-8?B?QkRZQS9xLzJHRVh6cTdyb1ZMQ0N4bGIxeFB3dHRXZGQ1V1VnS0xQdUZBbWl6?= =?utf-8?B?V2NrUC9LRVVzT3RKbkgzRVZrc28xTHVXWkFDdkdQYzNuaEFZTThNZy9MTTR4?= =?utf-8?B?STdvUnBFMFBBL3l3NXg3SjhLaUY0UzhXQ1ROWjVka3pOUzFuc0ZPcWk3MGxP?= =?utf-8?B?eFR3TG9NZWhZekRxR0NDTFB4Q2lxeGhXdzRqaFZsNEx5b2ZFRUUyTmcvTURP?= =?utf-8?B?Y3d1aU1aaEs5bG40UFNCOU8rYjZPTUxKMVh3bjY0UFJsd1F1dElYSHJKeTBB?= =?utf-8?B?T0g1ejBieGk2aE9OWmVHZU1pWmp4d254V3ZuaDkrQlVXT3FLK0o3L2dXaUFT?= =?utf-8?B?Ump1WEpWVnNlVzhZQmVvcVExQ0xtbHJUMVJjc2dia3RGMzRmWmJpVlM5UUts?= =?utf-8?B?cHIyUTVXWEdsR1hTSTdFeUpJR05yOGZtbDNORDRYMmlGdWc2NzBoTzA3dnlK?= =?utf-8?B?TWJuVFZKUFUxTWdXUWJKK1BoRUJ1S3lEbEZ1dk1jNWkxcGNQdE54ZnZ4SWlO?= =?utf-8?B?NnlYRHMxMXVqNWVLMU93dkk1UHhid3lGU0dTMHljUWEyaG1Gb2NZQUlyaDNZ?= =?utf-8?B?VHVLZU4vaktFYmJFclRZc2NKdEtlOVhpTFNhQkRhUmtsb21RcS9wajJIdkhS?= =?utf-8?B?SStML2pQQjk3bHZESFRxMHBzTlU3eS9TejJMalRXTkY4WlliTlJIOUkybU9D?= =?utf-8?Q?0S4xuUYikz7fyRcdSt9NgAQ1D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9cbe6df9-1376-4635-c462-08dab65a04ee X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2022 07:24:57.3665 (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: Ry4ChgRCjcNaKl4fRy6abtXDAc5ZCx7R2XIWy6oaFKc/nU9rEzZTgrjGWuaT15ZODTZiCyE0RNIRsr9XacFyEQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7933 X-Spam-Status: No, score=-3029.7 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); @@ -4819,6 +4819,7 @@ md_assemble (char *line) { unsigned int j; char mnemonic[MAX_MNEM_SIZE], mnem_suffix; + const char *end; const insn_template *t; /* Initialize globals. */ @@ -4834,9 +4835,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); @@ -5216,11 +5218,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;