From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2056.outbound.protection.outlook.com [40.107.21.56]) by sourceware.org (Postfix) with ESMTPS id 72CD5385841A for ; Fri, 8 Sep 2023 12:54:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 72CD5385841A 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-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IcsLJtq6BRy7UTQoAXNUQMlQbzs4a7H6MM+TfXSvoEh3xbkYb7CVhY6z5o6IU1B5aql0+9DAMLfihEXMxfSVl/EC1XsQqnim86KEOfdJzrPu2U3Rx3klSa0yUEm88Mx8YbbdZYkn3DCy/+saE2C9nl77U9BiRAoGq/2S+T+tDBLce3cwjUTkDRqQEznV50uzMy9DNKf57L9k5Gp7/PsS0K9tWfa4CwWKuKWJnPPwHirHXrwET+Q2b+jU8zIraG3m+m+r790M6PbAaLDTHJDneZRfLT1aoRAcdac47VtAUgdYBKAEX48Yql9roshcbLW+OE6bKPd97TG12/+GhAk9vA== 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=HgWVvDHTwYtNoWibntPWGqmUhxEOV+Km5Q93Tzv5Ogc=; b=JLIqAe/8jy+0uQDjo43yK+Y4Z60y0mx7ZCu+1/G18l/OcsGcEIT4XV5L+fy6KXpM5I2SXN91iLX+gbBSS4C8VN6iPjIB6LFn9Ibdv3NYkQpahHBTxp72cNr6H+3yMtaN2m76YMz7R/9QMgEAdi5jJOkXM1G6Kz4FSgfE0M5vRuG12Q4jFWIwm4qGgB9/SyoEf77oRBm0KBfUEV/SzotPr/XXBPAsaGcRJa+JyYKb1BGPj0abhbOW7iXfdmZHHEWIShS6UiL4DdMmaPf6NmEK9C2h6zjgGIZ5pJn6jZMbWPqUVHn8Pq7fvwEE/oJ3aW71ahZhq/aeqRLi7qI7Nox/ZA== 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=HgWVvDHTwYtNoWibntPWGqmUhxEOV+Km5Q93Tzv5Ogc=; b=RS8TakC41gG5hb9k9uH2K/UZEN5dH/+PSxXdAu4wF4Ov0DWMYP8NEBDrLMD7+sklozJVlOZ7iB6p9rJuM5OsIR5uswty2sOYkPQQh9HhvZZXC1xN6DzRimhLG7u0+NFENodueAOGbIHBkTdAoDkR+/rKe9WD40lNF0X7n3uQq1/CQQLMoLv7MBdj+xNonL2DiuOZU/WeDuy6uFzAgq5C7n4nLPAFg0dKwXV8WObW4ORgQNq98K8PfizC9THh8oAIB0cTnksePOL4In80W9puqYzzEy0yKXNcB4OBg85hhQ7db/UZj0yIIfEGq9V4XvFtxSFIHx7xp/eOlYadHxqVWg== 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 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:54:04 +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:54:04 +0000 Message-ID: <806a32b4-d0b8-fcba-bfdf-4e7f4d587172@suse.com> Date: Fri, 8 Sep 2023 14:54:02 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.0 Subject: [PATCH 2/4] x86: make code size vs CPU arch checking consistent Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: <830bde4f-c60e-4ab4-2ca0-86381408254f@suse.com> From: Jan Beulich In-Reply-To: <830bde4f-c60e-4ab4-2ca0-86381408254f@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit 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: 032c00e7-c3b8-46d8-7581-08dbb06aae81 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OMl3ukq7yn6miQxrVFpxIvIS5P3sUBONQfFXXWHEMIH3auhRfEzLDBYBOC+gFu+nhEgd6LpvCdIClTZ+RbcxLmG00jP5gb60HGqorwh2t3/UzQJcYreCxt6nAkjN45gzJsqZIZIR+dgviW9hOD7pe1lrtXJ4AxaBGuQW3UCaa90DzAm4wMOgmOzz66OGPEjjaB/OaElhGY0Qsz2oHoToLDUkQXVZ5HlMhNJjVHM1moimPppcLgpnjADFzcGwBmQrqHt+SnHIrSu+ulQsE9E2o9RKRmy8avaVVkX1txMIKvDbUUtMVcSiSU0xuQXZCQ2sb8nn+MXalekOWbdk1Xqwij57ezyzf8HIg1FFGgLICyjMC7Tp4XBK7bH+26RkEwSpBonQg3msOyGilT18PHsQjHmG1+VH/MFOgYcvAZPV4sPJUKC9u3YKLGJMR5gKHLBi9VSFYsdi/jjiNUoY6f5DFU+PDuMJccBOq802lqXLgYnzHw9kTYYj+Ov00bNGwtbtxLma9cfn5rwohIDt3zvzVgeunclRM3jvLT/XsZ34EBNk3+hNJRiC/2vDUQFF5po7+8pWSpLZ/u8019o3aYeQQMJ4Kf/ZWaEa2d4fK5+ZLIL41oXhIxdbUWbfVlvYkPzbgz1Tz0WQNy4FLzP0cLkP+A== 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)(66476007)(66946007)(41300700001)(6916009)(4326008)(8936002)(8676002)(66556008)(5660300002)(2616005)(26005)(36756003)(38100700002)(31696002)(86362001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UVNNdWRNYWJra082SXVsazZBOWgzemFGOCtPZTVsV08zckZTOW9lanhHcnRt?= =?utf-8?B?VHVBNzhXZGhHdGVYS3hvTTlWajQxeGpFYzBhZ0twM2t6TGhHM0NZM2lpa0tj?= =?utf-8?B?V0o4VUt4QnpvbkM1WHNna1FKc0t4dlZSeC90a0ZqQ0JoUnZIMXhsWkZoNWRx?= =?utf-8?B?RnVTSmc4WkdFSEdNZ3dMUXJ2ekdtM2NZL09WV0daUGVHZWdPRkg0QXlaMVlU?= =?utf-8?B?N2pseC94QUovK3VBbjRXdEx6Y21sRG82SmlIVmtkL2Zqb09nMHpRcXg4bURM?= =?utf-8?B?VjhEVlEvVENiZExxMVVuQlRIZ1VaRTc5SE00M3lIazllSHQrc3FIdEk0Y2R3?= =?utf-8?B?T2swL2h0RGx0TDQ1QzJSVlkwOExacXVPV1FvbzBTV2t1SU80MC8rMnZTZ2ND?= =?utf-8?B?TkRKYnB5V2JRd2R0WXVxUkhIWjdKQkZNYko0aTdYazNkcmR0RUozK3llNW83?= =?utf-8?B?djlWUTNYMVJTOEdLWmpOT1JBcjBtUkJOakhyWVpjL0RzSXJnVm1PMzNBNkdk?= =?utf-8?B?QnFMamVkclpFblluSnJjSUVYenpkSXBBamVJNDh0NEN1VGdMZTdUdU82aHkx?= =?utf-8?B?ZEN1WEEwWUhOMG85MkI2WXpXdFNqUFBGbXMzUlQ4akx6RURodXFsQkhRVlJK?= =?utf-8?B?Ull2eDJNRTBpc0JseXB0aTRJcGhkQVRPdC9icEphOHlCdmJsZ3RCSXM5VlRX?= =?utf-8?B?SVUzVHFnZTZ2dHVycVdDODM5blRiYlBlOTZDc09TL1FJWFBhbWVEVXdwbnZF?= =?utf-8?B?NEVUODFVQmFOTUpEOCtFRy82aG1GYUd2ZkdVV3d1NWtoUzNlV3lHc0pTb2d1?= =?utf-8?B?SjN5QU1qKzU1ZUtUUTAvV3BkMDhodTZJZEhDN3VPUjAvVlB5VXpPbElRR1Zt?= =?utf-8?B?K2Eva0NpM25sdW8yNytSZHB1R0dUQzdSRjVCODNPdEpGY0JyQkpyeExSNmhX?= =?utf-8?B?MGpObnRndlRlQ0FiNTZzL2VoSFhrZnFVa2h3RWowa0pVV05zTDQ5UktKdTZz?= =?utf-8?B?c250U1FJT292RTUvbEdaajJJczZ0bzNVdkNDSm9Pc2tVTzdIOGljQVFqNjN1?= =?utf-8?B?NThtMDNlVkFuNTVIam5ScW9Xc1A4a0hHZGxHb0psN29oNWRPTUtZVFFtemxL?= =?utf-8?B?M1hJblpQK2dXYTRFbXN4djZ4bnRzSWpMV0dqMXFxOFhFL2xvTGlSd1Z5M2hr?= =?utf-8?B?STdqTHF6ZlU3dnAyMkkyS0xidjdqVFpjc1hCMVlqWTVNR0t4VnBwQ29NS2Rl?= =?utf-8?B?M0VEN0YvTFBVN0hjNUJrNzY5T05XY05aMWR6Zkc4NFZaZmZJR2FyaDB5T0hQ?= =?utf-8?B?RTg2QzVYYmJuU2NTaUtVYm1IcE1ZN0ZWdFIvZkJWNWpFR2pvQWZlZ2FYWlhV?= =?utf-8?B?K3RKZFluaGcycStEbElrdlUycmZUbVNYT1FJeGhkbHRNR3ppbGdYY1dqM1dE?= =?utf-8?B?ZEJoQ0dCSThHZ0ZZR092emFvVTBZbWVKQVBYcjZya3p2V1JSZmZsMkgyV0Q4?= =?utf-8?B?Z0h5ZUl4dVphS1dnRkRmSkF0Z1RKNnlSUTNSUGV3S1ErK2EzWHN6M1FFYk9S?= =?utf-8?B?YTB4NjhmTjZiRDhNeWxEMW9wOFVYMXRlT1VEWXg5UG5aZ3FweVljRU5selIx?= =?utf-8?B?WXV3WXBQZHpCSmxpQ0QrYXlJY1UzQk05R0ZFU2dkakFWcldzdm5pWWRzMG5Y?= =?utf-8?B?cWhWQXJ5MWh2S1h5QjVQRkp0cDV3MHJNZnd5UDUrejJVbEhOc1E4Mk00OUow?= =?utf-8?B?aExhT0dkUmFibDkwdTRpZFhBMEIvcjBiV1JxOGViVnltRktWN3ZVYXc4cFU2?= =?utf-8?B?d3VoUnpkYnYwL0FXd1l3ZlAwcmVVcXR3cDd1aUMwOGtRYXlsa1ppYVI3R1FE?= =?utf-8?B?a0I2YlFyek5ZZWZXdzNpa01BTHpLTW96ZTI4eURubEZKM3FwTDdVREFNeE55?= =?utf-8?B?cVJ6aytEdkY0Z0JPdkQ4WjlndG5tSEZQVS8wTmFWRFFmZ2hRdXlVT2FKLzNL?= =?utf-8?B?clBPU1FRbXo1NkZjTldVNjltdUloMkVxR3lWUlJvdmZ5NUdWL3M4cXlSb21i?= =?utf-8?B?SGhVYUc1NjRpSm9uRFV4UGZURWM3Z3czWWZrTGNxMjJTZEVlOTFzclZpYjhM?= =?utf-8?Q?MkuWRWZp9rojyGIH0iOXqhh3q?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 032c00e7-c3b8-46d8-7581-08dbb06aae81 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:54:04.4808 (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: 28Ovv7nRSpaZq+MHol8J69EfF2S9igCy2jwGfIpJPBhmckchAFmG4ZJTIbfoiOnZtnfTk8FNX1UvvrqVL7x6PQ== 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 List-Id: While update_code_flag() checks for LM / i386, set_cpu_arch() so far didn't, allowing e.g. 64-bit code to be emitted after ".arch generic32". Oddly enough a few of our testcases actually exhibit bad behavior (and hence need minor adjustments). --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -2928,6 +2928,24 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED { check_cpu_arch_compatible (string, cpu_arch[j].enable); + if (flag_code == CODE_64BIT && !cpu_arch[j].enable.bitfield.cpulm ) + { + as_bad (_("64bit mode not supported on `%s'."), + cpu_arch[j].name); + (void) restore_line_pointer (e); + ignore_rest_of_line (); + return; + } + + if (flag_code == CODE_32BIT && !cpu_arch[j].enable.bitfield.cpui386) + { + as_bad (_("32bit mode not supported on `%s'."), + cpu_arch[j].name); + (void) restore_line_pointer (e); + ignore_rest_of_line (); + return; + } + cpu_arch_name = cpu_arch[j].name; free (cpu_sub_arch_name); cpu_sub_arch_name = NULL; --- a/gas/testsuite/gas/i386/287.s +++ b/gas/testsuite/gas/i386/287.s @@ -1,9 +1,9 @@ # Check 287-only instructions. .text + .code16 .arch i286 .arch .287 - .code16 _8087: fnsetpm frstpm --- a/gas/testsuite/gas/i386/8087.s +++ b/gas/testsuite/gas/i386/8087.s @@ -1,9 +1,9 @@ # Check 8087-only instructions. .text + .code16 .arch i8086 .arch .8087 - .code16 _8087: fdisi feni --- a/gas/testsuite/gas/i386/att-regs.s +++ b/gas/testsuite/gas/i386/att-regs.s @@ -1,8 +1,8 @@ .text .att_syntax noprefix - .arch i286 .code16 + .arch i286 mov eax, ax ; add al, (bx,si) mov rax, ax ; add al, (bx,si) mov axl, ax ; add al, (bx,si) --- a/gas/testsuite/gas/i386/intel-regs.s +++ b/gas/testsuite/gas/i386/intel-regs.s @@ -3,8 +3,8 @@ mov eax, tmm1 - .arch i286 .code16 + .arch i286 mov ax, eax ; add [bx+si], al mov ax, rax ; add [bx+si], al mov ax, axl ; add [bx+si], al --- a/gas/testsuite/gas/i386/inval-16.l +++ b/gas/testsuite/gas/i386/inval-16.l @@ -10,7 +10,7 @@ GAS LISTING .* [ ]*1[ ]+\.text -[ ]*2[ ]+\.arch i186; \.code16 +[ ]*2[ ]+\.code16; \.arch i186 [ ]*3[ ]+vmovapd %xmm0,%xmm1 [ ]*4[ ]+vaddsd %xmm4, %xmm5, %xmm6\{%k7\} [ ]*5[ ]+vfrczpd %xmm7,%xmm7 --- a/gas/testsuite/gas/i386/inval-16.s +++ b/gas/testsuite/gas/i386/inval-16.s @@ -1,5 +1,5 @@ .text - .arch i186; .code16 + .code16; .arch i186 vmovapd %xmm0,%xmm1 vaddsd %xmm4, %xmm5, %xmm6{%k7} vfrczpd %xmm7,%xmm7 --- a/gas/testsuite/gas/i386/nops-5.s +++ b/gas/testsuite/gas/i386/nops-5.s @@ -1,4 +1,5 @@ .text + .code32 .arch i386 i386: movsbl %al,%esi