From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2082.outbound.protection.outlook.com [40.107.7.82]) by sourceware.org (Postfix) with ESMTPS id 057173858D1E for ; Wed, 15 Feb 2023 07:44:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 057173858D1E 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=GJO4Mtlt3pvfpGi7a7RubMN4POWYmnr1r55dcx60hHUyR/tEXS5UUA4NIM8YVLovQI1f8kQits0T7W01FwcaHBuAgeMQMOlIrsQAm90DK96rl0x6UHjR/8xUB51VxuDncqU3mmwobb8f3QHHersCzT92suLmdN+xfPWA4rHdoGNMLx4e44nmbBZ0M+dn8cA82TPOxGiZs5o+Yn/yTcQMdhRt1srIvohgrK8gsoPaGhadP7tLQojz93yioRXTvBsGl2ypWv1AQtGjX3IV+LxnMvX84oC6ymjFldCpf04SFpaaaLyzH3Oe7jx5uJ5hSMEFUrGYU9ass5A7fhHpqbVmQw== 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=Rxl0tlMciuXjg+d0qTJs1g3CWkwKzmVAw0IAV9yxRw4=; b=an0OQIpE9Q/2fqpaJK4OT+aouAfPzrdV10k/FwUtovpOTzL0wqevWO4smVlhlVyK8dCxiLZ6/PccTo5xonFii0CSMPmPC5YoHwjtM0KkgWQpVH2W2xU7qcUPc4uA3M1pxMKaBXZP1Vz/3XaDMXA9fM/gpaaFZ7gNncTcHIpu5bqjBzfB0wtFbtdY5YxUnEFFIXca0ZE0KwwVX5a3f0Ut6vmeXPnxSfz1diWnGqgEwnCa+PO6Q8ClKCmObxKiJ4ULKyER77xep1e+Ag0VK/g0mUMAkZO8szk0vMFfcyvg4VxOzLBMkC7pAgb9cPvZKj5019MKXJcvoSKadWQ+txmatw== 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=Rxl0tlMciuXjg+d0qTJs1g3CWkwKzmVAw0IAV9yxRw4=; b=Madb7568UXwsGHpke3gqcCSh77+VMrDsqqMMgOdr7LKc5Lw4MJkx4dZJ+wvpu8dT+q2pjtQGwKoKBkTfuoaqNx9LGtEDSrpiPo6v/8DVJ/IXlYLfxvHjHhWoy+xX+vIZ8x26WXkLzNOQC9Z9eN/w//SnofIh6vznzdzoUTGWARpdHiAj1SlGfv9Zdled4xSM2ySdjnLA8Oijd927uetrappRpR2T728til747bZJ6haNTRvvOjvJvjvdXFlczwdan5CjRzcRwonjrg4U1Q5i1ZSC2y7XOp0jSjBDF/H+CQtvNA2JiOfCNwNAsysercRjmw1MYB3NWJkLPycd3AwPKg== 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 AM7PR04MB6920.eurprd04.prod.outlook.com (2603:10a6:20b:101::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.26; Wed, 15 Feb 2023 07:44:26 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::e138:4fc3:705c:d178]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::e138:4fc3:705c:d178%7]) with mapi id 15.20.6086.026; Wed, 15 Feb 2023 07:44:26 +0000 Message-ID: <56cd41d5-c0ba-d076-bf09-06612a2b54c3@suse.com> Date: Wed, 15 Feb 2023 08:44:24 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.7.2 Content-Language: en-US To: Binutils Cc: "H.J. Lu" , Alan Modra From: Jan Beulich Subject: [PATCH] x86/gas: replace inappropriate assertion when parsing registers Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FRYP281CA0011.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::21) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB6920:EE_ X-MS-Office365-Filtering-Correlation-Id: 2b3ba147-c8a5-43ae-ffaa-08db0f28760e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: joWkv6UTpMUDgzNsJ2yw8BJw1mQuruZ0OFilUCuSWIcGMbYp7bDzaInlqIjivLWhWd7y9E4M226sAgj4uqoeROCcFITdcOMJ/qQw8wq2rqmz+IwnFrYGACsNzSaJz+F/40DiZYatCsQXAFvdI8WZnFaH5s2U7Nj3gk974SMN09YgUmLmt9o4FfkDMngmqkwPWF2Ss6fNq35JbF5+CMMD5Y8qVbx2Tvuar1QohEM/+PySsybVPngwlE6kXIWe9GjZL9LFpZ3bTc+AAYaTQkp95DbgTy6qmE7LqAt+7Gay5LU1Zxs25gRGDVOnpS3ou0U8OlYUDtiwVV4PGXlJ/xVIJHCdMIMVXrC2vJMj1NUxQ+1EOCZfPuadf5veH38mM8e7tScDXIsIfcYjAFRsW2v+2JV4kOKCQKfcsXlraftE+wwzqibt+hAXKMaVFNiYsgYZXkal/4fArMbOj/sF6Bnn4t0PABWIDamUrYnLqt+5wMzk02x/hv/qcjASFSFPpDdc8hkpBHyrVKEMpOHC0TKrfV+XBBSFK7/WaVcjDTdcxo6lUxpKrCmOIr3uEYQoFLj9jp6v7xIjqlL6uMOYvpcrDpALrtLt4vmenFfXfSZ+rTq8VRwr4GycJLG7vobDfB7RKE4NOjeEYoBO5SD06vetlnDJ/yugyBnvW3bQo4VcwS1JD/cmzqeoya3ykmjGMmH6V6+0aMwEpcNu6Pq0hCT65jXxEpy9KoTQlvncFnQzD78= 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:(13230025)(39850400004)(136003)(346002)(376002)(396003)(366004)(451199018)(66899018)(31686004)(36756003)(31696002)(86362001)(38100700002)(186003)(2616005)(6506007)(26005)(54906003)(6512007)(478600001)(6486002)(316002)(66946007)(66476007)(8676002)(66556008)(4326008)(41300700001)(6916009)(8936002)(5660300002)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VEM4TTdkSkY2dDJSa095Nnl2UDFZYTVkYTVMaW1WajJ4QmxwYTUwcGdCUlhx?= =?utf-8?B?VU84VktkYWR1N0FjaHdadUdMQ1ZkMlVhZFVtQnFET1Iza0ovSXJxRjFDZ3Y0?= =?utf-8?B?NUs2TVZFWjZUODFYTUZzV0RreGtNbW5rMDN4TnhoeTduWXpCT0xLRThydFFT?= =?utf-8?B?MHEwcWpNZURLRjNYUTUxMnllQkVsNy9LdFFzdE1HNUVJdDY0MHJ0VHdmdDRr?= =?utf-8?B?TTc2R0RrRSs4cjNNWC9PMTlPbzdKVDFiblNPclZmeUtNNmV0eWxuM24vTE9D?= =?utf-8?B?cVJwb3MwQm9xSmtoR2hVNmJaaTBKYk9UM0pOV3BMb1FtZlVGZGpMclhhWk1p?= =?utf-8?B?UFV6SEVkdDEzMS9YZXRzUEgrRHNMOUNPeUE4TitYNFJiV0lDeDcrM0ZxY0JZ?= =?utf-8?B?VGR2NXphaWNNbkk4ekt5UXRiR2lPcThiQUpPMktYcFg0T1A5T1NzZE16c1pD?= =?utf-8?B?R1MwL0xDMTh3US9XQjM2V1hFQUhqdUFOSVliOGFXNXhVZnVlaGxiTG5mbFNx?= =?utf-8?B?ZkpITG1naS9KRkpsaEo1MWlBVXZ4YmxSS1VHMG5KbGZrR3BycG44VFNmdzNa?= =?utf-8?B?N2lOamgxcXJsdVZYU05RNUYvNTArUVdYeG15eEVKdkxvRDVwRHdjRUx4NnRm?= =?utf-8?B?clFUOVBwS0V4R2wvREFwV0dBZTJFdno3bytja3cybW1ocGs5ak9LQXhNS3Ey?= =?utf-8?B?Umc2Q3lmeDN0RWlXNSs4QlFqUTRoOEtvQWhNeWg3ZERTNDlBcEE1NkQ0UUs1?= =?utf-8?B?MEkxNkZiclBKWlFVM1FOQndqL3U3MUV3ZFJVeEMzdFBva25McGF5OFpjWWdp?= =?utf-8?B?UXdDalJ6NTkwenhLM0pUZWhNSFZwYTdINjZ1K3Q3UHZMUi9uWnhGeEk5WGQ3?= =?utf-8?B?Q0x3UjU5YXVVc1d5RlVQTjZVTDFod1NWZTg3RlVrblpXWlIwSS9aLzJDN2d5?= =?utf-8?B?YVdWVlVuSWE1dFBjTk56c3d2TWs0Nk4rcXZGdkQ2WWdWS2NJc1I3VU02bkJv?= =?utf-8?B?ZmZFc0RkRTVPMEg3U01iSjZuRy9DNnlDbnlMN0lBZHZYdDcwUlZRclhGUE16?= =?utf-8?B?YU9rcDJrSzBsR0V0SEhHT0wrNHdIRnR6djJMZDJhVTd5WVFodm40T2RIRFNs?= =?utf-8?B?cFlWL0tFS2l0K1NhaVFOZEdZbzdKMTFBY2NVTkNvSDIxTzRJRTJVWkVWanUy?= =?utf-8?B?aytDT3JPTGtDdEVkQ3d1bk9jRHRJaFF1dlkxTk9XcnV6VXVoWVRBV254alV2?= =?utf-8?B?THVVVWlDaUlZKzNEWkNDa2lDVHhjM2hMUGU5V0s3U3dWaURuckI3bnNyalNn?= =?utf-8?B?VERhUzREc1lxS2dNT3hYVStBK3I2NWtOd1pKdnVKZ1lVakl6eTIycVN2dXZw?= =?utf-8?B?TitETTFNM0tQZjdYOEF3RmZTeGlrcDlkdi90aHdyWlI2ZEYrTVVnc0UwMUtt?= =?utf-8?B?OTZ4WmVpL2srV3JHYk9NbE03d1hrOW96OHhBWHpQVjlFOUpBdjl6dEdRZzdI?= =?utf-8?B?Mjc4Y3l5UHA4NktrQ0JDR0FMWUFGSERpWklDeVRJb0IyenJDRDdRbG5ia2dH?= =?utf-8?B?b2FLcTNGQzZHRnRrckxXaVNMTmFOcld6ajBMVHR0RU5KYUpTY0VobkVqRDA5?= =?utf-8?B?S2xObmRjS0hQdUFjdkVYajFNakpWUjFMYzd1Y2EvYU84OXZKcXBiK0JxRmEr?= =?utf-8?B?L2RyQzhsSlB0dFhJR2tFMy9kL3lXOHBmNUpFZ3FkOFgwY2RzZ0xxdExlTS9D?= =?utf-8?B?K1NJTitmMWF1ZjhEQis4UE5lYnZRMnhEQUl0ejhmVzN0UWJBUyttM01lK3hq?= =?utf-8?B?eEJIZ0VHNlNuMVMzNWQ5dkVhVEU2SksydU5tNExtZFhEd3FjbUJtQytBc0g3?= =?utf-8?B?aGRwYStpYjhJMDE5Vjg1aWR1dkRzaUZVUzI3Zi9OUHdsM1ZwMHBUQmd1Z2Rq?= =?utf-8?B?ZHhrc2pwN3N4NDdQQVMxTHI4c1k4QlB6ekZtM29zNnVzTmlzSStqZURIdDBC?= =?utf-8?B?K1l5OEZRTXlaOFIwU2RCYzJ5NHpYYmRyeU4xUzY1RExaaldwWmZleE9YQXJl?= =?utf-8?B?eHZjT0x5UHdiZmNqNkJOc3E5Yk5jbmlVK3IrY2w3Y2MyVUNNazJLQU50QVBR?= =?utf-8?Q?320jpmV+YxYVjWg4jvTRskYqI?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2b3ba147-c8a5-43ae-ffaa-08db0f28760e X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2023 07:44:25.8110 (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: /G4tEb9E2en/J3eS0RQ9ntNvIRM0H0DGx2gVQjQSLbloQZZFLegB9p+JNFZlSRjrxaR2jgp1+WddEu1Poy/Aiw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6920 X-Spam-Status: No, score=-3028.5 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: PR gas/30117 Once a symbol had its expression evaluated, the "segment" of the symbol may be reg_section if a register is merely involved in the expression, not just when the expression references a "plain" register. Therefore the first of the assertions put in place by 4d1bb7955a8b was too strict. Convert it to an if() to deal with situations like this one found by fuzzing: x=s s=%eax+0 y=s or $6,x In non-debug builds this also avoids potentially silently generating bad code. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -13057,17 +13057,19 @@ parse_register (char *reg_string, char * { const expressionS *e = symbol_get_value_expression (symbolP); - know (e->X_op == O_register); - know (e->X_add_number >= 0 - && (valueT) e->X_add_number < i386_regtab_size); - r = i386_regtab + e->X_add_number; - if (!check_register (r)) + if (e->X_op == O_register) + { + know (e->X_add_number >= 0 + && (valueT) e->X_add_number < i386_regtab_size); + r = i386_regtab + e->X_add_number; + *end_op = input_line_pointer; + } + if (r && !check_register (r)) { as_bad (_("register '%s%s' cannot be used here"), register_prefix, r->reg_name); r = &bad_reg; } - *end_op = input_line_pointer; } *input_line_pointer = c; input_line_pointer = save;