From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2071.outbound.protection.outlook.com [40.107.8.71]) by sourceware.org (Postfix) with ESMTPS id F2799385700B for ; Thu, 13 Jul 2023 07:54:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F2799385700B 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=BOS6oL64ISLS5A/8pSA9W+tCJuq2CcozuLgpdsxsdFXx9ZmG1xFTox3TDD/7DKOo7ishdsQXsV2L6rQYch2ZdvkG2daV+4SE3kin3I99NlaRDtZn4Wue5lbB9raWGLfgOW0d2m8saQsCMutpu2GpXNPy4Sq7NdkQQI0LgMhm1j9udRmWOpm6BXvMNpuA3M9rJOwx3bGEIftF+LVsg4wSurxT4p8tYD8ORsfkAGcvT2hE3buaNJnbOjhXNtMwzm4WvMUJcqgKLx55fyXejzuZ1MlRpplwFoBHQcgNcUpxFwsm3kG5PZnviUCDdIeWqx1qxtK5DVeapewDha1nuXyTbA== 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=MbVmUQTzl+JVeqzF2qQHPQsu15gIGBtxASW8xZQJgo8=; b=gyATjTr/3LDxU9ESWZv8sMWx1grDNbFI4zDJwJCpgRwxTrRxx0R8PL/qSBUN7BJr1dcjoPeUzVF6UP5l+Zlouu2478QgO9gDk2LpCzRTnOqLa5itzuMTnqesCwnQcE9FHJHFEGuJNDF3Tbx8J5E0G/yb7IJbrWgMDgcerg97EIzDzJYsUJugzxUg6mNwWZnMLX5Vf2cOXmwu8+E9RXAOd2oDXHBsbLL5xRFD7NFgHgFJmuwnLh36weUMIDr7fjiXlkQXFPLQuTdE/yrBUt4+ZrWa964Te34Uw5ooJd5y36KK9AkJERSGbtYch7O1xfdO5If+pFDLWUyKJeIaYlR35A== 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=MbVmUQTzl+JVeqzF2qQHPQsu15gIGBtxASW8xZQJgo8=; b=T73ddYJ+9uSWePSpN4djRu2nuc2mZ0ZkY00qVtSB3HqJ7OAyC/DgYH27LuruuWu02inFVNtRyu39BjFIjeWWwPWSEa0uVG+O1f2xrJBnq8FnDRxYqjGtEnB+au9qjeLBSWXgQ60UsTKv9BRc6QwZaYnOzl+VpMOAIxbO3Nq3jBcirv2Z6g5SnHkNjvKyTDPBYLjVvCbNRn9Uep4bKBoJyrX949d95Zt/GtN+IGZkBCDC6lnegoZDnFIZ1/8oaTpSPdNIbhww76yjQ5t7Uk1fE4mruoa7st6Qh9RLRD97+eT9ASAHUjT2GbjyDN4jDAYmdTWz8mkqDoK7Uaij5MAv6g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21) by AS8PR04MB8360.eurprd04.prod.outlook.com (2603:10a6:20b:3f4::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6588.20; Thu, 13 Jul 2023 07:54:48 +0000 Received: from AS8PR04MB8788.eurprd04.prod.outlook.com ([fe80::cbc0:69aa:c9a2:198e]) by AS8PR04MB8788.eurprd04.prod.outlook.com ([fe80::cbc0:69aa:c9a2:198e%7]) with mapi id 15.20.6565.016; Thu, 13 Jul 2023 07:54:48 +0000 Message-ID: <19b0a86d-1c18-3f3d-3763-74c6ab08c676@suse.com> Date: Thu, 13 Jul 2023 09:54:46 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH] Let '^' through the lexer Content-Language: en-US To: Alan Modra , Michael Matz Cc: binutils@sourceware.org References: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::8) To AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|AS8PR04MB8360:EE_ X-MS-Office365-Filtering-Correlation-Id: b0d2ed05-f8c0-42a3-ad9c-08db83766e10 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: N/HIvuLOe7PABgn6uvK8AhdcT6GeEOCBlF4f80+wVeXOkKS3sWuGqsqTjyj+tooYXe9ggWIqq8dV5nBS11kO7kXcPvHuuO5noCNyByxHHiWA+BguXJoWivJ3NT1jRhyYzUpNJMOsxd+K6viRx+aB/ZoTUJcT4MWE6euxqE8ezwZiHFbqN2pycp6jpqEDDRJId2fqkakmV8DlUTyx3AOUJopvwQSdT3iP/3ZY9lxbDBzLSxm1koURocKk43XIXeu5OaUJ/eI7gg1x0J2ufHdLV7lQVo7o50O0wg2SyMl5Xg1EWiBkpIbPPYhg7BTD3cSbroySuyDfnocT+3jdAycL+HAznUrKXvvrvpu/ClrMPCvYGXj9/AdDst51bp0xtrKN+Zkwa7uyK2RN6HURJRgarak98vgUYIANWf/eLKGE9PiOiVJ0sLYhIdP5wsqtW7PinFqha9TulOLwecUC/S/ZAi9P+9JNzUZaLBiElINZnONsH0Us63N8jIzwmvVuogVY1CmodW7zFgYJrIoM4r913lfCg/ity01j1cfgeVJd8WG6EZTxItyKOg/Ni8+WNwNaZIEYY62xZPkZFFMskmBNNNUQ19FFpC0tmEJXyQJY9cYUgVrGeNC+6qq7G/ty/5yEoYdjX3dNQ9QhyvuMiXh04w== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(396003)(346002)(366004)(376002)(451199021)(86362001)(38100700002)(36756003)(110136005)(31686004)(53546011)(2616005)(2906002)(66476007)(66556008)(66946007)(4326008)(186003)(31696002)(6486002)(478600001)(316002)(41300700001)(6506007)(26005)(5660300002)(8936002)(8676002)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MzFudnl5bDNOcnJjRThOWlpGZlVpNGMyWkF1TUc5ZEF0SXk0WjVyOXAyMnlF?= =?utf-8?B?T0FMc0VqanpEL3d1ajBXa0ZwcUZzZjJzQm5Gd2xOVmk5YmFPMk9VMDNpOWFP?= =?utf-8?B?L0phNSt6NGxLSENMMlpUNEFzdkQ0SzB0alBPc3FtaENxOU42TzNDWnBselg1?= =?utf-8?B?TFhGekpXM1RaTlE1bTJBQWdiSGkraWFmVFNFUXN3RVVva1l2azMrWTk1NlBo?= =?utf-8?B?RFRlakozRzAvUG5IcU1KVEV2bG1WTi9mSDArTVN4R0Z5UVAvbWRtTzJJTWZF?= =?utf-8?B?M01VODVZZHVrVG9ZYlFhM0ZOT0M2alRIbFF2NFU5WW8xcnkvY0k2MnZCK3kx?= =?utf-8?B?UDhvd3lPbVJUR2lFTWpodUtKOGRwMGNRNmdNQ2U1N0F6ZUJONk85cXd6ZVVt?= =?utf-8?B?V1lxTkpYYThMYk5lWWZlUlRBT1JzSksxVEcvYTJJeWYxRHNEV0g4WTJXT1VM?= =?utf-8?B?WTZWSTNGUTB1NEN3L3JwK2l4S2R5b2s3T2dYR2VhR05FWWhJWm5VSWdsSkE0?= =?utf-8?B?REdVa2R1RGI2RjFsOGkrMDFiV3pKYlRhWktDSXFuaFNUcGdlbTJ4Uzc4Sy9h?= =?utf-8?B?d083K1c4eGtmcGtoaE1ML2prUy9PR01HOUtzZ014WTJlZkl6ZkVZeUlHbU02?= =?utf-8?B?MXZRMU5yY3VrSmlaZ0xRVkNJR3MvNHJsV1RJU3FGNEw3amlucjdFc0NsSFVj?= =?utf-8?B?a3VROGlaWjhvS2Z6VXVPdVBFYUpyZXhnQ2FlZWY3S2lmc3YzY0RRU0NXdlhO?= =?utf-8?B?RnVxZzB1c0UvYzZuamJLV0tTb09GdTFNa29WWTI0M1NITHJxWE9qZ21BRjNa?= =?utf-8?B?Y3hUTkZLeDRPQjltVU5hS09IemViS0pxNmpncEpqb2tMSDIvd1ZJMTNWdzhj?= =?utf-8?B?dmk1MytiV0lRdk9zRmVvRm5hcTdBWjZFb3U4b0I0c2JwZCt0M0labmEvVnFx?= =?utf-8?B?TjdpdGhOWXFuOVd2M2VuSEZKSzlYQkxoWUgyc2lqWUR1eGVGTlo3cmY0RzFS?= =?utf-8?B?cDhGZmhvM29RYS9kcUlOMmJld21DNWt4eXl4aGMzY1RlWVI3cDVldVNmWjZP?= =?utf-8?B?ZFlrd3R6Vk1CTXZ0WEFJUElUS2toNmc0S2dDM29mQmhxanpLcDh4RitCdm94?= =?utf-8?B?cVhmd1UrSHQxMXhaM3FVYWk1VmxMU3RRS2ZsK05TWnNPMnlNQjU4Tk83M0Rk?= =?utf-8?B?WStyR0k2SWY4a2VUUHh0bGZSSm5vTy8zOW91aDFlT0tpVDRWTmJmbUhRQjh2?= =?utf-8?B?STEwM1dJSnBFRmJQWThLWVo5MU5nZjJDdVMwTDlhcENGbzBUeEl0ckZoVXlT?= =?utf-8?B?MW9jU21MeVdhM0FqOTZGQVU1T2dhZzZaVzVkZXFsK1RWQTUxUEU5YXFIS2xB?= =?utf-8?B?T05oMGhzZE84Sm53R01FYWUwNGRRamxWMnNiZTkremc2NFU1Rk9GSkV5d3A4?= =?utf-8?B?TURZUkxydVB1cHE4QUpsRzBOSUtNRFJ6U2FyTFZ2djFzNFBXTTRrcURhZ2Mx?= =?utf-8?B?enhMaW5jODV5SVFwM1J2NERjS0crVXB3VHpsU3BJb29la280NE41bGI1SExn?= =?utf-8?B?ZExKMjJhNFROQndEL1dwTDRhc3lDQndiMnlqRFZGZHk4OUN3M0VOZlNrbStz?= =?utf-8?B?cjZybXFFNjV6TkQxQmgrR3RiUG1rQ2Zic3NKMmZwZDcyRHc4MCtpK3QycXdE?= =?utf-8?B?eURaOWk3TjlRWDVwVk1uWFlSVVE1Sk85N0RwY0tZUENnRmdwcnh3cDR4eFlL?= =?utf-8?B?bnB0QU85RW9xci80Z1JrRFFWNmRwaDNmTTN6d1QwOUVKVHlRNkFZZTdsaitW?= =?utf-8?B?aUZvYVgwamNDeGRmRmlNYklIamRYczBxMnF3TVAxcGNqS0xvbFpVNVlRMzRQ?= =?utf-8?B?QmFXSElGc3BCcG1pTnhVTFI2c3MrVjQ1Rmk1VmRRYjZCZWJUN0dzOGJGQko3?= =?utf-8?B?TDJXclZSUnIrV0hhRmdLTG9WVkpiWUszdHBMVTRaL1VSTVFDZ2FXV1FpZVVy?= =?utf-8?B?eHRuamxBRU52aWpSc3VQcjFDVkUzUTBHWVpiWmVya1dIZk0wMVNPOGpXMVpp?= =?utf-8?B?eWlVdmxQb3B3NXRkWVYxR3JKLzdXaG1RQUNiSEZZdFhFUWpNaHRPbzRTRW5r?= =?utf-8?Q?XotLaLwmS/KySjFhNt7n9v4gm?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b0d2ed05-f8c0-42a3-ad9c-08db83766e10 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2023 07:54:47.9880 (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: 7Rf00xiY9qjnkfI+hYF3GcU+Xk3jiQplrZONnsjYqnjH/UJhh3kkd1hqVoXuibEpAc6Izy4HQU8h3AcaqotKHw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8360 X-Spam-Status: No, score=-3027.3 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,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 List-Id: On 13.07.2023 01:02, Alan Modra via Binutils wrote: > On Wed, Jul 12, 2023 at 01:56:54PM +0000, Michael Matz via Binutils wrote: >> so that the (existing) code in parser and expression evaluator >> actually get to see it and handle it as XOR. >> --- >> >> A colleague was asking me about why XOR is missing from linker scripts and >> I initially wanted to say "but it is supported, only undocumented", >> because I distinctly remembered the code handling XOR in the expression >> parser and evaluator. But ... he was right. The lexer unhelpfully >> doesn't let '^' through and just spits out a "unrecognized character" >> error. >> >> This is the case since the dawn of time it seems (ldgram end ldexp >> handling it, but ldlex not), but I don't see a reason. While '^' >> might also be a meta-character in other lexer modes, that's no different >> from, say, '?' and '*'. So, let's just handle it as well, document it, >> and leave it be :-) >> >> (I have looked around for a testcase that systematically tests the >> expression syntax in linker scripts. I can't find one, so I haven't added >> a case for this one either). >> >> This is regtested on x86-64-linux only, my test-everything setup is >> missing right now. Assuming that that works as well, okay for master? > > OK, but.. > >> --- a/ld/ld.texi >> +++ b/ld/ld.texi >> @@ -6826,11 +6826,12 @@ precedence associativity Operators Notes >> 4 left >> << >> 5 left == != > < <= >= > > Since you're adjusting this table, can you fix the precedence above? > == and != are lower precedence than the other relational operators. > >> 6 left & >> -7 left | >> -8 left && >> -9 left || >> -10 right ? : >> -11 right &= += -= *= /= (2) >> +7 left ^ >> +8 left | >> +9 left && >> +10 left || >> +11 right ? : >> +12 right &= += -= *= /= (2) > > This line misses some assignment operators supported by ldgram.y. > It should be += -= *= /= <<= >>= &= |= At which point, considering the subject of the patch, I'm inclined to ask: What about ^=? Jan