From patchwork Fri Mar 31 10:04:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 77708 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp447403vqo; Fri, 31 Mar 2023 03:05:08 -0700 (PDT) X-Google-Smtp-Source: AKy350Yj8iRMuCNleRUvGMCwgHTBCUQ/aigWq6gr5H25LZDMhhKpniKkRGlhXPrvJW0p7poNZbnb X-Received: by 2002:aa7:d815:0:b0:4fd:2533:f56 with SMTP id v21-20020aa7d815000000b004fd25330f56mr24222645edq.39.1680257107868; Fri, 31 Mar 2023 03:05:07 -0700 (PDT) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id p11-20020a170906b20b00b0093defbd6296si1432634ejz.1053.2023.03.31.03.05.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 Mar 2023 03:05:07 -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=fwLxvqH9; 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 7D62738582BC for ; Fri, 31 Mar 2023 10:05:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7D62738582BC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680257106; bh=rRLzbypgD0aYFZ2tmvPuPq2iRqN8BTYZB/Oh6AAop1o=; 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=fwLxvqH9ZxwB0RPs7No71InhoZ0L1GeWFbAoTMHzd6l/qZbXF8ohuDhB0du7yLowp 9aj5Fo/Th4g+0xyWWSPj4gprrvfJrsH7sv5d4oj5nQibLUEsPRwwJ+m+RfcmtBDFfL ii3iVfG51Y/WcgikaOTc4gT8QNXWW8nMeVK+eFuM= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2069.outbound.protection.outlook.com [40.107.104.69]) by sourceware.org (Postfix) with ESMTPS id 287B23858D33 for ; Fri, 31 Mar 2023 10:04:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 287B23858D33 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LYLLDUIrfJ0zA0F8hDPTowIhx3fD+DerEiJex2uNWgEnBx+s2KrknEzWoztV/Xrl0hQQ3di/d9vzXIzIpvuDGBHh8cLTHcWcfHObRZe2XSsgnQc/pJ0qMHJVx8nPvJh7OH6VGMPkJ1yJpAwtFFyy6D/ozuzDTbIbcAV1Kp4Eynq3qA2g0JJuSOpoqR9mejhP3J0hA/9VLs844URpq2QqDECxV/C7Mdhl7DwecKcSN6D6sTSUMgj1rrbTxwEIhbH974becZS2UnAPuZh6yO4lxtUmtjwrkVPsf6pHqeE7HjDBUs4blTd1Zac8M9xuLLp8Z1wyiEZQeg49b2gQ8DbCpg== 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=rRLzbypgD0aYFZ2tmvPuPq2iRqN8BTYZB/Oh6AAop1o=; b=iQKxk//v0+VtwP0NfHa50/yIIIDby5NchHuyVXQkXsACMFE9BRUIanirq49SBUJc5Frg3SNEaVWwMx+9XtEszA79jxRTUK9jXcaXrlU82BK3veWhCBry1TXVSJYCGfsjyRZalov0XmgcfIQcS0zqlbcC2o7lM8EhV8RR4wlKXqvRBBpjq4mb0I4UfODr22fCJ3q1SJSayZ8QVgv8m2MMZHctTN4Vp/2hkKXvN4QHYMyJ4lbhP59tYnps7HK4P9JqnsgVZqzIWngtwEOYMYrybvhlPraRKQkZXLi+UW2c4eTU7wr7MWxi2YbKY/cD78/pTOVCSw9tLaayLVSkualntg== 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 AS8PR04MB7864.eurprd04.prod.outlook.com (2603:10a6:20b:2a4::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Fri, 31 Mar 2023 10:04:55 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Fri, 31 Mar 2023 10:04:55 +0000 Message-ID: Date: Fri, 31 Mar 2023 12:04:54 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: [PATCH 1/3] x86: parse_real_register() does not alter the parsed string Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR0P281CA0173.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b4::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_|AS8PR04MB7864:EE_ X-MS-Office365-Filtering-Correlation-Id: 7c908eb5-aeaf-432c-92a0-08db31cf607a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hHRhq1CiL6YkJA5Q322HTv1BO11NjEn/qZeuqZpSCQ6kdDmhpzX83G7C1AcNiqiUzMDKk38W/J5CHGHMhu3ppV9UZH6vIKsd8fxfIja1cErYzanGVC0bBJz6I1xn+dLbkeksNYKBp6xqWHOKpWb5XrTvY7tmb2gr3PkETmSrxWbttUmHTHgXZVAX01ORWicS/a7UtABlUVepWy1dxSGIwRaErBFnWNx3852Zv4APzCVfZWatYofemnqvW7JSjfYnNRnEjKHLdxdoJiWvof6Te1keymS2nNlj48e7/qSCdFc20vNvJlB7u0/ctrq75tBca5GU/8OGhnwe+f9vpI0D3MnaWlzAnKMVXt/wUq+DyFaKBoumxjz+aaZI580c2goN7KWeOm71AYQttDcoJpRsONsLQYwXsTFuu2ssmXzy2aRUVmdnwu2J6n2j/dUf57ZX0rYzpb+bLsyq6awwoDptx3UJZYAqFiLfDQIu/lx1Pd9X5/HEAAkcRjaYGOe4hc/WmWw/+enlUdJRkJlckzudENizFHOz8lms0yTTES3gq11tDDesMzJxIXjuGoHyAF7WPUmDVQGME49mLUX6LZ66O8fJZUQN94Ijb78xaD+geDysob+bkfhyOa42CvA2gAubRLvpeK4vZvTbQ9ej3M6RtQ== 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)(136003)(376002)(396003)(39860400002)(366004)(451199021)(316002)(66946007)(31686004)(6506007)(26005)(4326008)(8676002)(6916009)(66476007)(6512007)(66556008)(478600001)(8936002)(2616005)(5660300002)(186003)(41300700001)(2906002)(6486002)(38100700002)(36756003)(86362001)(31696002)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?j6BSm4TH8ss7YIJr4ljL/QYSRTyP?= =?utf-8?q?lKzx26GWUVMesq5reaL7AgvfjZEbHynJCRJREoyobVNkwPshlDS5PqZNmW3VYShFN?= =?utf-8?q?mUPJc1Ff+t2JGfARAQaBuLL/LQO6Dm3KPquCGd+6J1Ibz++QMqcH3UyRWQnWn6bLE?= =?utf-8?q?56TacSMEnNAAH31eH1DXQ5GVDf8ri3B1l081rusj9ADOhvo53EiHIaJoij+nmXeZt?= =?utf-8?q?/3J8phwu8shSt25bgG6ezMJk4BXzcdx2eZAheAH4LQFjyYHK7YcPBXkVuCiW9T1yU?= =?utf-8?q?sO9FoDXA8xmSUxRtaGkfhfGPGNUd5ckmHH2exAYgewlfKCpOZ3xrCkjtgbhmTCbCh?= =?utf-8?q?oia/kXvCIcfUsJWGr13PW+YcYafSnqRJw+tcod5Xkw/KOiIMEF7CtNR++JsFDGOZy?= =?utf-8?q?Dk7/JZNE7upuNxNolad5nmtsy7J/rJ3cHduF0LtR8rWyuq4PQIuJJ3LW84Gskq4Sc?= =?utf-8?q?4T7BIurGU0oOLiRk3MNAKBC+TnPDbgYNFzFSEEcw8R8i+CEiVNvW4N6ulw0jCR61A?= =?utf-8?q?fwo3HkRTAynTOB7r+nPyDSd89qUnfpim/yYbJez5GCEO6MvQoRst0m1DstHMlrujL?= =?utf-8?q?wBwsRRwCoP8amgL0PIK7+QqYvCgvGyOBqbrWpf0mZJq4VRpm9mICXxxRmDzFsoSAB?= =?utf-8?q?YhcpND8WOgL56u6e5oTf4VOj++tH37ICAYnt6nby+D2d0MRAK3kA/LtvchCtrtAsz?= =?utf-8?q?RBGAgM7lzHDma166rF4oM2yvzPXHcpjVwbVooNjJ4a21swr6tw+NOceCDM0osBB31?= =?utf-8?q?m4Dygq5VPgrxUdFPAOP3F8CjfMq5urNbaDWcVxXmhU7jpmHRMU0lI6EQYNpTrQgD2?= =?utf-8?q?mhtRe2bER3F2lhWBd8bCGM6lNYWaWXPU2LyS6fBxZ1r1qzpcSFss3lJnocMYBjBGL?= =?utf-8?q?+ojdBxpomPpkwLZbxjN1uVjdxHceQXtsyQg2MdzF/u/hux8RCT8ZxqYEqQRCn6en/?= =?utf-8?q?GZjm5k5WbhTYn4MRbCR+F8qD5WgG53dcvM+Q5ZtWAeG7yHqzd21bGiCiryHFNI/oF?= =?utf-8?q?8+MMUgwDPnQkf25TP4pOdbfqUbfsaCAMvdhBqKTjjTaPz6U+bu3RtLkHF/X6vuLCt?= =?utf-8?q?5GLJ+C1lh7DONG2rFJb0kLaz/iZUFTv3xZqSssRz97a14AZOKiDUoTwLXCAPfHBNd?= =?utf-8?q?pqhA87T0O+32FK9Cu39oT5w4tcnZ9bRuGER+5UqQgeyMlK5vIGgqVoM2fOmCiOAfH?= =?utf-8?q?Vap13V+nZRMbOgu6NKYik7y+hQxyTBvMJuAufsx3nQpxF0sgS7bIbO11m8m6PLfX0?= =?utf-8?q?ecXigXjP2yMUWFIswoPcf7dvhEGjYBU+u5RSgc8Pf1Oriz0ROZV91DPmi6OiBiuQ8?= =?utf-8?q?8Yen/Ecp+2SivXQkvT67wlNMrKv+HP0taY88MXe3+hYuxewOY0pgpcXYV0le6K9/2?= =?utf-8?q?DAKcdLVgexRftbIF7fneTjLT4ZNEHRvg518rewRB+qCI7i1j7ofTDRb4gc2Vs48OC?= =?utf-8?q?KzmZ4eqHxvACj1dVIieg2XLhQ29c6/iMYXU/0W0UmIZGtcPZ//DS7PMUpnzGLsTFT?= =?utf-8?q?GCJwr6nAtD9a?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c908eb5-aeaf-432c-92a0-08db31cf607a X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2023 10:04:55.1332 (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: zWlA2b2sJXHvOgQ0lNAT4E3cHAZW2NQKIwk/MmCB93USdkqOjyYsZ9vDMAJ93gU9kIIdsnrl2m8X+//NIxP1Sg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7864 X-Spam-Status: No, score=-3028.1 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_NONE, 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?1761877277083029773?= X-GMAIL-MSGID: =?utf-8?q?1761877277083029773?= Follow the model of strtol() et al - input string is const-qualified to signal that the string isn't altered, but the returned "end" pointer is not const-qualified, requiring const to be cast away (which generally is a bad idea, but the alternative would be more convoluted code). --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -13749,9 +13749,9 @@ static bool check_register (const reg_en /* REG_STRING starts *before* REGISTER_PREFIX. */ static const reg_entry * -parse_real_register (char *reg_string, char **end_op) +parse_real_register (const char *reg_string, char **end_op) { - char *s = reg_string; + const char *s = reg_string; char *p; char reg_name_given[MAX_REG_NAME_SIZE + 1]; const reg_entry *r; @@ -13774,7 +13774,7 @@ parse_real_register (char *reg_string, c if (is_part_of_name (*s)) return (const reg_entry *) NULL; - *end_op = s; + *end_op = (char *) s; r = (const reg_entry *) str_hash_find (reg_hash, reg_name_given); @@ -13802,7 +13802,7 @@ parse_real_register (char *reg_string, c ++s; if (*s == ')') { - *end_op = s + 1; + *end_op = (char *) s + 1; know (r[fpr].reg_num == fpr); return r + fpr; }