From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10olkn2055.outbound.protection.outlook.com [40.92.41.55]) by sourceware.org (Postfix) with ESMTPS id B5AD93858C33 for ; Thu, 18 Jan 2024 09:02:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B5AD93858C33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=maskray.me Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=maskray.me ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B5AD93858C33 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.92.41.55 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1705568574; cv=pass; b=fY0XJq3336WbhDqWuqg9BDLJVZ93VnG+zTvQl2UNBKqHmfrCnUMKUIsbTfRP3VVqUu3FFz42UsxYW0xL9SP5Iq4Qdhp9twJMmz7wRhqS13/MvxondX3SZF0ldQpsN9X7wkHvH8lcgEUhrV+SCQnKfUX86imOIfO66N53uYn+9H4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1705568574; c=relaxed/simple; bh=bqhV+j/lG/y5EdQ4LXYoREEzyeZB3nrI46U63vh05EA=; h=From:Date:Message-ID:Subject:To:MIME-Version; b=vx78djWb+l4jKuNHvBiQizK88/34kN4qV8e7IAkKlSm2vZ5nltmmEnRNcCTTp5de5En9l7TWLvTHhPQlN8SQBqt3Rp0Z4hzoZ1Hu4ioCxpPh3558/ckgEEpeBm+r43bONiAqPV4w4czA39JbRyYOEK6TG61bz3jfoDJSevxN55M= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E4EMgQBVo3kbI4S8YWsxFjkbYZnG5SYGdaVHeWLNttgQ7RWKi44kP/grj9XA0lCTtXy7rypdjbukmYI9apSLQf6x96ACv6gWCbrY5QmJcMKsauCohSCkd4325jGZ/WhNo6IgajztDWsohXytsrAevAHoIetQgtV8jvgYUvhW/57ZEwbYILFHfC17RiLsfNCy4nJlB/0fyfAOfs9In0HVqTXLDVDHA1lFsaayyYCSbfk9GbZfWRLou/J+1vSIaUvzG6EBKnB2TbODxB6s+8xlvXjdGsRDHhkSJBDVnfhq3VlorTWZJEicwW6KMBWx2UPzp8PhbNANIyknl3pxotSt4Q== 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=LLWGRUBC6OlsLa7nrqgyJCFGY932Mz02eb/m1T+RgAo=; b=Hd0x9yRYd5mSM00S3oCQvZwnYrixcaGtKFtXmrDWwQ8LHd5yN7vpN/9juFJixlZVEd0M/cTo7V7G+Cwyy/GbPWJvy5C5qN01Ixkp7iTz7oHSH5xBvp74xo7JLjyJEQR8QpZmJ02/bl1Gm/b0dkTSu81MxZsD7hnI9kjxCqU89rOhkHDocR5aqXTVCCFIjgYTHgaQOrXV1+xFjcNc7eLg6ewi7MmPSNJklFnlstbOje3v26xlth+nivFLwYBauSDzgXanzEKInUiirn3BGymBlSTUaJNnKcVm6gbvaV6GS+OUMxfgxfbWgXbZbtdIafdN/PiM7rwsZ0YvRDHw+F+kVw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from MN0PR12MB5761.namprd12.prod.outlook.com (2603:10b6:208:374::6) by SJ0PR12MB7036.namprd12.prod.outlook.com (2603:10b6:a03:483::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.29; Thu, 18 Jan 2024 09:02:41 +0000 Received: from MN0PR12MB5761.namprd12.prod.outlook.com ([fe80::1dc3:1500:5149:3bdd]) by MN0PR12MB5761.namprd12.prod.outlook.com ([fe80::1dc3:1500:5149:3bdd%5]) with mapi id 15.20.7181.029; Thu, 18 Jan 2024 09:02:41 +0000 X-Gm-Message-State: AOJu0YychD2mEzpfdxBnEgH/KtjUvZ6xCccJrG5Bk1VtVa9+SzeScfuK DtU7Hpj2G8Va83KM8GhiLXO62ulDUxxV70yaY6JCdKOcPH1e+cUW/YhdEOK69O+a1XWYrcl7jeZ rRYB3zLWmW6YgXCLqdtu2nXTd7EE= X-Google-Smtp-Source: AGHT+IGmr4iFhVq6FZHTpQMwvsMBdS2yksFWo+hktu1/Sl883SRJRppMmBlRYJ8I0VFztNccPwNJe11nRD8z40ag2Fw= X-Received: by 2002:a05:6122:a02:b0:4b7:40fe:3114 with SMTP id 2-20020a0561220a0200b004b740fe3114mr373694vkn.2.1705568553880; Thu, 18 Jan 2024 01:02:33 -0800 (PST) References: In-Reply-To: From: Fangrui Song Date: Thu, 18 Jan 2024 01:02:22 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: RFC: Formalization of the Intel assembly syntax (PR53929) To: LIU Hao Cc: binutils@sourceware.org, GCC Development Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-TMN: [90+zA8n5XJOjRng5t3hoyDAfNM/awtXK] X-ClientProxiedBy: SG2PR02CA0085.apcprd02.prod.outlook.com (2603:1096:4:90::25) To MN0PR12MB5761.namprd12.prod.outlook.com (2603:10b6:208:374::6) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR12MB5761:EE_|SJ0PR12MB7036:EE_ X-MS-Office365-Filtering-Correlation-Id: 973d3757-df95-4f04-cf54-08dc18043a0a X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ba8VZuIt8zsdPQBzV2OfLSiCLdOe39bNaOKq5Wze7+k5YD5g2DKRlvtL9hBx/WhjH2ZaD1OIkH4Cemb9XkRlmFOyQTTLV52Rf8TZ/Zvs9q/KF4a8kZBr3CV81StkFHJD99O6mt1VrbitlMkMpebTO88g7w4fqGB7YAF1snifE5JrNkRPmAAtbi1e9cqSJ3JZznzeUpDG6sIf664nFBROLHMY/1GcA2IZa9L5/COpRl50HU8wgACkC3juFodt36gKllKuynqSyRwSXnvb5DPXhd6fVNyXbfvgeEpv4nL+ulgKJ2mQR1dxLGLG3z/d4eGffOWIiQkBIWnAsdVt10XQFJooah6WkNbkB2CSkXeFu9rTs0gLDIhIXQJ6KXTiyWLpOLZ0CProbQZRSLTKOzhAL/Sm84x+8pofTYybaocLK7s8hq+NOA/DnsxgkWuc4lo9z4PM3DoqZRCA/C4wvU6Akq6rUCt97ULq42YmvK4dH+MFsNGSKE1OqMCG/bnjYPOm8BKMGpN8NB4hbUVRTRBzYBLGdLLxWxxu1zBJPD9yyVMn5lRx5rsD1SlYaCcCsSj9vm2Ux0SFNzZcEjaHMXXn0BkDX/6QcQpkJpjFgUZhNcQ= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VDcwTUQ3bkU5S210M0FDNGdQckpIU1gvbzhVbkx3ZVVxcnR3cTVHRTdVWjQw?= =?utf-8?B?d0hsbkI4RldvMTdTRFZ1UkYvUDZPSXQ1L2craDg2MXJtSFdrZnVTdFBwSENp?= =?utf-8?B?cEhMdG1IaGdBd1VMK1hSb0dMMzB4Q1RiU2kvN2FuVkdScU1kdXdLUlU2YlNa?= =?utf-8?B?c2hVMWl3U0RHazkwODBpUEgzRG9IUXlmQ0pEK1JiL3RLbmpDSHdXWXZJVzl5?= =?utf-8?B?bGRsaWEzbWlGT2JnMzhIRTA0ZGY3eEhVdkc5YjI1dG1TK3dtT0pMMDFhdGVU?= =?utf-8?B?T21GWWcwTHpIYWZ3NVVGejZGL3FRM2FQbUJxY1IrOTg2VjRSdnUzbElkL25t?= =?utf-8?B?ZlJ6ZUNHWkVlTm9Ebjh1SlhFUXFMTHZEWHNBZTRWTnFYVjRNUUFnUEJiOWx0?= =?utf-8?B?Wnc3RTY4eVE3eDBjaGlqbWlyMDBZRVdpME55QTJEaldBT2V3Qmt4c25ocDE5?= =?utf-8?B?VmFIRWZOTitCdkNFaUluTUp6b3NROWg3VnBaVXdxMnhSZ0JzdDA3WmJueTJY?= =?utf-8?B?d3FLTWZJdithRXhZS25PTWFSaDl1VlpTZGUyVHViKzdTd0UrSUJveng2c2I4?= =?utf-8?B?dlJKbklJQnQzaFQ0R2JBblNPTmFVWXl4d1RqakZmY25EMGxOdzBXU2lzaWpB?= =?utf-8?B?Y2EzbDR3TWxnandIbkZUc2pET0o1VUNaUG41ZlpyaHhXU3UwOFpkbk9mMHNw?= =?utf-8?B?Mmh1QWlJSWcxeGREZHNFazI5RnphWUJTa3pFMjNnUGZRTUhyeUVvUHdNRzdh?= =?utf-8?B?R1hySEJ1cHV1VW5TSXE2T2Q5eExNUDNJbHBYZWJRZlN4MzlkU09YclRkblBX?= =?utf-8?B?NEtLYjZRTTd5SjlwOXlIeDh2L3k4WXdFRXVRdlcrUzdmb3BzSUNZQlFNVjRB?= =?utf-8?B?aHF3bkxUcGhTdHVSSi95eUFaallaTEloaEpZam5vQTJiVExTclBsUTJDdDBZ?= =?utf-8?B?L09xTk5JZk81UVlDT01raXVVWmQyc2hWZ1VUVlY2aU1XcVFVR3pPMHVadk1V?= =?utf-8?B?dGZlaS9xcXJVdzJWd010SkJXUTk5REw0c3dHV0RweWtVN09sV1N3ZVVRWEdq?= =?utf-8?B?YjQ1WVZuKzBub2xTYVFVT3pmRzNTR3JIVHVQOS9LS3UwRkVhU2UwK1hHRG03?= =?utf-8?B?Y3VaWmNUVy9SaTNsdmRmSmUxejIrSEgzeFR2RzFBL0R0a3dhNUI0WUw2bm1X?= =?utf-8?B?TkZsdkpxeGlVbFh3a2xkZm51YUlsdGJxMWJWSnA0dVZUdjJzcFVJTlg4VTRT?= =?utf-8?B?cUNjS2krM2NxaHdvYUdrUEpybjJ0WmR4SmxZdVZoaGxEWElsV3hyYzRQOTVx?= =?utf-8?B?VGdsVmZHK0lQN0V1NSttZUtEdWpkbVdLemp6Mko3TWZyL3pHdlFiU2xkSU10?= =?utf-8?B?MjdLN1piOXFOMWdGK2I5Q2xkLzl0MVZjZzFUOFMrdm96aFVlUUltR1g0UG9n?= =?utf-8?B?Y1dJRzFCSXdHa3lmRlFEUU04eWZUelBiY25SLzZ6M2x0dWNFQXIxQjVyS3Z5?= =?utf-8?B?T25JRjdVS2JFbkh4bUE4YUNJd3pUZzZGMmhIa3VsMi9TZUI4eDBDbDc4RytH?= =?utf-8?Q?mRG2bCalA4iqvGOVd/vSrREgIf7Y2EnHVs+T44880Zb+u7?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-5183d.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 973d3757-df95-4f04-cf54-08dc18043a0a X-MS-Exchange-CrossTenant-AuthSource: MN0PR12MB5761.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2024 09:02:41.7156 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB7036 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,KAM_INFOUSMEBIZ,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Wed, Jan 17, 2024 at 9:34=E2=80=AFPM LIU Hao wrote: > > Hello, > > There hasn't been an solution to https://gcc.gnu.org/PR53929 since almost= a dozen years ago, mostly > due to compatibility with MASM. I was told that the ambiguity of Intel sy= ntax should be classified > as its own limitation and disrecommendation. > > Notwithstanding, I am proposing a permanent solution to this issue, by ba= nning constructions that > cause ambiguity. This is likely to effect incompatibility with other asse= mblers, but it should make > GAS parse the output of GCC flawlessly. > > > PR53929 contains a known ambiguous construction > > lea rax, bx[rip] > > where `bx` could denote the BX register and causes confusion. The Intel S= oftware Developer Manual > also contains an ambiguous construction > > MOV EBX, RAM_START > > which would look like loading the offset of `RAM_START`. My proposal is t= hat these two constructions > are ambiguous and should be rejected. The compiler should generate assemb= ly in the unambiguous > subset, and we can start to implement the assembler to reject the ambiguo= us ones. > > Their are formalized as > > lea rax, BYTE PTR bx[rip] > mov EBX, DWORD PTR RAM_START > > Roughly speaking, anything after `PTR`/`BCST` (and before `[` if any) is = considered a symbol even if > it matches a keyword; any identifier between `[` and `]` is a register an= d not a symbol. > > > My complete proposal can be found at > . Some ideas actually > reflect the AT&T syntax. I hope it helps. Thanks for the proposal. I hope that -masm=3Dintel becomes more useful:) Do you have a list of assembly in the unambiguous cases that fail to be parsed today as a gas PR? For example, % as -msyntax=3Dintel -mnaked-reg <<< 'lea rax, BYTE PTR bxx[rip]' -o a.o && objdump -d -M intel a.o | grep -A1 '>:' 0000000000000000 <.text>: 0: 48 8d 05 00 00 00 00 lea rax,[rip+0x0] # 0x7 % as -msyntax=3Dintel -mnaked-reg <<< 'lea rax, BYTE PTR bx[rip]' -o a.o && objdump -d -M intel a.o | grep -A1 '>:' {standard input}: Assembler messages: {standard input}:1: Error: invalid use of register % as -msyntax=3Dintel -mnaked-reg <<< 'mov EBX, DWORD PTR ebx' -o a.o {standard input}: Assembler messages: {standard input}:1: Error: invalid use of register