From patchwork Fri May 5 12:51:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 90430 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp376687vqo; Fri, 5 May 2023 05:51:21 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4HfVV7YCgPrWnx9xA2hhOI8uS/7UlwnfIp3EhTypwoumlf4aOV4o1wzQmpKUi+wN5Q3Ap9 X-Received: by 2002:a17:907:7da3:b0:94a:5306:3952 with SMTP id oz35-20020a1709077da300b0094a53063952mr1359874ejc.57.1683291081391; Fri, 05 May 2023 05:51:21 -0700 (PDT) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id n20-20020a170906089400b009658615d30csi1212880eje.919.2023.05.05.05.51.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 May 2023 05:51:21 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=GzKyF1f0; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0E790385701D for ; Fri, 5 May 2023 12:51:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0E790385701D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1683291080; bh=YSpVna0TVsBY1KBiMb9YhjMa2XGUeBkW9x0s7sNUGEY=; 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=GzKyF1f0DYw1DxmEqueJJnJgt5zZjLTUUo/3MKySFoCYdFS4dn3WYi6zPKbe5KNbo gIojfdPRp8CQtxDWz01CK2djeH6JPEpfVcGBawjmPdf0O9S9U4MHDO7EjxLlkAO8NL mQNO4on4ArEyeINUJVM7sjXVklBX93NsTY+KRF8Y= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2053.outbound.protection.outlook.com [40.107.15.53]) by sourceware.org (Postfix) with ESMTPS id 5C8683858D20 for ; Fri, 5 May 2023 12:51:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5C8683858D20 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VatCCIjwc8n5txmrkEe8sxKCvDgXuvsWNz2ItTlrJFe1N3wZmX5D5eBfCYOU5VvfGHLsaSjne+yhn75Ag1Mk1SEMfjgyKsphskEHsE0PCh9lCist/SZvh+4vXW8KjEiw8vGZrpb6XO4s40fQ09eW174OfjgCEd0UetQ9nLl0Fzo1KjxE3cWH6amhh/tOZH8P6tuKUfPZapKYkmlKSyklADbS07KzJVTs7EaoWdOPETMi0556yHH8w9yJ4MjV0RU1IRcLLo20c4QJ1brDC9fprIgzJ9+CX0EnooIXQol+0LKcwjVCICZizZIa8IgXF/lMlKcQ7GNH0ad8+rzSqElBNA== 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=YSpVna0TVsBY1KBiMb9YhjMa2XGUeBkW9x0s7sNUGEY=; b=nWRxupZCv56ljeRW42ctmiwWX9a+WYO0BLQ16V+r9gUcccj4HbR07DMm3CAHFKAm/BWgN0i/jhDwMpamdg+iYB1QyC9m1+dx0/W4KVltLmlzo3ICQcutKk8M8AvKquoKhJ+jKh+5vpiJZKtcMZVO6cp/GhOcP+nzaFGbUipWhDeiIuCWfxD52VLI8zP3cDrDx8LljwdCQ081SUIwvtPNuZO6BgJMLwmqJRYpYkzehuzviVuszKiQbD0gszAxv/3eyEU7z8ePP5m4qFGV7qkNQG1puQwGmvPGryaHSNpQTOefVqCfxI5od++jlfy8q4EPneBKGJ8sc5tixGxKMUtMOQ== 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 AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20) by DU0PR04MB9395.eurprd04.prod.outlook.com (2603:10a6:10:35a::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 12:51:07 +0000 Received: from AM6PR04MB6551.eurprd04.prod.outlook.com ([fe80::768c:6df7:9afb:acd7]) by AM6PR04MB6551.eurprd04.prod.outlook.com ([fe80::768c:6df7:9afb:acd7%7]) with mapi id 15.20.6363.027; Fri, 5 May 2023 12:51:06 +0000 Message-ID: <4735d366-fe31-0092-2edc-d166184b8567@suse.com> Date: Fri, 5 May 2023 14:51:05 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Subject: [PATCH 1/2] x86: don't recognize quoted symbol names as registers or operators Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR2P281CA0070.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9a::9) To AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|DU0PR04MB9395:EE_ X-MS-Office365-Filtering-Correlation-Id: 0a4b81ac-10d7-4f1a-fb01-08db4d676498 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1bxRhM9pLHJblnQXf82fUIur7M7UfMDQUSjd+hqMwsgXAnX96vivrJXtGqXR2mhSkhXQnBBUiDtbbvTStugo7nAVzGTEgWjAYsSpDveAwB6fdYMCQr1WY5rkNoSMSgOl6K4SWne+LEl7OxC5V3Ktx+Txv/RYZ5N02gv4lH3quA0WrFgpVrVAkzOx/hkGOmJjX0VW6buDi3cY0wu2qjtDHIhQJa9lmDTUsQgEQ6uPr/skSW8eqfaXKsNWda3UNy2HespcWUfTVTXAPR6p22OI1i3kWWiMSKWKq/QlkSMsc2ekous40q6FCMPVs4NHhLTFzqHXYUR9ES2iuhTdpNnTXdOWbBeMlKslkGgus1ig2+uR10XxD7C7Fb39GtfDiK0HavmoOotcDA5lNFGQuNKOVVilF6yjCIC4t7YC95cWZBRxszBMFBCINWWTRJr2WDnlY/UvLVQyPzRPreW1cko7FATFVhIs/tbgvoIRYaYZds5bgcOdrBQ6S/RSg0lmpzqw7MUt/8gef4PI+hFyyoJGpi+UH+Um1yWGa09g5HOcj4fWJFWx/RrFoIO2zJl8WopoFE0iR1sVC+BFENIB2e7ZMhBkyWdguibZP4cIYt3A9WO2XumyeEZdYklOFzD6syoUrjow4exx+0kxwxMjPjfwwQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR04MB6551.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39860400002)(396003)(346002)(376002)(366004)(136003)(451199021)(83380400001)(2616005)(186003)(2906002)(38100700002)(36756003)(31696002)(86362001)(8936002)(8676002)(5660300002)(4326008)(6916009)(66556008)(66476007)(66946007)(41300700001)(6486002)(31686004)(316002)(478600001)(26005)(6506007)(6512007)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?HmpMs+0EgqLIYWfxXF7ysTr06ZET?= =?utf-8?q?55P/ViAC/IIEUBOCm6fIT6UMuJ9A6R5uFsWKzegoYHUR34tDBtwexHD2G6oltvbVp?= =?utf-8?q?qL9BN1zZdkSVs7YlQAncME1NvrDiaPJMgj+n35TCheY/kTOzCQV6z8Dq5RN5OyXI0?= =?utf-8?q?qWRs8KzbAt0VOLGyw+T327TcRXDrEilYAb0Nkni223LB0XKhKwcrDC5UDH5MpMA2r?= =?utf-8?q?8wKAk8blwfEPvJa1rrCx/J0wA4zaAU0Ij3lBr+CiIecXlmQOjTHD8gifu1ouO3cOY?= =?utf-8?q?siHNol4UNqytZIoc8ljK+EhRQLsc0TzSgabSxH/zr2sNmmaxjnB6UfhhUZxNNLV3o?= =?utf-8?q?f314XTK+0zN29Z0ppEbEkdcHwW+N434+NaILa6LBCI2j7A3T41gFjSx6S5lj58VqZ?= =?utf-8?q?Ds58FSM69IugrKLerZEQaNgxOFCX6BR4GoU+8kyD5X6+TpK4rirPmtk6MLksp+dpv?= =?utf-8?q?x0oPjcJY7p9pRsu/rl0ddJCwZgCbfKyJPHA33owZuD0Q/dL+yuU128sve2Ab1esJk?= =?utf-8?q?zMjXq0EheMP8VwavwljEILwHvP2a2lD07HXo4i8hiv41brDdYguETWCpztJ+w9fzf?= =?utf-8?q?ux3JveIKWFzy7Ja6fgAcW1pKdhXVvdOYobDpKoNgWoalk9jErAfdGaYBEtcbIOj+S?= =?utf-8?q?jvZOMyhHuOYRtcsgbl/XyVEPTESXZCqkWd9uXx+cS+bLoCvlCIPXIvs0wwOWYrmu7?= =?utf-8?q?nVdvGy30zkBQKXep7iBmtxQbRKyMBORnM0jes7yE0L8COcFKhAIw8GAjUn2TedzBv?= =?utf-8?q?Y/D9LE2EpRiy27Rkp9Y06/IPs4LHeld3RHo3eHnfRG42amy9NEKK2CClR96gLsXBm?= =?utf-8?q?0koWUbTlBHoKaHVyMtkS6+PgVAxItAo3IOxPY4M6Z2DV2QWZHCKigpih+W6JNO6aH?= =?utf-8?q?5oyzmXSeYbW16XKsyVlxBbocTNDXnBVwAJyzhIMYfqV6cpkcUgT2Fyb3iMCtuA1I3?= =?utf-8?q?YRHtqwNEJ4QfGUxTX6FapAhRaXWsxnvv7CYtIQ8jBSjCVDIqFKbRpIgq0efy5V46a?= =?utf-8?q?Cyz/DJQkNuJv4el73YF0Qy3ST3xSQh8hjPHKq+o3vLXaKDKcVfKFY72Ukjg0d3ps2?= =?utf-8?q?ekExc9HCecTe527ssn9D3Lpjf7yS5LZSVTPDj+q5QKNif7oI3ULP1AUfTTc446enp?= =?utf-8?q?Du2rflRKWnbnKvbGaKfVMGHB1oNedvbPzK+rFgXyhZqAeaGkeZ5A55+1FqkgfgUur?= =?utf-8?q?hBTALLv5sJ/5p+CrvGrXudOoO3/9EWeqMUH7N9iDzKSOSn2lLLsnGB+BPV8OH7L/z?= =?utf-8?q?dvqW19IpRPEb/7wwOR8SZeTLEYOSfsuIu0U/OOVQqlXLYAq+4TScpeJdeBlZ2S2j6?= =?utf-8?q?pIwryt6hkn2+gsPyZEzU1mzYcNWhS5A1tkgYpZNxaQh35Qxzaoo4UKjl+2zc93BRE?= =?utf-8?q?d/noO1RkFncD/Rxg2YL7ZmxKGYH08VlsbSfw2odpfWVMTFjoCApbnrOKt2e5x8Mku?= =?utf-8?q?NwIkk3AJO28rIJ5HM//Qpv9Hd87HeNXHx+LUw36h4sUAH7EpYWWP1vCxzfw1AgQ8Z?= =?utf-8?q?i4mGc9hmG2nc?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0a4b81ac-10d7-4f1a-fb01-08db4d676498 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 12:51:06.9045 (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: gw4imCJbE1DJ9Eospu+EXSks2nAH7+5uWqmEvEQpZC8u/tEYTHFajkJVXWVFm8Mb6CbqXy8durzLJHtBxROw2g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9395 X-Spam-Status: No, score=-3028.0 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 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-Patchwork-Original-From: Jan Beulich via Binutils From: Jan Beulich Reply-To: Jan Beulich Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765058561437960009?= X-GMAIL-MSGID: =?utf-8?q?1765058629302208740?= The concept of quoted symbols names was introduced pretty late. Utilize it to allow access to symbols with names matching that of a register (or, in Intel syntax, also an identifier-like operator). This is primarily to aid gcc when generating Intel syntax output; see their bug target/53929. --- If desired, the i386_parse_name() could of course be restricted to Intel syntax only. But --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -13868,6 +13868,13 @@ i386_parse_name (char *name, expressionS const reg_entry *r = NULL; char *end = input_line_pointer; + /* We only know the terminating character here. It being double quote could + be the closing one of a quoted symbol name, or an opening one from a + following string (or another quoted symbol name). Since the latter can't + be valid syntax for anything, bailing in either case is good enough. */ + if (*nextcharP == '"') + return 0; + *end = *nextcharP; if (*name == REGISTER_PREFIX || allow_naked_reg) r = parse_real_register (name, &input_line_pointer); --- a/gas/config/tc-i386-intel.c +++ b/gas/config/tc-i386-intel.c @@ -169,6 +169,10 @@ operatorT i386_operator (const char *nam return O_illegal; } + /* See the quotation related comment in i386_parse_name(). */ + if (*pc == '"') + return O_absent; + for (j = 0; i386_operators[j].name; ++j) if (strcasecmp (i386_operators[j].name, name) == 0) { --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -105,6 +105,7 @@ if [gas_32_check] then { run_list_test "equ-bad" run_dump_test "divide" run_dump_test "quoted" + run_dump_test "quoted2" run_dump_test "unary" run_dump_test "padlock" run_dump_test "crx" --- a/gas/testsuite/gas/i386/quoted.d +++ b/gas/testsuite/gas/i386/quoted.d @@ -18,4 +18,11 @@ Disassembly of section .text: [ ]*[a-f0-9]+:[ ]*ff 15 00 00 00 00[ ]+call \*0x0 [a-f0-9]+: (R_386_|dir)?32 x\(y\) [ ]*[a-f0-9]+:[ ]*26 ff 15 00 00 00 00[ ]+call \*%es:0x0 [a-f0-9]+: (R_386_|dir)?32 x\(y\) [ ]*[a-f0-9]+:[ ]*26 ff 15 00 00 00 00[ ]+call \*%es:0x0 [a-f0-9]+: (R_386_|dir)?32 x\(y\) +[ ]*[a-f0-9]+:[ ]*b8 00 00 00 00[ ]+mov \$0x0,%eax [a-f0-9]+: (R_386_|dir)?32 %eax +[ ]*[a-f0-9]+:[ ]*a1 00 00 00 00[ ]+mov 0x0,%eax [a-f0-9]+: (R_386_|dir)?32 %eax +[ ]*[a-f0-9]+:[ ]*a1 00 00 00 00[ ]+mov 0x0,%eax [a-f0-9]+: (R_386_|dir)?32 ecx +[ ]*[a-f0-9]+:[ ]*a1 00 00 00 00[ ]+mov 0x0,%eax [a-f0-9]+: (R_386_|dir)?32 xmm0 +[ ]*[a-f0-9]+:[ ]*a1 00 00 00 00[ ]+mov 0x0,%eax [a-f0-9]+: (R_386_|dir)?32 not +[ ]*[a-f0-9]+:[ ]*a1 00 00 00 00[ ]+mov 0x0,%eax [a-f0-9]+: (R_386_|dir)?32 and +[ ]*[a-f0-9]+:[ ]*b8 00 00 00 00[ ]+mov \$0x0,%eax [a-f0-9]+: (R_386_|dir)?32 edx #pass --- a/gas/testsuite/gas/i386/quoted.s +++ b/gas/testsuite/gas/i386/quoted.s @@ -14,3 +14,13 @@ quoted: call *"x(y)" call *%es:"x(y)" call %es:*"x(y)" + + mov $"%eax", %eax + mov "%eax", %eax + + .intel_syntax noprefix + mov eax, "ecx" + mov eax, "xmm0" + mov eax, "not" + mov eax, "and" + mov eax, offset "edx" --- /dev/null +++ b/gas/testsuite/gas/i386/quoted2.d @@ -0,0 +1,15 @@ +#objdump: -r +#name: i386 quoted symbols (data) +# Mach-O relocations appear in inverse order +#notarget: *-*-darwin + +.*: +file format .* + +RELOCATION RECORDS FOR \[\.data\]: +OFFSET +TYPE +VALUE +0+00 (R_386_|dir)?32 +%ebx +0+04 (R_386_|dir)?32 +%rdx +0+08 (R_386_|dir)?32 +eax +0+0c (R_386_|dir)?32 +cr0 +0+10 (R_386_|dir)?32 +k0 +#pass --- /dev/null +++ b/gas/testsuite/gas/i386/quoted2.s @@ -0,0 +1,9 @@ + .data +quoted: + .long "%ebx" + .long "%rdx" + + .intel_syntax noprefix + .long "eax" + .long "cr0" + .long "k0" From patchwork Fri May 5 12:52:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 90431 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp377253vqo; Fri, 5 May 2023 05:52:25 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6/QuFtAbE8eYbSOtZt5fRWmmbMTY0g6FeIshTpsyR75TWMVuTWXAij+bvPumN14Zi3iLI0 X-Received: by 2002:a05:6402:150e:b0:50b:e17a:2ee with SMTP id f14-20020a056402150e00b0050be17a02eemr1424152edw.31.1683291145247; Fri, 05 May 2023 05:52:25 -0700 (PDT) Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id b15-20020a05640202cf00b0050bc9c38fcfsi4632907edx.322.2023.05.05.05.52.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 May 2023 05:52:25 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=AQne3e6X; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7AD323858C52 for ; Fri, 5 May 2023 12:52:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7AD323858C52 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1683291134; bh=191k5YFkJEz3SRma2DDM/rfJunjFN1nFUMfyjRecFso=; 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=AQne3e6XJgQLpUlLR87ZvaFKc+MlOF5dq7WiJpvWned3a/wgxAikPDwWtFrfAgxoL 1WXaJAs+cD2tGyKk+IVNzCKtZ6ZJx7f8mOSDXM7Ko/v+iAa4wUqfeEwTBNvlIffTMg vhvWKBmipyTI5wXkLgLJH7OqVxjD7xA3EIo3CHJo= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2087.outbound.protection.outlook.com [40.107.247.87]) by sourceware.org (Postfix) with ESMTPS id 15E333857005 for ; Fri, 5 May 2023 12:52:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 15E333857005 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jfI3ywn83mffR9SSbx9V4dppBH1ik7q+ntH8XwH5kELjsfpcx0pQ+nbGxkTdWi9f0irFBcJIwbdxH+ip7QGl4exU9/RvTCKMOTYOOCI9BlK+/ctQso7kjKmiT5u7K+hUcQ5G1xqX5ZUKCjRZlB32YmbHLOvgUpnqKizGf+AlsaeJp7+uk4Afps8iUiMFw393geET2Hjmi04ITuecNJRrn71cJZ+BxiOBoY2HcyMvGNK3tvZ8bVxuwqleGIFrAnJ2kMYQL9rL2Xi0V5t/8HIud4x0ub7P+fLRvUnVlMxYDW844YGvRXmsBrKXAG5ApOohCFovVYEETgYvyGIh0rK6XQ== 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=191k5YFkJEz3SRma2DDM/rfJunjFN1nFUMfyjRecFso=; b=d8Y9Pw+m404Yl+xTuegiZwW1azzbS2bjC9Au9uxxJ7MbfyZ9SEIwnXY8sEAxesGJP6Ye2cdSsOXlReKx9A3YfrvvnG44cdUTiWT+6VItSU1fZGV9zfPM9u8oVRTx/jdEIAtJWx0Qy2ipVcxGUoIAoizd1L+Z15Du637jgo1Hm7cpsFPiTS5pTpCZ7vx3p+ZF1aXWCLF0/LG3QqIALvP8phrzIl7Or8nxS1fs6KB6F6SzTQngU73iJrj6SfObn9Av2ShxLwhnys/i3E21+L3lhkU3Q3rnbiJnXLe+/SoxnSiIDrW7Y+PsY0UjYqyzxsHhfQ34wJw9FwZHdFxvnNi08Q== 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 AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20) by DU0PR04MB9395.eurprd04.prod.outlook.com (2603:10a6:10:35a::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.27; Fri, 5 May 2023 12:52:04 +0000 Received: from AM6PR04MB6551.eurprd04.prod.outlook.com ([fe80::768c:6df7:9afb:acd7]) by AM6PR04MB6551.eurprd04.prod.outlook.com ([fe80::768c:6df7:9afb:acd7%7]) with mapi id 15.20.6363.027; Fri, 5 May 2023 12:52:04 +0000 Message-ID: <9d0f914a-5668-a09b-5993-16a2270cf059@suse.com> Date: Fri, 5 May 2023 14:52:02 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Subject: [PATCH 2/2] x86/Intel: address quoted-symbol related FIXMEs Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR2P281CA0069.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9a::10) To AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|DU0PR04MB9395:EE_ X-MS-Office365-Filtering-Correlation-Id: 1966f28a-9e88-493b-4db9-08db4d6786b3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mj1egbDnqOxmtw14qaH3lbRaIpfoLvSgFcZUWPc37NCvtyFAAA7oW576GO2nSwWhlPU61gcqlWp8Frlnq7gyMWe50b0zO1Z8Gg9zesjCZaHfdMrvvs/1fpxYl2q0DdklHwmr1OjRW5IXTfIbpkPWLZ+P2zalCgFHobT6SeHpqwv+sR+5/DPiw0mMsurOsT610HNIu6HBjE6Bh+GWpiiToJB3EukBSMNZfIMg6AJWcSPLFpI41KpNEFh00dnwoKavZ8zp/UOb3R3Yc5iUfZO970/TbYMSUwHWA6GNTJUU0UptexbasOmQKSY720opmrj417+gAjo+Qh5R09F6rbILG3qNGcqDkSamwH8UM0CCjr3VdvO+CXt4sU1yyQN8Rh880b7RFjbNPFrIHBHjaAz6NwuL5GPiv6m+Li0IWESo9Ouf1HU7HNjhq3Hivl5KabqZi2aGbezzbv3Q9H7P0NUXUz6M4vY38z5uEmjIyGRo/LmZlepez/dez1BNAnj50bUTgHq5bIbN/RZj46ThOoSCpjktsxrCaIvshdLH5QkNm/bdkWwt4bZUHwoIRnrhyjkD8FhQANNZP5y7hzC/kvM1T2Zg6aDskGS9+MM0stkFvortWevTP8j4A/epoXgA7IFMGI43c0xC1UUxdnPWsvaCjg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR04MB6551.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39860400002)(396003)(346002)(376002)(366004)(136003)(451199021)(2616005)(186003)(2906002)(38100700002)(36756003)(31696002)(86362001)(8936002)(8676002)(5660300002)(4326008)(6916009)(66556008)(66476007)(66946007)(41300700001)(6486002)(31686004)(316002)(478600001)(26005)(6506007)(6512007)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?aVV5muAM7QjWzgwU/AkZfi+9a06r?= =?utf-8?q?k4CiGrzLi/c5Fmz+yXOjLJTzqeWqSyC8sqkBrO8udxOm79wlgeWf+lJEU0P0NU6I9?= =?utf-8?q?tzNxXugk5+ANsyZ+5weSsTT0gh7n3DqYP/KUhkMuycFmHhw2QAUjD3roqHKJR0H2n?= =?utf-8?q?K8yMcR2oKIvNAP5+TbFx/wj4s9BgxKf0ehu8o+XKyRTMBv0JvDPqtk1LFOeh+m8iQ?= =?utf-8?q?9POhJw/C91ycrNMgzJvOGhK4lOpX3poeNqF0NFbOcoPOIbuq13fvP1TPiGmxPmZ/P?= =?utf-8?q?eG61M0hKrY3WVm9bg4JpWrqlTDR3TwemnRYAuDliNo8BVbLtHLdza8yGr47aDnS+M?= =?utf-8?q?eNAHqKLACerfNmwkv2TnR3PQigKzFplVr0WfeGvzLPs6Gn0DkUnTzrx33s60kf0OA?= =?utf-8?q?6AaS11sts4SKhq+0zgGaXXXp4zfL/daENx+iPLgrwE1LAaJfloBUutpSpTLky6cvs?= =?utf-8?q?8WlBEFIerrg8v0DoOTN3ROZK7OWKpe9Se6KlwLCGOy7SOAPE64WacsGttinBbj9UZ?= =?utf-8?q?891JS28qNe1SPmq+bgiLFD6lEik/wxip4RgcfwTG21pt/q6lYxK9IWJ26Rue/O4uP?= =?utf-8?q?b9y5AlvV332lTx+U8AEFvBGSOTyxMVrhH5wjaS8H46Sjec+/Ubj/wY9IWTKukyA+m?= =?utf-8?q?xQcng8GcwPoljLXp/ymZ73KSIHEHnWLKzQKJOYOth3QbItJQdEyucCWDgVRDqU/o9?= =?utf-8?q?KS93ht/tS14CcMtWGYjmRsyLJOd+QWOLgXcL2yD1Ni+O5IyiJZNaRf5TnJoNR46qg?= =?utf-8?q?HJcD1blELyfkKSl2BIbhJaWCzXooLr+qwJJwE7eow3h9dgvDxed7nGOluYNwH3vbt?= =?utf-8?q?+1Z2XvLL4LTpXQcY/aexnjN4XQ8/yd6Mr6GXFcG9Lv/qko4jOkZtuRfdR556xyVus?= =?utf-8?q?Kg2EkB6472HRasmd5puKlZ6jx+vNh9y+OUwlZaOTQ2o8Aa88rIlW0T52TR20qMOGg?= =?utf-8?q?UsjomiTATMswpCYMXXgqgCAtPAoPnSkE4f4WDV21rVjUhJnoKD46riBLflpO0ohi9?= =?utf-8?q?RJE+Ls+lhkwhAi0pBaWuXImQ6Na3YR4D67qa1RGitWnVuDzX4AX1lJoEPEU5wOaqY?= =?utf-8?q?DSbgl7bLiy9LhnmogkZew7M+j/Zc+WjKICf67iUXnNTinjBQ+4Z5pFSpQurOeIrO6?= =?utf-8?q?5v52wf6YOlE0mTilDY0yAVygsqtTtOU566zljNAnMOERJUnhlFFUgPqdvc05P/cut?= =?utf-8?q?IxScPrMYP0kjbZDh+vA8p3PF1xQ3fU8uOPW1BNmYC1EOYIJezaWPoceZ6nIEIGhrZ?= =?utf-8?q?1OOPqIqrq/eQBy6oMky5SrUO6O1MYnW4vk4tA0guKahvQ+iEQM9/dZ78Ir2B37cQJ?= =?utf-8?q?65zalSixrJOMSqy2AIyAl4BB2+ONT19gZNyL5vce4fwhGYrNkkeMOid860jmJv972?= =?utf-8?q?kOo9/7gybVYXIJiAmcm5YGLmJMHtuuTSW4YTvRnn3i9vXNUatMGtkpyp+9Y5QaI4i?= =?utf-8?q?rpvR6oIbSLY/PL2tuYmB7fxP+ngm+jXcThOA/C528vilRr68dbkr09ZUabAWlIF9I?= =?utf-8?q?o+QjmtJDshCA?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1966f28a-9e88-493b-4db9-08db4d6786b3 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2023 12:52:04.1086 (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: ntEnEA/Y5iBljwUpgE4vR5OjQcevwdO+x7WwaXJ4bABSNyMs2q31tFADARCDA9ToJClYuy2wppbLDZCLaIzO6g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9395 X-Spam-Status: No, score=-3028.0 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 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-Patchwork-Original-From: Jan Beulich via Binutils From: Jan Beulich Reply-To: Jan Beulich Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765058696398387196?= X-GMAIL-MSGID: =?utf-8?q?1765058696398387196?= If in a "word ptr
" or alike construct the "ptr" part is double-quoted, it shouldn't be recognized as the specific keyword we're looking for (just like we don't recognize double-quoted operator or register names anymore). Be careful though to tell closing from opening double-quotes, as a quoted symbol may follow right afterwards. --- a/gas/config/tc-i386-intel.c +++ b/gas/config/tc-i386-intel.c @@ -188,15 +188,12 @@ operatorT i386_operator (const char *nam if (i386_types[j].name && *pc == ' ') { + const char *start = ++input_line_pointer; char *pname; - char c; + char c = get_symbol_name (&pname); - ++input_line_pointer; - c = get_symbol_name (&pname); - - if (strcasecmp (pname, "ptr") == 0) + if (strcasecmp (pname, "ptr") == 0 && (c != '"' || pname == start)) { - /* FIXME: What if c == '"' ? */ pname[-1] = *pc; *pc = c; if (intel_syntax > 0 || operands != 1) @@ -204,9 +201,8 @@ operatorT i386_operator (const char *nam return i386_types[j].op; } - if (strcasecmp (pname, "bcst") == 0) + if (strcasecmp (pname, "bcst") == 0 && (c != '"' || pname == start)) { - /* FIXME: Again, what if c == '"' ? */ pname[-1] = *pc; *pc = c; if (intel_syntax > 0 || operands != 1