From patchwork Wed Sep 27 15:48:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 76776 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A4F0138319F9 for ; Wed, 27 Sep 2023 15:48:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A4F0138319F9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1695829737; bh=XJ70krwPxm0LXoCfVwbPIlGD+ZMTpUhkNBOs9Ds71Y0=; 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=qhpjhrh12cYQzgpL0pMAFnt9ZyT9tKN98mROdzFSfwMLMviWexHtWFC+1qdm6pBNL O7vnxBPjPTjO4NWLOhqQ+NwXZ/T5lDPIhsguqPn9ZKNs/lHugPtoPZQeHj23+p9plI 7Oz1FYRkAcK1BhAseJgulNSKg2J3or2DjqFRQ7+o= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2068.outbound.protection.outlook.com [40.107.104.68]) by sourceware.org (Postfix) with ESMTPS id 97CBD3882641 for ; Wed, 27 Sep 2023 15:48:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 97CBD3882641 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WhjdY6r4m1ul/NkKPcfDxyb69NGBQgQ8V2AvZ28nc8/Ton9B/sOOMMnBdoaB0txjUl32F01DPG0XVUG4NkcAI4ZGf+vA2Ryq0Qd86UulKKtGKQh+gTqYv18Pz93Kc9FiwWuixG0dNhAaO3iKiJo/UkFxlZp0RD210piXlRW7T3SPqxT7K22CzTPKEGtQ3QfS8ePKI6WL9Kqct9X4KbpzNnfBYLYS3gHAUdQxLpcx8eN2KIQahi9e9CoQFxNxZl/3k6Ujtz5Wfiu6SUfHWy5iMj1OwMkK2NcE2QR1+iAqxotw/pxzEKvjB1wxIls2mwTL0/CCfMe26V+85dQUFCu1uw== 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=XJ70krwPxm0LXoCfVwbPIlGD+ZMTpUhkNBOs9Ds71Y0=; b=eDG7kix60NwM34beP566zdbU4MuQvKLaAQJBZ/g+O/ZRTNBp3gZUINHadxj4bUJgD2sMwhKzUMH09pLW2jim5edpq4hTex91ixBr1mzTPEs0DhejbHaiX2XJ/gjTLGAxLOAufhbWrQqsX5GYUiZJ3HP6i2Z8nrvf11z1nBBTEWMfAUfBIUr0yayf6k6YFIT5oDgZipxKPfKEtRwcCiW7UlKjfv0dLlmDzSzTPMLQd34x4MSOJ6n6nWve6pieATp2uFyPwPIGv52lXuHZOg/s1dXXYcPPqXldheE1S9OdPFJJlfa/pA7RZZ7sJp2cSle9cnteO0DcjQsX/+6ITGBUxg== 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 AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21) by AM8PR04MB7812.eurprd04.prod.outlook.com (2603:10a6:20b:245::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.28; Wed, 27 Sep 2023 15:48:17 +0000 Received: from AS8PR04MB8788.eurprd04.prod.outlook.com ([fe80::afae:3fda:c84d:bcdc]) by AS8PR04MB8788.eurprd04.prod.outlook.com ([fe80::afae:3fda:c84d:bcdc%7]) with mapi id 15.20.6838.016; Wed, 27 Sep 2023 15:48:17 +0000 Message-ID: <85a2958d-3a80-7bbc-ffa3-4078f34eeef2@suse.com> Date: Wed, 27 Sep 2023 17:48:15 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: [PATCH 02/11] x86: i386_generate_nops() may not derive decisions from global variables Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: <7ce54bc2-fef2-d2e4-21fd-202fdead0c20@suse.com> In-Reply-To: <7ce54bc2-fef2-d2e4-21fd-202fdead0c20@suse.com> X-ClientProxiedBy: FR3P281CA0109.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a3::9) To AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|AM8PR04MB7812:EE_ X-MS-Office365-Filtering-Correlation-Id: 551b06b8-32db-4c14-36ba-08dbbf712a81 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8e636IHCcLgBUE/3GjqKD7Og2VluUbzPy23MJqCJ+7BNN2U74+3eZmg+oHoOulDMVWV/XsK0uc604lICUhr3tCQaQo7gU1qiC5dRSSgHVU4tBwNnoYgjUMbHB+VxCA6n612adqcDpmRSj815HEXO55iepgzDaT4newbJ1XO9iG/BBvqSuBa8+Q9EkXPu9zAJiR32DUSifaGaKAmL2uh6oAOfVchSLccoccpsn7eTeDHd2+rkHcTqJnRm2Oi3ZYarYuSSrQ5c/5PJ68Qh9/g5CeZ3tfzDU7ewxjRuYqPf/TNtMXDAmxdJl3hZpEvv81JvDWlmm2qqiCN7qzRCjlbyir2sWrcLVKPqMFSRVPjmHpect0TpgQ5LO7PihcJSreM0IeRFx+f465tDqEnbl4kntAETHmaGgdn/AhJ2YJrIJK8N+Q/z0dyO1t31Mj78/VkqHFJ9oBzKbh2NqVmvJChbbYrlwEZSW9307CrPXvVMWwzbgmvECtweBe4Oj8qz4DXCs9qEwZYQ/XMqhQYW18D/e5Fl9/Jo1J+lalBx1H3m+t9dEklk0byfjKkmVaJH3RdKjBk1mkPLX4ur7QHxq5/ykHPFbeeuGOKZhKfa6IkVXSIZnJU9LWTZOgvbERtrw0tvmcwMErMc4cihCTeZCfTE9w== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR04MB8788.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(376002)(366004)(39860400002)(346002)(136003)(230922051799003)(451199024)(186009)(1800799009)(31686004)(4326008)(5660300002)(8936002)(41300700001)(6916009)(316002)(8676002)(36756003)(66946007)(31696002)(66476007)(2616005)(66556008)(6486002)(6506007)(6512007)(86362001)(2906002)(26005)(38100700002)(478600001)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?5v5GVweir8mEgB8vldPbkWRBlstV?= =?utf-8?q?ZDuee3oRbGZuOPzF97t6tzPSmZNfTDwRWJ2LRsbIUUdEXn/XbwY3WlRtioLyNQHgW?= =?utf-8?q?Mnr8xvMpGJFR/THiV0mVidXn9Tjuyi+zO1CUX6eQVbbBgTik9Y2+tN7mkKwUglmzJ?= =?utf-8?q?ZbNEaczvsAr1mwryDuVSKaZ5vzakBgLFfZkt5qPktszB+9nt4aaXYv6OBbNQt1Aow?= =?utf-8?q?M3Ey8evAmYjhST4/RRIugR3J46aJHy2YLNxyH12DGb+4nL4lPoYaYRZwCMjj353lf?= =?utf-8?q?Bx1nY9SUEQkZiK4X6xIZ1dg1/lclD41aIjU6he58GDvdJjFubBnkWCEJ1lehQYeph?= =?utf-8?q?pnl+fn81ObOsJrpiyEDzxMfruEvB+QiIwgARPIedVKho+qEC6EoWAVLWYzSEdckhz?= =?utf-8?q?pNekMx8eIYf6wczcjiyzbn7tCPcdJ2WscOnO5MKfXcrL/4/zA1AaCD2v47q3cjQ10?= =?utf-8?q?OYJR+6OrPRFlVoJ40j8pgIHyHP540MOWjuus/O3bkAvKIONITKGA9vyv78Q+J/nv4?= =?utf-8?q?bg6xrsjYQf4VKFYq8YoSePNGJNrvxx10JG5n0cfjY+REghMtOIV0lBAObPY4rYNzJ?= =?utf-8?q?gK/oWfpDhMdcmlCL/rDLp1d1ihmI5FVU0WbmjHGHzQQA+jLFj5UvOEX2LsguZvtrj?= =?utf-8?q?hQsdE1fVK/30f+GUtEKWj7gkFhiTWByUAK6V3kGaFwGvDGeFfYq9skxWkAo7Xir4h?= =?utf-8?q?GcMrfREkSH2VvZ+9GeBFg9Eb0BwQ+SzmYD8PVXSjZmwJniLlARMhnhkSZ91nS8Du/?= =?utf-8?q?sbWkmm2+BQVFZxTPSlYrqiDM0sF/rQoHklZAFENcFJKUKG6XF4uFE6IP4TEe9ABPp?= =?utf-8?q?ORGEYyF4krA9LjxLTcH0VeqUO9NygDUDAdZ4sKdCFq9CVB5+ngbHvMZFQz8fbV48L?= =?utf-8?q?JHYEj1fuVqQm7cYyDpMb4VlGfdz4MGGZdZeAdgXV5GJdSaFhYd/KxVTl7xcXN7mL8?= =?utf-8?q?wZrRMXh3PckBY48Oghx5yFFIxGsGrkZAuOIpXrajMaYFOeWs1HKGVRuy4SanBq1dW?= =?utf-8?q?2M1p+s8jzAD1U2bwFuLgSa43nJOkDCbV+atQSyLOaxNz64VgiEiwdUZxVNs+NhZ9I?= =?utf-8?q?z2bY8ndyoqzb8OG672lf65jgK1CaSiC3U78HqI9Bad7RcL/6p4dJFutwntQkGOABd?= =?utf-8?q?uE1+3c6nf/YrVurCXbeZE7nTDSDezM0Rbga6nmFKWOla7gSFT7xeIlOk5/I/VJLa2?= =?utf-8?q?iG3rmAdKXuIacS+LPXFrgzIl4abt+F7pBImjoXqeTPg9yJhAP8Vs8n0G2crmJBNh+?= =?utf-8?q?lAv7U4F3lwHtrhlSstFJnLJWy3hySy/pF6ilztPuKKFm3pkEPDLavqLlMF0O6ENSi?= =?utf-8?q?PFNDwjQS2iBNuVauIFU5GMJptviBZgWNUwcp49rLSMEVp0ohEpjWb0cxLurHKAl/S?= =?utf-8?q?PiihpVVZIc1h4+8uwaG/iBFpLH7WEJHFOOVCAUicge9+MBoMFnn9Nm/rquGUDX7sP?= =?utf-8?q?8YxynU5TofK2VawqmgAWHSU/zsUSIIcrL2Lew46ddlBZKjyN9sKdEa9v8JYQoP1Xl?= =?utf-8?q?7WGt1ce7ULi6?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 551b06b8-32db-4c14-36ba-08dbbf712a81 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Sep 2023 15:48:17.0889 (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: hN2HiWXeDT1U0toAU5SrYPrd9W00dWfdqIX5NM/w9QkibgSuE2w68MhcbI/ORO/oLd97dOs9t/cI2rGnXizmvg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7812 X-Spam-Status: No, score=-3026.8 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.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+patchwork=sourceware.org@sourceware.org Sender: "Binutils" What matters is what was in effect at the time the original directive was issued. Later changes to global state (bitness or ISA) must not affect what code is generated. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -1434,7 +1434,7 @@ i386_generate_nops (fragS *fragP, char * When -march= or .arch is used, we can't use anything beyond cpu_arch_isa_flags. */ - if (flag_code == CODE_16BIT) + if (fragP->tc_frag_data.code == CODE_16BIT) { patt = f16_patt; max_single_nop_size = sizeof (f16_patt) / sizeof (f16_patt[0]); @@ -1446,7 +1446,7 @@ i386_generate_nops (fragS *fragP, char * if (fragP->tc_frag_data.isa == PROCESSOR_UNKNOWN) { /* PROCESSOR_UNKNOWN means that all ISAs may be used. */ - switch (cpu_arch_tune) + switch (fragP->tc_frag_data.tune) { case PROCESSOR_UNKNOWN: /* We use cpu_arch_isa_flags to check if we SHOULD --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -148,6 +148,7 @@ if [gas_32_check] then { run_dump_test "nops-7" run_dump_test "nops-8" run_dump_test "nops-9" + run_dump_test "nops-10" run_dump_test "noreg16" run_list_test "noreg16" run_dump_test "noreg16-data32" --- /dev/null +++ b/gas/testsuite/gas/i386/nops-10.d @@ -0,0 +1,13 @@ +#objdump: -drw +#name: nops 10 + +.*: +file format .* + + +Disassembly of section .text: + +0+ : +[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi +[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi +#pass --- /dev/null +++ b/gas/testsuite/gas/i386/nops-10.s @@ -0,0 +1,6 @@ + .text +default: + movsbl %al,%esi + .p2align 4 + + .code16 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-nops-6.d @@ -0,0 +1,13 @@ +#objdump: -drw +#name: x86-64 nops 6 + +.*: +file format .* + + +Disassembly of section .text: + +0+ : +[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi +[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw (0x)?0\(%rax,%rax,1\) +[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +#pass --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-nops-6.s @@ -0,0 +1,7 @@ + .text +default: + movsbl %al,%esi + .p2align 4 + + .code32 + .arch generic32 --- a/gas/testsuite/gas/i386/x86-64.exp +++ b/gas/testsuite/gas/i386/x86-64.exp @@ -116,6 +116,7 @@ run_dump_test "x86-64-nops-4-core2" run_dump_test "x86-64-nops-4-k8" run_dump_test "x86-64-nops-5" run_dump_test "x86-64-nops-5-k8" +run_dump_test "x86-64-nops-6" run_dump_test "x86-64-nops-7" run_dump_test "x86-64-sysenter" run_dump_test "x86-64-sysenter-intel"