From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) by sourceware.org (Postfix) with ESMTPS id 62307386481B for ; Wed, 16 Mar 2022 08:48:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 62307386481B Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-ve1eur02lp2052.outbound.protection.outlook.com [104.47.6.52]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-41-RpGsRgdTNaK6ItDJaujyMw-1; Wed, 16 Mar 2022 09:48:18 +0100 X-MC-Unique: RpGsRgdTNaK6ItDJaujyMw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A/Xii9diwSR7RSP20zek21mNebEGUiRbe2iCePsNn+sxT/yHqIN4hluqWlMyEZ1R32DilEK4yrhVctLfdyCIcxXAXWKIkeHTTsg3unrOFRDsEox/0Nn110nFi3yuiw7Idmmslo1h6vd11mz6AWovIr/1o1HqMnGQKetrdRITi2K5o/d3mcMory3jnsLvQw60OqHmjmIKlw8rnGuybclcPoCKMggmxzmNYks4bSkisiWZ6NYHZBzRvddH4G8v6NB2R7wtJIIr7m9XiSzrq4EsW8AmgEmtKZdTf/VtcCmQcxDh4aMZ0Qfk43IWT4xRyqzZW5hjZMj6f0mUx7wzL68SWQ== 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=23ENhZAau8LbFLIBupjeRocxQ7GvZFCx3oBSly18I5E=; b=PZaerFJKUTrcpCWOAaCabbcOt+2g1BF5JHEoegLwqAk9BovNcde+CsMAteFyQ+ov061oIXPoaLfXFhI40IbapdqyvUaSJ9lpcgkXHfMfkM3UzDZY2NnTbFC8c5oqg2DF99MiQ03qAMe312bL87G/bWU/gEuKGMNXpT/CZpd6LnGnvwAybzLkrRZIA39bqZ/9KpjSVTE+YscW/IabntROTZ94w5mRFa8+UKDLelabwMvA8eP1/QYy3gEDvNNcHnpdkEMYLIfGCGNiQWRc5BokgJF4G9lm7uPiLzDnFlOmq/OMP7aKuqgccmiryDy6JxgGzQyqWnEMUaQhaHckyL/sng== 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 VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by DB7PR04MB5401.eurprd04.prod.outlook.com (2603:10a6:10:82::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.15; Wed, 16 Mar 2022 08:48:17 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::e8ce:db1c:5bb0:af0]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::e8ce:db1c:5bb0:af0%6]) with mapi id 15.20.5081.015; Wed, 16 Mar 2022 08:48:17 +0000 Message-ID: <9fb1a22d-0f0e-fa4b-dd13-7913bac81462@suse.com> Date: Wed, 16 Mar 2022 09:48:15 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Subject: [PATCH 5/6] x86: never set i386_cpu_flags' "unused" field Content-Language: en-US To: Binutils References: <93cecdf2-b805-4508-9e34-89fd0011ccc9@suse.com> From: Jan Beulich In-Reply-To: <93cecdf2-b805-4508-9e34-89fd0011ccc9@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: AS9PR06CA0217.eurprd06.prod.outlook.com (2603:10a6:20b:45e::17) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 50bb0a65-1423-4ebb-44e0-08da0729b6ed X-MS-TrafficTypeDiagnostic: DB7PR04MB5401:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ktq3mjNnygRqyHc0ulQw5tKnc+HxHqaK2RGOnPooOt+y5YL4tz0ojt1drHHSUUpZIIupoq5NJk9i8fT4ByNKbOlgNOQTdoVUTj1qmVD+kcHJGqCiXxRjcLNQbpSj+NRUiPCLwJzF/pIdAUNNEicfaXWjcRwDETWrG6d02xDz+xlxihycWxU9ka0x3rMEqw6QyG0NMGzhAkoRlfTUhBts4CeX5DLVSQEnUI5cZ1kh6itnS57kNGKSkPXRh8OsXvg8SxwjBrv0DfhgiMlfcJKg/8v15Wl+l15McqZVSb3E17Img93w+GPMA/T+jblflw8TNsn2tB7mppGMgnbcc6Js90HkhrLYr8Bn9pPwcyEZPgccT2VoUg41GOeApIBZn3Y8pH+7+QAx1dED3dkG1nCOdsnvwNrld6Z0cZgTZ0mRkLlQPBj75Lht2ameaFtdrhnriBQ7PMjjSy5s6G6WEnRKLGRBNfgE6V+7IikujFBzuE38tINABwek2m0tY1lGdOgeQiqm6A0fyvpSrPycAhC4Z0X8H9LSHTDWxbdpIMpRZL23GuBtOg7UdXFIIeaw14GezaM/099yafzZRBuAJ434I2wKpxsjFMKnaRh3H9dSGdCjBg0lZV15UH3+OcutAMFpCvBQwRENKo7BA2P+qem4tLMWxXZwnawTmYhQ3yEaPapHVh9saEqMLCLd/6FxYAbd8ahGVf6ama4fmFKciqLeFakfb26lILh0TVSOKrzX9mtIqqc8tF9FI5L60l2FkNpa X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5600.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(508600001)(8936002)(31686004)(6486002)(316002)(6916009)(36756003)(6512007)(6506007)(5660300002)(2906002)(8676002)(186003)(26005)(4326008)(83380400001)(31696002)(86362001)(38100700002)(2616005)(66556008)(66476007)(66946007)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cEY5NS9zRDBuSWk1WDRWNzlvbytkRC9ZajdqYXl5L0pIYTF4L1RDM3dXbERy?= =?utf-8?B?WkdkRzZPMkc4NW4zOEVIUGwzVGZRTzAwYWloMzZEdjBJMWdIS3RoZ2llOW5h?= =?utf-8?B?TEtxYXhJQnhncS80SE9vWC9tQUVMQWRhSldkZkNvZ01ScDViSUx1KzFmY0NC?= =?utf-8?B?WGRQVWcwdFdyYUwraEt3dEZVL3M4SHlueStLWnRxOW00S1JkRUtpcytkcC9X?= =?utf-8?B?ZjhHb2w0NDBUWWVxSXVzMUZUMXZwZG5XVWQ5THQ1TmFGMy92S2NQMzcwd0VD?= =?utf-8?B?bGtBMk4zUk0yUEZMbFpZelVNVG82OHczTG9HQWFXZDNDdWVScXBiL3RvS2Zn?= =?utf-8?B?SlZ0RTNKUzV3VjF3Y3pOTWRyL0pKWk1HYUpVTDJqM3daOGRPcmFNOGdEQmJ6?= =?utf-8?B?Sk9HbmRKdXFleTBFb0ZVMnhoTGVVWWVJeFJvVWxXS0prUWJoU0dBVGNZcXZJ?= =?utf-8?B?NllLaW9XTnJMRllDbGZXN0VZWlpMYTE4dThyaDkwZGJ2MVAyRWRIditXL2Zh?= =?utf-8?B?Y2NFYTZpSnFqS0daNTU4THFFU3AwcTlSa0doV04yTEc2YnF5YWhrcEZ3VHZ6?= =?utf-8?B?YVVCb0piR2E2c0l1RlhFRXFvTmVSc29jTjZMcnFwTUZEMEhxdjNvYndnN3U4?= =?utf-8?B?b3Y5UEs0aGJjV2FpdEhnbmozeVJoV01nQVQwMjhkeWZsLzNTcVZ4Y0FXd3ZY?= =?utf-8?B?akVGOXFPVmpMazdKUFBnaGhWbHZoT2dBMDUyVytxWkxHWllWTWlUTmhPZmFL?= =?utf-8?B?MFE0cTBVcTg2dEJwemNJQ2ltalRHbjBsQXNvU3RNVHFFTWlJaFFNWmprclp4?= =?utf-8?B?dlJVVDAwMXRwa0FzdGlKTzhCL1JLT01ZRnZ1YWNVbW4zdytzbmxVWEh4MFM4?= =?utf-8?B?OGs1N2c4TDdXci82c0g4azdlRms2bkJoZGZWS0cxUERDZEtMblpyVjVRMktH?= =?utf-8?B?cGVPVVFwdFhoN3ZhN0JFcExPcnFxK0RkZGdOYkRtNHZHeVppY0pWQ0ZXR29P?= =?utf-8?B?djdIRGw2dTZCekFpR3E1MzlISEFOaWdJQ3lpTngwZnhRckx4b2FtSnBCMXBx?= =?utf-8?B?UlJuSm1xVHpHWXZ0Q3NwVnVBLzhXUDFlMTRNUkZYOW9KdW0rMG1jc3BFRVBh?= =?utf-8?B?UTlqVWNmakhKK1VSajRmOFdhY2VIdnBxSTRVNUl4UjNvT3lxQlRJNTVENE55?= =?utf-8?B?SjEyd0xoSStoZWZab01TcStxRkIzNG9sSlZnaEoyQ1l4citRTE52Yjg2UHUz?= =?utf-8?B?T3lzRWt1TEJrL25zWURiVU9wRWNrSzUxUHhFK1JhaTlGNHBpY2RtM0ZuQzlm?= =?utf-8?B?UFY2K1pNWk1EamplZVEvS2dtaFR0RGNPR1l1cS9aU3FMdDl5YTVIbDZiWHVV?= =?utf-8?B?MkErdTA0VVZ5VHhwUWhFT0dSTjNDS1dzd3lWLzRlWDY0Q3oxS1VJODN2RHM5?= =?utf-8?B?SUJ6dEhqbTJKM09tSFJmbDFGWDFFR2o4Z01iaTR0WmNidlVFVmVpTTJPRVNs?= =?utf-8?B?MkhSYXAvYmEzemRMajZlZ1IxWFM2aU00VVN4NlFON0poSDRFRkthY0JkcnVm?= =?utf-8?B?TCsxekZSSWdtSDNySnFBSmlObE5vcldwNjlsbzM5aUJld3c5Q0hnN0hVSHI1?= =?utf-8?B?Q0YxdEd4NDYzc1kyVXZVRVRFaktPVTJraXM0RnhDUmtSeU5aUlNTRk5xaHdZ?= =?utf-8?B?aU9HbGdaWnY3ZkFiMDVTTEtJQ0JXWVh1SjJEQS9ndzhzSGd6b0F1YVV2cFB0?= =?utf-8?B?ZllhNHNXdWtIYlpHb1V0MU1saHZRWGVpU0ZhcTd4U2NOdlZiL1NOSmNBbkQ5?= =?utf-8?B?MXFNV2FXeW9ER0x6Tyt0WlNKRUdJS0FqQlJzQm5PelZvUVB3bzhLbkRzcWI3?= =?utf-8?B?Z2VaWVE2bmNOZDZndGhlTlVFRlJjbmhmZTE4czFnUzg0REdnTEZTemc3RWN1?= =?utf-8?Q?rAkwn7sIbVIikO67g0r5alLDE7uocrCN?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 50bb0a65-1423-4ebb-44e0-08da0729b6ed X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2022 08:48:17.1809 (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: 87qm/TE7nkzH6QXntzNaZaEd+uq1NXll4NgTikCyM/xue/W4uJVfEHSiO2KBsyuPWborfa3bl8uLmWtkSRXqOA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5401 X-Spam-Status: No, score=-3032.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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-List-Received-Date: Wed, 16 Mar 2022 08:48:22 -0000 Setting this field risks cpu_flags_all_zero() mistakenly returning "false" when the object passed in was e.g. the result of ANDing together two objects which had the bit set, or ANDNing together an object with the field set and one with the field clear. While there also avoid setting CpuNo64: Like Cpu64 this is driven differently anyway and hence shouldn't be set anywhere by default. Note that the moving of the two items in i386-gen.c's cpu_flags[] is only for documentation purposes (and slight reducing of overhead), as the fields are sorted anyway upon program start. --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -628,8 +628,6 @@ static bitfield cpu_flags[] = BITFIELD (CpuPREFETCHWT1), BITFIELD (CpuSE1), BITFIELD (CpuCLWB), - BITFIELD (Cpu64), - BITFIELD (CpuNo64), BITFIELD (CpuMPX), BITFIELD (CpuAVX512IFMA), BITFIELD (CpuAVX512VBMI), @@ -676,6 +674,8 @@ static bitfield cpu_flags[] = BITFIELD (CpuINVLPGB), BITFIELD (CpuTLBSYNC), BITFIELD (CpuSNP), + BITFIELD (Cpu64), + BITFIELD (CpuNo64), #ifdef CpuUnused BITFIELD (CpuUnused), #endif @@ -1068,9 +1068,10 @@ process_i386_cpu_flag (FILE *table, char else next = flag + 1; - /* First we turn on everything except for cpu64. */ + /* First we turn on everything except for cpu64, cpuno64, and - if + present - the padding field. */ for (i = 0; i < ARRAY_SIZE (flags); i++) - if (flags[i].position != Cpu64) + if (flags[i].position < Cpu64) flags[i].value = 1; /* Turn off selective bits. */ --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -272,6 +272,9 @@ enum CpuTLBSYNC, /* SNP instructions required */ CpuSNP, + + /* NOTE: These last three items need to remain last and in this order. */ + /* 64bit support required */ Cpu64, /* Not supported in the 64bit mode */ @@ -417,6 +420,7 @@ typedef union i386_cpu_flags unsigned int cpuinvlpgb:1; unsigned int cputlbsync:1; unsigned int cpusnp:1; + /* NOTE: These last three fields need to remain last and in this order. */ unsigned int cpu64:1; unsigned int cpuno64:1; #ifdef CpuUnused