From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150083.outbound.protection.outlook.com [40.107.15.83]) by sourceware.org (Postfix) with ESMTPS id EC13B3858D33 for ; Thu, 10 Nov 2022 07:21:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EC13B3858D33 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=X6qVSE8tGwx/I/cwnhbL9piyDIvRC6ZBKiLrfmAvZlrrURAPff3fVi8WlJNQxoFmqvE7fN9yGkkXJpHKOjB/44W0C1faWjwXqetH6pNRCiH6dpbO8CPSQ6heAfl7T1R0il9w/N3ccIqnB6Syo49i9LZRJKfK0RlBhLoTe7ogvF10gtc9UxXbKNuwB3EyDatBSt5I0WDBr4vU8kItBFcHClILkC64KXbrLw+CLCuxR6S+Gfq/5uxZ3u4n+0ejzR5nWI7q2MPTdyoAxB6Pt+lSIEqCW7EG/pjoTpb9sp0RM4DZoW0mdEE/ObWR0+HsOs1tMGwXa13YyeEo27mBLfde0Q== 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=ezhV+TAdHrdw25JxSVGCiJE7EbGoiwF2SMN5PGBUcco=; b=MrS15XI5yhwqlh9igZF12IMi3x2P1zBfEZGxAvzShRXgb0uVBxfYuBle8rul0YiPkvTNRYMUI0ESgIqL7gEMAEhSLiRlJZy/GnllsQQCT86bzUxJb/iPfBTrmg2fr/xhWeRbbIHCDkJ6PtteNi0bHtfaYFb5iYneRGNNjO3hBBLan4QNdg4Ynmrzb38VbWyAmA/ma/akdLwPjua2a52ucD2Skls2E1A2VlqYj18LGsnNdPJmWf2qp9Tftx46PcHr+PKiHYBndmcol8QVazIaHeZ8sAlMEaPGo7qqFcL9Knb9PoWKwyt7BMF8V/MaUncimlTrSANQwcxAp5t1M4cqDw== 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=ezhV+TAdHrdw25JxSVGCiJE7EbGoiwF2SMN5PGBUcco=; b=4j2dC3SmcG5uoSOjpNSN81Zdee8P15lpo7votV+hJ8d8TPxCvXDz+xoZaPxCXpORDhdYWpqeMogX7cwGJgT0Hs1FfY5tp6hKx9NPcj/Kom7wp26KJCfD0e9M5Ta9TcWYs9mzSA72jkJwTnx3lDr7sLHo9zZUTy9r2GiPCOAiqbO5Ry9ybnqkrtUex6H87UPj1YefHqrlRU8whaTN3lO7rsYn/MCyUa626HQcG4e7bZL6xY7CsfOIEGFws7R0VXkslKt33k0JpYimNi22BncDWxQu3ccyeU50U5LpEGqoVvcP+3o7nmyvsyhtMa538rzfZbNRS43HKqge1y3qiXLcJQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AM9PR04MB8540.eurprd04.prod.outlook.com (2603:10a6:20b:437::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.22; Thu, 10 Nov 2022 07:21:29 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5791.027; Thu, 10 Nov 2022 07:21:29 +0000 Message-ID: <3475fab2-3f5c-b761-2aa8-ffec7536d734@suse.com> Date: Thu, 10 Nov 2022 08:21:28 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Subject: Re: [PATCH] i386: Check invalid (%dx) usage Content-Language: en-US To: "H.J. Lu" Cc: binutils@sourceware.org References: <20221104205547.3728827-1-hjl.tools@gmail.com> <781ed098-079c-212e-7e46-a375c27f5486@suse.com> <73b15165-8615-282a-560f-30049b1963a1@suse.com> <6c7794ee-49fa-68d0-e659-435512da64fe@suse.com> <5e2a1d31-546f-23bd-bd2d-2de39af81ce8@suse.com> From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0013.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::18) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8540:EE_ X-MS-Office365-Filtering-Correlation-Id: e9b79d1d-d62f-4d69-fa54-08dac2ec2f70 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: z6257L56n5amyPEUJa9QNvPN9QudcrM7KgXZRWJ+VnWmGK83vKissRFRl2Opi4bzII1gnHX7HFs6MoTt6j8kmRed2NOpVPnyqkiFz4XkKcXl/GZt6XCAJvktrPKkC+G0CNlBs4ej0kreNNAp/D1OMvVtO4uuNUMHc5l7zMEjD0Js1utqOph2VAfQ4O4g0yew6VXpj53tWnp9BXaWt0hp2BlP5LA7RMgwetnY6AuKgghMm1Iji0mD99YuZeHHEYOPt7GCe5uCWiUkolxyfxoYGRy3LRfZO6GHHuw9nlt9Lir6QC/lm2irtNdQcFublhs+6H1Ceoo82Nncq6nOr3Iu4w7GfxFiIcrVjAR1haWX055kyS5X1ziw8uXMbXQGNxNE5cxw2zO1TeoD3YzQcmW7B8GXClVRql5V4oVU6PK3XKGXsK03KVcKRORxGd5AQGesX8OJ/71QtW65kYtmdpkk/dCsovop3mpCnsPljtAihByC8aAF7SFgQIPvVND5xbBGUwiBQwOq/qZK1v04iS/iqw/2iDFNDeC9u7xXQvabGzWs2G027rxTok8bFvg8x1LyPFoNH7Kvxe1wL9h5qldiQ5Kfd2uNrbLcWNCQ62S6bXxovp5CZaGnAsAMOHIV/ddDlo9Y3ckNpJKBduFgmAUgBkmCebSjoLK9N2Ml6bslZlJ4sQ4XPpsWo/KDCJQVN+Zwox2AjGrdf78cYoaeMQFXel2Xa80+8oWqgkYXASdSJV9v/9ycXQqRzn0EZlhhUaKI88vLU3u6b6eCqzRAtwW9gPDUPf9YTGMItaDjTaSeKP4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(39860400002)(396003)(136003)(376002)(451199015)(4326008)(5660300002)(41300700001)(83380400001)(31696002)(2906002)(2616005)(86362001)(186003)(8936002)(6916009)(66476007)(53546011)(6486002)(38100700002)(316002)(66556008)(66946007)(6506007)(478600001)(6512007)(26005)(31686004)(8676002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aTMzYy9IZVkvUHN4OFppVXhRYTNJRmFWR21ZVGZObDE3V2NQeEV1Q2kzVEpq?= =?utf-8?B?cGIyK2E3NDlvY2FGeHZJb3RYbHpPWDA4S3QrL3o0MitBWFp6YWZVME94WlVE?= =?utf-8?B?WUlXc3Z0bmxjODhnUWZyc0tZTlpYNDdRNmk5bk12Yjd6TEtVemk5cDRsSmFG?= =?utf-8?B?MGxVcW1oRE90NkdwUGM4Y3Evd0FSVVZpd3ZNZ09hS3JVWGxwcjBLbDR2N01k?= =?utf-8?B?bk5XSUVJR09oYThJbkFGWmN2QmJpUVV2K1VnVFpyS3MrM0dVSFh3U2c0eE5Z?= =?utf-8?B?blNlNGNGQWxvdzFzOThxaENGRUZNbGtFUWNOUXdqa1FsNFNicUU5Rnhzblk2?= =?utf-8?B?TlltOUdIU0M1NEVKY3NQSHd5VlJLUHIwY0NVdGxaemRmcW9YcnVLY2lGN2lG?= =?utf-8?B?UzVGWG5wQ090MmlFSlZ0YnpibmFhcGpVREJsbDJ4bXIyeXVnTlRvOGNUVUN5?= =?utf-8?B?RDJWYmlJTXA2Z2M1aE5tMUZBcUo0eUd6OTZxZ0RRK2F6RWs0NDA2MVd0YndV?= =?utf-8?B?VlAvd1M3SVc4dnJPcW13SDBXSlJUL0VVMzdQOXFtcGlaQW5mR0l1SStrcUZQ?= =?utf-8?B?UWR5dW9PWEE0VjcrNDBxNE51ejBNZTJLWHhLUWlxeGxMS0tIdXAydVIyTWxP?= =?utf-8?B?SmdQM1Zac1pjUzNYbUU0MVpQWkdNWStyTnBnTlpNcjhoU0NEV1B1aHEwYmQ3?= =?utf-8?B?Y2lPN2x5a0h3K2wwam4yU2Q5R3B6STZVeGRUZ0hGYU12YU1Gb2twSGI3TWJN?= =?utf-8?B?TTFxT21JQnZPSWh3TzNPNklTS085dkhDbmNZZG8xUjE0UnZlY0c1ZURyamVJ?= =?utf-8?B?ZTYrVnhLckRNb3QrUXFDMnpaK2VQbnhQM2VEbVhrRCszb1o1akJFaGlNeXV2?= =?utf-8?B?Zm1KS251NjlmM0NFRjFYZTZOWDUvQmsyOE5nbS95UXJMU3Q1aVhjRUtRaFlR?= =?utf-8?B?ZVZnaFkyMFBPU0ZlcXpmTzVuRjBuc1VBa2xsNlhyMFk0UDBNSURMVDU2czlH?= =?utf-8?B?cmoxM1ByNU1nV25jWlM5RzdUYnJ2Y3VaZDFMclA4anVnUHljRGJqZXZjU05a?= =?utf-8?B?YlNSSS9kQk9SaGVybDF6Sm9hME1TazgzRUZ5eFB3bkhaM0dXeFB2dmhKWll0?= =?utf-8?B?WC9RN1JTMW5kckdHSzFQeG1RZmxBdnB2Tjhoc21kbk9JZE9YWGhZNzJBZXd2?= =?utf-8?B?Z2FtKzBNRG12ZzhGTlJnT1AxZnluVlExTTNONkE1MEJrUUFsc1RPTjVWSU55?= =?utf-8?B?R2xnV25nOEZ6U05XUHpqV0g3RC9jOGlMVUdUQXpNM2ZNZ2FhVllZeUptOGk5?= =?utf-8?B?WndkUG1wUzhmbUdMOGt5My91MHRCU0JUNGg1OWxMNk0zdFdzYmNLcUtLSlRm?= =?utf-8?B?cmhoYW5aM2oxb1dkT3FzMW92M2VzejE4R0lsUSt2NzRtMko1eU5NUk01RitJ?= =?utf-8?B?Skt6TE04WTlGaDhpMFJ3SmVmWlh5QVhCckhPUDVmL1d1NU1ZWExuV292MlVC?= =?utf-8?B?a3JtZkR0VVVOOHlEd0loNk5uN1lXcGhLVENKdFl3M0lpQ3l1WkdjK1JjNHFL?= =?utf-8?B?dVVPaENZcEZjMDNvTjduMk5EYy9MM0MvZlJrRjJjeWhCeEJobmFYVHBlN25B?= =?utf-8?B?NTZzdGFzenlncHRmYjVHNHJpOVJsZlJpekYwd3FFVHJtdi84ZVJteFZsa0ZM?= =?utf-8?B?NVM0VUl6eUV2S2dUVHcwNXBneFJnSGVCS1RxQmRETGJyOXNTaENsWVNmelBG?= =?utf-8?B?YkVIK1dLZHhKcE1UWDVrNkFqZVRNREU2aWl5MmZ2d05kdVdncmVnNzhkeHND?= =?utf-8?B?Q2JwWXZNQlhyZW14YzlMbWdhd0NrZHRJMmhUUXJRb1pHOTRpd0RDZ0FFQnNV?= =?utf-8?B?OWNsaG50c2hEdzNZckhqQndHanpyT0xCek9qZ1YyWDAvZWdwV2FVMFlrNURJ?= =?utf-8?B?YXJ6Y20xWWJtWE5FbTNnc2xsb1pKRUE0ZmlSRXBPQUZHaGxXeVdRUXc3TkdJ?= =?utf-8?B?WDZ0VlZtLzRFMDllaHoveWJQUnNsQ25SUzJ3MEEwYU1zTlVvOFpJVlIxSTcr?= =?utf-8?B?S2tLZE9aL2xKUkJGZGhiSDZqUFd6THZVN3E2Y01UdXZYK3dybnJ2WlE4Yk5p?= =?utf-8?Q?7Jyhguva3JsPNe3VC+GaYlNPc?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e9b79d1d-d62f-4d69-fa54-08dac2ec2f70 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2022 07:21:29.3631 (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: wT8hTavvg4S0feXlb2/30kEAQsec0MfyiNGA1gevWf3YC94NJiZaI67H1qWrzCylgUrD2QPgp2+wB5ol4rhtaA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8540 X-Spam-Status: No, score=-3029.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,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: On 09.11.2022 21:24, H.J. Lu wrote: > On Tue, Nov 8, 2022 at 11:21 PM Jan Beulich wrote: >> >> On 08.11.2022 22:06, H.J. Lu wrote: >>> On Mon, Nov 7, 2022 at 11:34 PM Jan Beulich wrote: >>>> On 07.11.2022 20:58, H.J. Lu wrote: >>>>> On Mon, Nov 7, 2022 at 3:44 AM Jan Beulich wrote: >>>>>> x86: restrict use of (%dx) >>>>>> >>>>>> PR gas/29751 >>>>>> The AT&T mode special case operand (%dx) is valid to use only with >>>>>> instructions nominally expecting %dx to specify an I/O port address. >>>>>> Prefix the respective checking with an opcode check. Keep that as >>>>>> simple as possible by recognizing that opcodes 0x64 and 0x66 (which >>>>> >>>>> Since current_templates doesn't point to the matched instruction, >>>>> checking current_templates looks like abuse. I don't think error >>>>> messages should be a concern here. >>>> >>>> We use current_templates in similar ways in quite a number of places, >>>> when match_templates() hasn't run yet. >>> >>> Since the first template isn't the selected one, your check allows >>> the invalid opcodes. >> >> I guess I don't understand, but I guess I'll also give up. Which > > Your proposed change does > > current_templates->start->base_opcode | 0x8a) == 0xee > > to allow opcode 0xe4 and (%dx) is allowed for non-I/O opcodes. 0xe4 is very much an I/O opcode, merely one not allowing for (%dx). This solely is to ... >> template the check is done against doesn't really matter here, as >> long as it's one with the correct mnemonic. We could of course >> also re-order templates to have ones allowing for %dx first, but >> I view any such ordering dependencies as fragile. >> > > That is true. ... avoid introducing yet another ordering dependency. Jan