From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on2072.outbound.protection.outlook.com [40.107.13.72]) by sourceware.org (Postfix) with ESMTPS id E8382385DC00 for ; Fri, 24 Nov 2023 09:05:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E8382385DC00 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-Filter: OpenARC Filter v1.0.0 sourceware.org E8382385DC00 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.13.72 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700816735; cv=pass; b=akMy+3mdiiH+p7wsNyKdqrSpPEg+Z1v7bisDg66VnCMZjQrE5ZeqC7P5oIseQGbPm2+KToMrB+ngT/qAQrKkwSz9qaVziuGoI1piFErQCdK/9DWsphZjf4HBI3GPMindFAEMHzJJDbxpzBHpvzPCdXEWKFy/FdMebvbVSSAaU40= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700816735; c=relaxed/simple; bh=FNXgx1hIkqju5nRll3JvUrKXAn0QNsHAhp9xHIff6Dk=; h=DKIM-Signature:Message-ID:Date:Subject:From:To:MIME-Version; b=aRJ3aKPjiKAx6SSwR/o+B4yPXd1q++DgGbE+QT60mshwJvkaCll3h/MhqzLcJQcw+LTi8NAxyHMAndQMtjsqYFLUSrdcRk4l3eVLKYg2jSiLIrOIUYmhQxm0uCwgLJhnB+R82MPTtpFArGxxqZutMzbVne3o+852Jdh1eu/+Qik= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lMZGpF0jOoHoGsWF8thSjnalcyfrbTk0XNnXZSEJZdoeB4Gwk3imDeEg7BcOjUfmWh/jo0twQJaFudxqzpkBnu7T9g5aKGizmAwS3KC/eEgJukvztxqNs3HZdkl0C48JQptAG7CGo8JxAyk6eUo6YMtcrX02GK5h4tJB7ReNDXY7xoayI41L5eZ1DpNSDY4QeFBbPvz7hTrmqiimSZqBxy0DQByo1vQU3uxtYk45XfRfwhJEiSlfUNZj78lifherpS3OGINzn5+R4xVRVm1sGd5mAGG4Q/pxCE535CL6v8RyyGwfX5SCJY7Lhtm1Ai8SNWhRzBnejVVhWH+uG03/CA== 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=3Xf4OPIRnaRiDyWs02V2+WNlPZjbiCE/FKDLocpd3oI=; b=DpTOhne0BJ7tp48TbefVzrSswpjnWMkjMQZISlEEh8iqcm6cUc13oAEcEsZjJQBv37TUUDwNIlS0hx07z0IbOgYYJbzQl05eaBnYNApUzavJ5EcLs0aeJyA+1471I6hfEZsNEbcWGx48K0NME789uIQu0yuKGsI8U1f0ce606goDesTZMWQvFSYvq1p7ytQ7joElh7iKO5Q7qd33JAU7pENstGfG4Hn25a0p5r6ZcK/bYu+bysKOlLoUBu2Jvpbm3wwPGnYqjA1ClxJDtYPedwo2oHPHcQ+RQ0sHDgeTcXQbFuCFVgg7klud8gAa9astSQmzDyc9J0tCoDiNsvJGzw== 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=3Xf4OPIRnaRiDyWs02V2+WNlPZjbiCE/FKDLocpd3oI=; b=YQsksXGabE6yMFktk6hvgtEIkX6gniPl6hmiZBQbXb1Lc/+Dc36mTYRHJOiLus6mDD1s1coDMEkwl+101gOxMP1M+UGwoF0CO+nuYL5l1c3fiFRHGZnk4Ci9jRMru9lEYIahJQm//hOU66nQIAjrmkrXVM42yqJi9r4qijqzViYs3I7xlysXTfQZ+y5oXP3ib8n42kzbteMFfjqx6VXFRwXPO49ShFywYlittjd1ws18C4ovtwasboRu5GMyscyBmQyG3wMnCfrJ8SD0RzNo8yEAwXpD3A4juRQaSIiIBRMOuZ0NMZIn55SKv5lGsr6tcTEgCUW1PM6uOBQU0cORsw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) by DB8PR04MB6778.eurprd04.prod.outlook.com (2603:10a6:10:111::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov 2023 09:05:31 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023 09:05:31 +0000 Message-ID: <6186c042-e778-470f-a995-1522aca041ea@suse.com> Date: Fri, 24 Nov 2023 10:05:31 +0100 User-Agent: Mozilla Thunderbird Subject: [PATCH 5/6] x86: adjust NOP generation after potential non-insn Content-Language: en-US From: Jan Beulich To: Binutils Cc: "H.J. Lu" References: Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR5P281CA0033.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f3::10) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB6778:EE_ X-MS-Office365-Filtering-Correlation-Id: 4d664370-9c30-47de-7910-08dbeccc82cf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rRkVYlbg1A90QH/P3/LwRyOdLnC7VHf4Cq5KvMoBjsuo6TIHrzcWkYnr64UtYYqljKtzqjZglr8WbdQsDwToLdWZzcDMXx6L8UPUQSPid0x+H39OOdrHLUdc8C56HDuHNdHzf4w8hrDpYUj4oXmm5MgwGvzG7dzKfN33RT2AgLFWeljeYpclSZ2WQvONY0wVHl2BW+Y71M8CvUdxqaUCX1sQ/l6nro9rRO9V65BhGjXuxYOk+AxBBFmzlMEAMy2oVUcWeZHPE0wss2iEoXJZbBs+RxEDnZRbRuD104gvVGJxESCiU4mRjaQLCEDSfP2093ZGWJWd1W8ndte9wDifxXta+Ma2J+MkXutdPzHkM8ht3dJH1eQZMWQ8GphwXBSPF/fyKdaGYFmBXEEq9BN/jCQFDV0Z/GKCdWHI9v1isef1VLu3/TE3rNyMv5ACDl8FTxnisjlB7HKrP45lKScWOTcH/znHfyMCFOuzEZ2e4U1jjZ5A64e//x0Q8e6lTi5Jzf7wI/idCz0qLqyPXa+CugfY3wqYMuvXuJo+ReuoSiXIqu5racmZb7YF4eZorVfMNBcGg0cNiRKJTwbTY3A55ORz5VXP3JDkCGTxUy5c9LGl+NVdivHssmfkSLpdYmzKuI+I3sMB6WUgpRIpuG1oDg== 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)(366004)(396003)(376002)(346002)(39860400002)(136003)(230922051799003)(1800799012)(64100799003)(451199024)(186009)(2616005)(2906002)(26005)(31696002)(5660300002)(86362001)(6512007)(31686004)(41300700001)(8676002)(8936002)(4326008)(6506007)(316002)(6916009)(36756003)(66946007)(66476007)(66556008)(478600001)(6486002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SHZSdW42KzBNaTF6RUtmejVTTVZkVjIrdHRnVU1vRC92eXB4VU9xWUZwQnUv?= =?utf-8?B?NjNSMFhHL3E1TWNwYlJyY3MwdGxsSStoWlcxekFyU2t5eTdxbmd1Tm9UY0sz?= =?utf-8?B?dXkxeVc3bDA3Z3NTL0RVOXNKay9Ob0M2NDZUb002S0drYUpacVp2aGNnNWtB?= =?utf-8?B?SEQ0TWtQclJrQVdrem1QYndra3ljMWNxd3RqZG1Ca2JaQU9TMmo2Q0d1Rmhk?= =?utf-8?B?Rys0MmN0dWo1cnFrOGxVVXByUzNxWVY5TGgyNTFERlY3Q1R4bGpHWnRGSjRV?= =?utf-8?B?c2gvajdLdm1UVW0vZWhpeHZhMDZuRmZLcWo3WnRScE5zempTeG4zc2ZpOWhF?= =?utf-8?B?aTJ2elZTOXVsQ1JYcjNiOGtsMVUwcE43ZXBmV1FseDBxUzA1RnZ4S3EreTRv?= =?utf-8?B?ZGVWZmRodFFqWEM2b0tKS2pJNDQ4YWY4VjdJREtRUFozZU1LbXNCaVNvbUM5?= =?utf-8?B?S0F3TDlRUmswUFlkdEZFTzhtK0lybkViclNnbmJvWTVXenpES25oWjBZb2dX?= =?utf-8?B?Z0p0Z2szSVBTUDRuOURxSGZ3VkRYVjg3NGg5MFhXYU1JMG1qRE9oQ3FsR2U5?= =?utf-8?B?cmRpR3duRDhLNHFhY3lXK1NTNHBQdk1BUko3U2VlVTBJZExPMmVBUEViNjJL?= =?utf-8?B?cVNTajZ1KzhKYXdXTzVkMm1ja2g4eWRkaC9hbk8xbXZKL1lkekF0VlBuM3RE?= =?utf-8?B?U2VZZkczWUVVVEw2dFRCZUJxajFyRzJ3UEx5UDJWd0toWFBSbVhBOVVELy9j?= =?utf-8?B?eEpiOHkxSjdGdld5Qjc1QWt0N0dya05rUHpwOGhnR2RpOWJPS0NWYXJxZjBO?= =?utf-8?B?WDJUeU90UVdLSXFFeWpRZi9Odk50MnQvaU5lU2o5QjM5M0ZoNWxqbFR0TENI?= =?utf-8?B?Rm0yWWp4cFhWT2g5enpsVWQ1dFNwRjNNN21pMTl5eG1adEpoMi8zR3NLb1h0?= =?utf-8?B?VU02cmZucEtwOHNVUHZmZXlPZ2Z5SDlXVXpPSDhsYWxwNEx1ZW5GbmdYaDRz?= =?utf-8?B?cTVOU0U2S2t5ZUlvbFF4cEdiZjQxUDJDOUlib2l6dnhubVRSS3ozZFhPMjY5?= =?utf-8?B?UEVFL0o5ZklVN3lERklVcGc5ZllhQXlZd2VBcW5HRTJtN2dMbnNGaWd2QlFj?= =?utf-8?B?M0wxNmFtUHZZMWtSOU5lUzdRZlJqenpock1wV2trMk1Bc2ZlOSt0cnZtY0NE?= =?utf-8?B?VWJ3bStVOWRHQURRVUMyVU1RUGdnRlRxWVJwU2VnNE95RzQ4WFhUeHRXQzQ2?= =?utf-8?B?WVpCQlNDbUtCV1BjbFcxRFd5R2QyWU5Pc1ZaTjNrNW5sWUJRMXhXeGZwSUVw?= =?utf-8?B?Z3BEOGI1bkdyMnlzd0RReEJORUpVdi9Gc1dXYU5tL3ZBbWlRTDhKbGN1K0Jq?= =?utf-8?B?N0l3TWtzYlBtYktVajhrMk5LTFYyK0pRZHRlVXJXcURnS1lFY1EyZnc2RUFq?= =?utf-8?B?bW11VTJScmQ4MUxMSHMrOUp4R0JkN2VIRGNXS1RHRVJORGtIUnE3bzJlbzRy?= =?utf-8?B?ZlhwZnB6a2czY1N5a2szSVlDbktybWphdmdDYWJ1TzNpbXJrRW1KRUFCM3A4?= =?utf-8?B?MithWlpJUzU5WE9nb2FZK3dFWEkva0JzNysySjNPc3BhdVlnUDlUaklGNmF3?= =?utf-8?B?cTVURFFRV1dHUlAvYVNQRXZkZ1grVEtoT3NXYkRRK3dKc2ppUkxHNCtneEJh?= =?utf-8?B?RlBMc1NUSjByUURNRVVHV2k2MTQrdDdpVUhlaTNnSFd1NFRzenVnOWdjcGoy?= =?utf-8?B?S1ltbWNObmNDS21lNS9pa0Fob3BBYTc4OWp3ZnB6VDVTYlBMVDFKNUFQUU1p?= =?utf-8?B?cXZMeVlSNitJbVg4bk1tRVg1VzloSjRQVUU5Vmt3Z2prOG9naFdxbjBaYTU1?= =?utf-8?B?KzJPaVdhV2w3TUJqOWJ1S1FZSlF0VllEWlphSXBaRXJtYXQ5OVJLY0dFQ0t3?= =?utf-8?B?b0hkUERaMTVFOTE3ZXAvUjZzb0RPT1lFQm9GR1JkbU04aFYvQ20zSGQ4bUhv?= =?utf-8?B?dS9YeGFna3Y2TnVIU1VacWdKcUlUUXpiTklETGlsckdCWDRTandmaFBIS2Zv?= =?utf-8?B?Q0NONjk3N0R0NDVrQWdqZko2NmR6dXV4ZWphRmNpM2hiK2I4UVVURFEzSWxp?= =?utf-8?Q?7BZQmZx2qUM+sk4T6n4a+kfiG?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d664370-9c30-47de-7910-08dbeccc82cf X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 09:05:31.6219 (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: MCErz7dWBrlKSF1uVICyjmeyZe32diLhyHJTC45003NVXBwsOIHwETY37/V456KiPmljIYqEfidvqfm5OnMG4w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6778 X-Spam-Status: No, score=-3026.3 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,T_SCC_BODY_TEXT_LINE 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: Just like avoiding to do certain transformations potentially affected by stand-alone prefixes or direct data emission, also avoid emitting optimized NOPs right afterwards; insert a plain old NOP first in such cases. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -1529,6 +1529,14 @@ i386_generate_nops (fragS *fragP, char * else if (fragP->fr_type != rs_machine_dependent) fragP->fr_var = count; + /* Emit a plain NOP first when the last thing we saw may not have been + a proper instruction (e.g. a stand-alone prefix or .byte). */ + if (!fragP->tc_frag_data.last_insn_normal) + { + *where++ = 0x90; + --count; + } + if ((count / max_single_nop_size) > max_number_of_nops) { /* Generate jump over NOPs. */ --- a/gas/config/tc-i386.h +++ b/gas/config/tc-i386.h @@ -321,6 +321,7 @@ struct i386_tc_frag_data unsigned int branch_type : 3; unsigned int cpunop : 1; unsigned int isanop : 1; + unsigned int last_insn_normal : 1; }; /* We need to emit the right NOP pattern in .align frags. This is @@ -347,7 +348,10 @@ struct i386_tc_frag_data (FRAGP)->tc_frag_data.cmp_size = 0; \ (FRAGP)->tc_frag_data.classified = 0; \ (FRAGP)->tc_frag_data.branch_type = 0; \ - (FRAGP)->tc_frag_data.mf_type = 0; \ + (FRAGP)->tc_frag_data.mf_type = 0; \ + (FRAGP)->tc_frag_data.last_insn_normal \ + = (seg_info(now_seg)->tc_segment_info_data.last_insn.kind \ + == last_insn_other); \ } \ while (0)