From patchwork Fri Sep 8 12:53:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 137736 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ab0a:0:b0:3f2:4152:657d with SMTP id m10csp519964vqo; Fri, 8 Sep 2023 05:53:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFL/FZYRaCU+Hcmwo7W1UfKb4qZ1qWi65/GR3vdkMQH5zHhw3lUmXRp6fjTIxxv5znh4+j4 X-Received: by 2002:a50:fa88:0:b0:51e:5251:8f45 with SMTP id w8-20020a50fa88000000b0051e52518f45mr1895017edr.4.1694177637247; Fri, 08 Sep 2023 05:53:57 -0700 (PDT) Received: from server2.sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id v16-20020aa7d9d0000000b0051e3c92a20bsi1438619eds.318.2023.09.08.05.53.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Sep 2023 05:53:57 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=hAIp3Bh5; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 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 2ECAF3858D1E for ; Fri, 8 Sep 2023 12:53:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2ECAF3858D1E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1694177636; bh=7I27yjMNPw6TLs8YsIHP3bTbinPjm9dhTzymGMZp8GE=; 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=hAIp3Bh50WjZqrjCLvN9hKOaHNMyWlUa685uhhd7vr3VceHpNCR8C4W+d7UU3l/Gg Li/4lcDR9V3EuAsYm6fI/XmeNVFKLi3gbWGpzcrWX7haiY9LWILwZNRY+QrBe/yBYK ncy98LL4PdgIEcOAD2EL57TKlJJhRnBzWGElXddc= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2060.outbound.protection.outlook.com [40.107.21.60]) by sourceware.org (Postfix) with ESMTPS id BFEA1385842C for ; Fri, 8 Sep 2023 12:53:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BFEA1385842C ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Nlh2Ffmq9ZB2RSSkO2vHf0iycYTrZoq8q784pcZrG/wM2H/tWcsVwT0qn4sphMaY7CKVE+FOVJvS7TLMAJaidhyh9G1vjs9W8JYqD++hsvzh4qkDhaRWZPA561497q62KQ5l6bbMNjTs9weY2b70oIyPgo1s+XwNTgvIHWsbxXJy907igavgABrfEd21LpYZyj/ujmz1etmAfqrJYNntsfXNqxmkp/XxWmSIGXpVvMxqGLIOYErRRZHfifWufoKEPS/a3sKnPRD4X5i8aF+PxkyJ1PL7bCiKMhXlnKy2fztyl79uO+1dDOlvKTaORNuHR8+Uf970ZybZKJUR5qqIvw== 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=7I27yjMNPw6TLs8YsIHP3bTbinPjm9dhTzymGMZp8GE=; b=BdZ0lX5qoB1sxMMtImBjASM5Fn4oCJSXflpPvnPKCCYFfX45YlvPNYyO3dFvYrueQdFpfnfWj0xlepRq/nK23O+2xRwAfEYBnFYD2KO/4GabCOTxypup1vMKLBMa134PTAj+MPUJLkSgAsGvS1g5tBr/srB4DPbIzdq8J7WWKEVAr8oJkJXKR50+KmdOcw4KHWPBMMwQ8s+rgt+Ewlbpd4uhbge2SuIxewJaIOax2zB5J0t4mfFW1fqQx1Dagfzev9vWa/0xWJPYH1kASELjWObrWyG6INCkWRk9IdSB0PLkoLo8NlNjQzO5LjQeUdcXZaFy76R6JixD7Y9j8kcRcg== 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 DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) by GVXPR04MB9760.eurprd04.prod.outlook.com (2603:10a6:150:114::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.34; Fri, 8 Sep 2023 12:53:45 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6768.029; Fri, 8 Sep 2023 12:53:44 +0000 Message-ID: Date: Fri, 8 Sep 2023 14:53:43 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.0 Subject: [PATCH 1/4] x86: re-order update_code_flag() Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: <830bde4f-c60e-4ab4-2ca0-86381408254f@suse.com> In-Reply-To: <830bde4f-c60e-4ab4-2ca0-86381408254f@suse.com> X-ClientProxiedBy: FR2P281CA0122.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9d::11) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GVXPR04MB9760:EE_ X-MS-Office365-Filtering-Correlation-Id: 7afccff3-8ca9-4d27-3cfa-08dbb06aa2d4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hartqTXP/A6/AHUrQz2UQ/hXLg0S/xX1FfHHu9NMv6VcyJ/9QgHzO1DPnXHft1y2qC6bTuTYYq+7essMTHk8NjhU4hVEyd7dltRiQ/0DGRMi6GD/GK+aYlGVZ7Odrgb1DwWp3vAWGoqdyZimKMIlCji78gv2VTDAegIhdj6miKhwX30VgA2gMjWrth98K7z06+SN5kWIoktOqWtuMbXlH0rw6I7VgwyhiV+18UN0gbFGFnSGV0AImeir7w7QvskpLkRvfyECZuqm2ZD4VJAKAPMHRfAPxo41ejJ/OOZD+tP2qsi9hIGgsKb1eUQegeXS2Iw9br+w8k7m5L26eBhflP5nxdUvumsKqSFxWNrVe9ddktoaRjjKNuqWJiomJtUbU9f9h1gDcZ4On2dUcHg4rlYiWnQsyNGkSAbkn8Q+4++ZW88GTU8CoYKpLYDTypm+n3DmiCYjT7bUnPScVstI1Z9CKS0tM1FDFU0H4PT7NdKPSgFwuyyrVeHt4qC1vRKZgGCogbQMKCr4BNA3JxcdbOUqhJpol8NRItO98GZOD+cZSgEhadnywtIHFaY3AkbGJGsIj9ADf4VO4X8D0KY25eRKkDuBMYKNRJnmBPqwMhbpsaCEipWLOZ2ZhLl/lf6Ok9wjJ3LPY8pXMaoKROW8vxPkVuSQxxD/oe3i3qivSJHAIsQKtCEgQI9/pQb9PifS X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU2PR04MB8790.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(39860400002)(136003)(396003)(376002)(366004)(186009)(451199024)(1800799009)(316002)(6486002)(6506007)(6512007)(83380400001)(478600001)(2906002)(15650500001)(66476007)(66946007)(41300700001)(6916009)(4326008)(8936002)(8676002)(66556008)(5660300002)(2616005)(26005)(36756003)(38100700002)(31696002)(86362001)(31686004)(169823001)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?9NN2NlZPzqXlDL9zauQrX/IyxNuw?= =?utf-8?q?HDmlsy+Op8SaW8PRVNvPW6NIa8qZK/ovrG6Hw/ZwZDwNBEb07tnhX6xGGZTL3tzbV?= =?utf-8?q?yWyTi1sUz27Nr6NI4xuoYL9IBn+2DzvIPTzrGjvMdEpWGZtzR/mvPkfl33redqpB/?= =?utf-8?q?rCloY3pPPg2VGRhuAKpZ1+j+HyBFpSjHv9aktxC6h7bZ3a4AsMlnlI9YFhXV0WqzE?= =?utf-8?q?Zb2XsZQp0pREUFCXVcMmTckk8oKdlLAb+A446dFl7O3a2PYVKCnssBLOE7oJlXnRG?= =?utf-8?q?evOdgIEg81b3k1zw84oeU4wwdaSq+PwjjDKOUMcHUGddOHaJNqK8OdUmnr9+ueu/z?= =?utf-8?q?9lmacMjt2mTxktCkSlvMhdKMrwB7TwwTCmc5chDPRXgM0GaNl8JAeLgAOU4s+kJgR?= =?utf-8?q?YeafjdNtKf3PJVMNaF91o5eiW+6Bv0sGpdbSmEt++yyDD4CE6as1Bl/KVBYTh09Wd?= =?utf-8?q?YHuFVMdnODgkO6ZVq2QPsn5u3dZJ45fVBQCRckEDc25chA2fwsABhMuumy5ka6V0/?= =?utf-8?q?cqSz5mNluRaBVkiGSy7i2/8I6JnCjo++Req/d8bMBpUAJoFkIes4Nmubx9E8EeG0R?= =?utf-8?q?g7MXYH7nT7NiwcV7OpLPONEfbo+6x+617sTtt/Oo+qpSdapwAlkGFxmH1SLngTtxR?= =?utf-8?q?uvboq9bH7mWlZFaGFZIKb3eRtvT6NSfWKpDgwCnsXcDdDrjhktNR1gnnTlARemumm?= =?utf-8?q?kdlsE8mnARcTNhwFX8hiWqZNJeZOhGZsmS7Yi3pVa2U6/uH+u/2Y0aLSNn5wht4Lp?= =?utf-8?q?C2/UudL6QC27MlmbKdVxY0B9E8/qSLCF9LzbwBK/5gAOISIBFm5g02rBA7VZs401B?= =?utf-8?q?Dk73kytjOoHaDqQe0C3dQrqk5lDHK6OCrrvuz2wFwoccPZufzRbl6k/2I5qQ/tFtE?= =?utf-8?q?r+oqYq6gP7Mm0Pu97vtzI4TpmWaNah2fOcYDpd9/AbXlnz5jKV9eWozVMoUTk2lYV?= =?utf-8?q?jp+VWuvfKE5k7Az2NN5/rRIkMlt9L95wbXgMSRRm8eI5bsKf7cbBpNTQIkvH3v5ya?= =?utf-8?q?/D+UgsAUOQHWQESewjjSUweN54z8sbo7KzSczcUX0QrBQFlDEiDQLn0SbxYHRNRLv?= =?utf-8?q?UK8V+Hybip640YZcbpGzGnI1WbJS/9LfrbZBaSujEgpi1VWWbIsyaKST6+QZT/dPt?= =?utf-8?q?rwylCKLrHZoaK0svc9qyvJnJEDNeNjR4LFUv+6U29hpIf2Opi9/DkcLGOhwpXkDuO?= =?utf-8?q?CORADNnKBSPo6FeFrrPjRpz/EgkJtkADKZBQOuRJHvlHY03yWcsENlc9uJBkcKiIa?= =?utf-8?q?SJXdXrUJdRZ9H3g5UUJL2EH3aTG0OFqXWSC6JPC0v/SwcaPKgUl7idAUogUkLLmDw?= =?utf-8?q?vv8N3t1524AdCQTVnkY66BOqiItLwnbV6a1Ai0Q1BzSLWQLe1lN8JF40dw0D/ius4?= =?utf-8?q?egyFuYLZ2u70BnGCo8SJkQATO4TQ5t4l11gJ23/oRKLdxYA5B0otRYxsOUzn4N1PG?= =?utf-8?q?s2Sfs+2TZITPJjsmcbZY+nEf4a9CgC9cAoYcr02RL2uevlBcyeQ9Ya5JssOF+Obao?= =?utf-8?q?wJ95m8uCTTj8?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7afccff3-8ca9-4d27-3cfa-08dbb06aa2d4 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2023 12:53:44.9009 (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: ta0IPOqrXOXvQC3GbxX+4EO8Mz35U5ATx8XSE85wHIAilbHsi6QCL0WBN0nPVRu1+w+bljTIu4Oq7enpEtSt0A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9760 X-Spam-Status: No, score=-3026.9 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.30 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: INBOX X-GMAIL-THRID: 1776474010002056032 X-GMAIL-MSGID: 1776474010002056032 Do checks before updating state, and bail upon failure of either of the checks. While moving the code, eliminate some redundancy. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -2609,7 +2609,21 @@ add_prefix (unsigned int prefix) static void update_code_flag (int value, int check) { - PRINTF_LIKE ((*as_error)); + PRINTF_LIKE ((*as_error)) = check ? as_fatal : as_bad; + + if (value == CODE_64BIT && !cpu_arch_flags.bitfield.cpulm ) + { + as_error (_("64bit mode not supported on `%s'."), + cpu_arch_name ? cpu_arch_name : default_arch); + return; + } + + if (value == CODE_32BIT && !cpu_arch_flags.bitfield.cpui386) + { + as_error (_("32bit mode not supported on `%s'."), + cpu_arch_name ? cpu_arch_name : default_arch); + return; + } flag_code = (enum flag_code) value; if (flag_code == CODE_64BIT) @@ -2622,24 +2636,7 @@ update_code_flag (int value, int check) cpu_arch_flags.bitfield.cpu64 = 0; cpu_arch_flags.bitfield.cpuno64 = 1; } - if (value == CODE_64BIT && !cpu_arch_flags.bitfield.cpulm ) - { - if (check) - as_error = as_fatal; - else - as_error = as_bad; - (*as_error) (_("64bit mode not supported on `%s'."), - cpu_arch_name ? cpu_arch_name : default_arch); - } - if (value == CODE_32BIT && !cpu_arch_flags.bitfield.cpui386) - { - if (check) - as_error = as_fatal; - else - as_error = as_bad; - (*as_error) (_("32bit mode not supported on `%s'."), - cpu_arch_name ? cpu_arch_name : default_arch); - } + stackop_size = '\0'; }