From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from CAN01-YT3-obe.outbound.protection.outlook.com (mail-yt3can01on2047.outbound.protection.outlook.com [40.107.115.47]) by sourceware.org (Postfix) with ESMTPS id 375643889E38 for ; Fri, 11 Nov 2022 13:54:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 375643889E38 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=efficios.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iG5MlGPZnJzx9zCKhjFZcpSL4w75DCgGIryIolczfRpiEapgBc9PtLMz4qDM9zy/UOKCfcXRMPyQEWeUZWHIUevClA1WR//wgex2YTcGsmozxvv/10sDSryJQ97VYDTD35FEKgGyqbxYbqoOoK8XjD7a9SVDIEvNHLzGPynLZJ8/JAZUHE4hMuGUSnoQ8/fNPvXVTl88HQZ1L0H8C+xgPfl7+Br5LsU1txccZpa4sPvqUxd97b3+7HwYYRwsblXolBE4vTsEsrMB436JVZ3A0nOtIVbsYfJHgFn64E/k4wJvLvhi8RyNCWe4Rc66WrUri3V460FGUnS1J8Go4NsLhg== 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=azudK5giQfDfWKgw21n9k5TfX40dBuj/qvl9G3XEj1Y=; b=ckzeHs99AvgMTjhc0MbqgfD87sCMR7T/ZN2yFdHqHmoIxBnaXKwzro1fyv9FbOc+xA2amHRx35CcZj9/d5KtqGlzzfTJzj8bXz362S1Z49fccphj3aAlQTtTELn/3d1Ym1Zs+BVV/seS9aQLnR+0Ar8LkMh0Xd/Mr0Qa/XCWX2/rR4gCjtIFjWtEM1FaMlJL7j0pfw9d1tC045mmgM36A+HaIHezf0gaNQpG3JVYFJdz1Sxeft9k7gAsmDzBrpsBcEutEsvZojq11e5swre7vdOoVtA3EHKvY+wTDEfr0XmRSlYlABlBJjFp6fOAXccU7Od24M3bC1INJBPJTLp7Ew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=efficios.com; dmarc=pass action=none header.from=efficios.com; dkim=pass header.d=efficios.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=azudK5giQfDfWKgw21n9k5TfX40dBuj/qvl9G3XEj1Y=; b=RmJGDQ7VoQE5RCI+bxA0u97uc8JmlzxODAja7fuveiJZ0HbgbMBYQMpBI7J8NxM9MQfpPNQQmOfosn7RCxJO9+MddZmMXc9FQd6S3ewJ9KinZHNNedAm89PvGXVp1G2IzZvyviil/6NPi+X+D6fOvwY24I9Y5m7uWveVGhh0hhr6xAxN0fmF6aeWCUUjnvVgAlSQThlA17032nD77z2MdWtD7PepceliTLC3jqjz5TwF4x1B+vJI1AIzFkTyhz1exs43hu5PMHE8hPJ0iYtS/akEpldcw3p9knB+KvRlfJ36ZaCZZPRn/CrYDHJfCDjNd9bYKC73Rne9SMLU5Xs5cw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=efficios.com; Received: from YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:a::23) by YQXPR01MB6043.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:28::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.13; Fri, 11 Nov 2022 13:54:00 +0000 Received: from YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM ([fe80::2465:ab25:2168:32df]) by YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM ([fe80::2465:ab25:2168:32df%4]) with mapi id 15.20.5813.014; Fri, 11 Nov 2022 13:53:59 +0000 Message-ID: <4c7b3e65-08a6-913a-8e0f-8d3812bbd005@efficios.com> Date: Fri, 11 Nov 2022 08:53:55 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Subject: Re: [PATCH v2] gdb: make "start" breakpoint inferior-specific Content-Language: en-US To: Tom de Vries , gdb-patches@sourceware.org References: <691c5a58-68ae-5fe9-2f3d-34fb7af69ad0@palves.net> <20221108212008.1792090-1-simon.marchi@efficios.com> <1c02e882-c19e-483e-e50c-634fbe282988@suse.de> From: Simon Marchi In-Reply-To: <1c02e882-c19e-483e-e50c-634fbe282988@suse.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SN6PR04CA0097.namprd04.prod.outlook.com (2603:10b6:805:f2::38) To YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:a::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YT1PR01MB2828:EE_|YQXPR01MB6043:EE_ X-MS-Office365-Filtering-Correlation-Id: 5695f69d-281a-449f-0a9f-08dac3ec2f20 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EOJT/YAjFSABat+ScuvxKsdapm5HTASBrVjYRPISvXs5OWrh5AcS4MrYplGhT3Toj0h85m058bMluVKyxG61BZwJMHT3svTh7H/S8ZJoInDp/SIsXVoQd5zRpx3A2D31yxUbBiMuXaOHcFXoSggGi8yUM4Up324KOEZB0Og8W6DBf+YpdrHI9Kf2MKY7vit8K7D2/+mBTmsMTq2oTftq0l/APT5/m6Yz4Rmbq/lzFfIMV/M+zgzQ2XIx5ADnR6pRyK6IdHXiq4HcUSfzNQ79TYNXiYU2blYZKIXIGRHB3uUagfyCGovynfK6kkfMEnFvACj54NTiUz0yqNk76RhAb2wCLeNihRCq0mz4gprrsxHSKrmNRCdRFulOxd+6YcHGMh28KrT7odtGmk18HFdlvPWV3f7A+o4nhcGZsLIjcWlCPFW0l252pA2EYxmE8vt+If+sKcVrdUVjE+L/8t59ibTrr5QEKppQX9hFHzh/A3yLJzkgndwdFWccAQHTBr2Z7SQQe+cW6GYmCZ93fjoldfhm/9Rl+xq+6QokTi2JMT7kOp6MmM0HMC6to51HQn1Y2dZbBjkKjtIbTIT9BoCBBWU/55x0eZjZ3gCj3CnSI2Ih/mj6KUWk807W4FuYShLkTelV10MxCdeihOaR/HbEL3bpZTbVFYu/YWiYfmVe7eqgQuSlJ+XfxwpRZpQh1NcKy1IHV1FE1ArREOgSG6KF4fNxqFYECJohjTx1jGVvCpmtykoJvIuqfKHB2IDffU5R/2wuMZHhfHBmr0c6FPlQ06nGCLFZI/GuEEqetX1vlo7fSSHl+bN6sB42yWianlBe X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(366004)(376002)(346002)(396003)(39830400003)(136003)(451199015)(83380400001)(53546011)(6512007)(38100700002)(2616005)(186003)(6506007)(66556008)(26005)(5660300002)(44832011)(2906002)(6486002)(6666004)(478600001)(41300700001)(66476007)(66946007)(316002)(8676002)(31686004)(8936002)(66899015)(31696002)(84970400001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VHZQZ2VzVkpYRnJYc1FtU1BsRkg0Y25Qa0twUE44aEIvR2NXSTZQb2VGK0NN?= =?utf-8?B?QmVNL21KRGJGOUFPU2Zoc3ljYzd2TUlDYkdJaHRGczFackFuL254MlFyYlBo?= =?utf-8?B?YitIN3NJNXhFaHM4WXNVMkpEbmFjQndmMmRnMVRvQkZnSDFURW94d1NtWDc5?= =?utf-8?B?WnhUVDkvdURhK0RWazhJcFdVSW5mT01QeS84UjJCQzRLcVViaWRXU2MzVG11?= =?utf-8?B?cExwTE9ucUJkREU4djdtMGkrSFBlaDZURTZSd2FvNkVrNDBSbmpmeHdYaG9W?= =?utf-8?B?UkdKL2RFVk9oWEp2Mk0xdExQbWhabjdodjNHUWFmVUs3YllpdUxFaXVlTGxI?= =?utf-8?B?WndadjRvUll4WEZlck1hU2RCWG02b2JYeTZNanVmbjdUd2E2bmVDb3Q5bGha?= =?utf-8?B?Ums4YXdIcFMwVHZ5MytjVkVwVktzOGNiTW1aUFVDYzFCbjFHQWNvcWF6cnZE?= =?utf-8?B?QnlTR0Z0Um1WcC9VT2J1R3l0Q2QrTTJudkxwOVZ2MDU3OStXS0tyMjhraU8y?= =?utf-8?B?QlR4YVo2dEkveVQ3V1JKMzdzc0ZrYjZCSGtObXhRVEQzOExyODJRaXU5eG5R?= =?utf-8?B?WnIxL0VGeHJPYXhGNkVzbGN4YUZLL0cySTRIM3hKRGdvckJTNmpvYkhHMDJk?= =?utf-8?B?NHIyLzhwazZhRVJHYk9DQndxR0Nld2FmejE2cWIwR3hmZGxKYmNDejNvQ1Z0?= =?utf-8?B?RWFnZ1AvZFB1dENGaGl1WDkvWDFhLzFnUUF2Z0lXYUVHTEp3bCs5NHl1U1B3?= =?utf-8?B?QXEwL3Y4Mkc0SVBxYVA1OHlkTEVIM2h3OVJvNFFRTHQxenBoL3FoaFFPK2k4?= =?utf-8?B?aTVZWkx1VVcrUzlpWExLZFJMeXJzZTJvU3VhRFRaVTgrS1IzM0IyQkdBbWd1?= =?utf-8?B?blhlZEVCZW1sUVR1WWlUYjV0aFhiN0oydDYzc1k1MFFxeUlwN29ySllzVzha?= =?utf-8?B?dUpBb2FjZERrNFhxOHRNcDVpUXBRNG1OcHp1NmYwRTc4M1JmZFVUSnllWlNl?= =?utf-8?B?QmhUd0RpUC9FMnJZTWV1RFhOcGtQUDNlb2VpUXp6WkZHZURRdm0yT0VkajdM?= =?utf-8?B?NGcxTjFYdEQ2bU9MZ24vTEhCUzk1VnliK3YvdmR1RFBDQkZQdmtBV3N0YnM3?= =?utf-8?B?UUtSUHhCYmVtT2xrYmdlMmxKdVRZUDBOc1Eyd0JJT003MFlOS3M4MXFDdExF?= =?utf-8?B?STBsMEM0OFZQWW81WnNUUFIxM3JPWk5NTm9UWXJSS1dHYStSUWRQck9wbTR5?= =?utf-8?B?V3JFakV2T255UnpySWRvcjdMMTU4ZnFaMzhLT0J1eWlyRCtOaWVqYUNmeGpN?= =?utf-8?B?a3lRTGE5Tm5QL0FneDlxdG9FSHhwM1NyTHN5RU1IZ0RnWE5zdWpBSkU1SGpv?= =?utf-8?B?SElGYnQ1bGI5dmI4ZzdUak8zbmpyOU9WRFJFV05wUnBuUkZPT3lYcDRzVVlR?= =?utf-8?B?cDlUTERka01HbHZhMWFuckxPMVNISFN6bmRuMVB1NXhLTE1Ua3VwMExXU3F4?= =?utf-8?B?YWRxMTZxSm5TTXd4b3ZTM0xjdEhSd0d0cGlzRW9JczlqUTJWc0M0cHRmYXJE?= =?utf-8?B?U1Ardm93MlZmd0RPVnVHdTRPL013MlVKcERUT2IrejlvdTV6ZVlOY1F0YU4r?= =?utf-8?B?N2g2Qnc1aEg0cFdBSFN3TC9LRlM2STFuSXVIVjdYWjV4YS9Fc2VQT09DQi9C?= =?utf-8?B?bzNaOUdkeDlKU1p2YUVGS3FMOUFWemhjTk80d3hWTG16WkY2ZDN3Y3RnU1Zx?= =?utf-8?B?MDJTWDRuTW5yTFZSOUVubzBRWnlTYysrVTRtRUh3ckNycmFBL0lrK0t0T25k?= =?utf-8?B?UU9CRmNCWGN6Nkp2UmNlZGFiOTZwZDY0L0tHdU43dXFvWmljUE13Y3NON014?= =?utf-8?B?Wkh2ZmdpTzVJWTRVcHFuWkYyMGN0OC81NU5VZmtPcFIxNVgvQmpTdDNQWm9M?= =?utf-8?B?Mlg1RTJhaWpIdVlpY0FRbTRNcnZTcWNlYTg4bzQ2Y1ozeHVNTGhLVjVLbnlE?= =?utf-8?B?Zm5VWUs2dVF2RnVSNVlZaktLOEFLYTB4bkNPREE1MXZWRjUzUGI0MmFZMk5T?= =?utf-8?B?cnV3a0ZQZmkzcW9KNHU3VFA4dGVEdVR2MnRMejgxRUR6ZmRtSjFuWjh4S1F2?= =?utf-8?Q?4rTId2Whex3CrK7v7QXC9yt+G?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5695f69d-281a-449f-0a9f-08dac3ec2f20 X-MS-Exchange-CrossTenant-AuthSource: YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Nov 2022 13:53:59.7767 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4f278736-4ab6-415c-957e-1f55336bd31e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: EwNy2q/F1BsubAof7MnKpEoBdGuqEK95KiCkcVGN5oJpqVDi7Zef7KkF5jrEQ4fZ06gszyChdZhYCAgaQkG2OA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQXPR01MB6043 X-Spam-Status: No, score=-3037.8 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,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 11/11/22 07:37, Tom de Vries wrote: > On 11/8/22 22:20, Simon Marchi via Gdb-patches wrote: >> -      std::string arg = string_printf ("-qualified %s", main_name ()); >> +      std::string arg = string_printf ("-qualified %s if $_inferior == %d", main_name (), >> +                       current_inferior ()->num); > > Hi, > > it seems ada doesn't like the syntax, we get: > ... > (gdb) start ^M > Error in expression, near `1'.^M > (gdb) UNTESTED: gdb.ada/start.exp: start failed to land inside the right procedure Huh, sorry, I missed it because it shows up as UNTESTED, which my CI job doesn't flag as a failure. Here's a patch that fixes it in a rather naive way. Ideally, we would implement proper inferior-specific breakpoints, but in any case we want un-break the tests sooner than that. >From 28f370e7dda4fb2f240ed29493416e78ed47f176 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Fri, 11 Nov 2022 07:58:35 -0500 Subject: [PATCH] gdb: fix start breakpoint expression not working in some languages Commit 0be837be9fb4 ("gdb: make "start" breakpoint inferior-specific") regresses gdb.ada/start.exp: (gdb) start Error in expression, near `1'. (gdb) UNTESTED: gdb.ada/start.exp: start failed to land inside the right procedure This is because in Ada, the equality operator is =, not ==. I checked the other languages supported by GDB, these other languages use = for equality: - Pascal: tests like gdb.pascal/hello.exp are affected too - Modula-2: I tried building a Modula-2 hello world using gm2, but it seems like the generated DWARF doesn't specify the Modula-2 language in the CUs, it's C++ and C, so the selected language isn't "modula-2". But if I manually do "set language modula-2" on a dummy program and then "start", I get the same error. Other languages all use ==. So, a short term fix would be to use = or == in the expression, based on the current language. If this was meant to be permanent, I would suggest adding something like an "equality_operator" method to language_defn, that returns the right equality operator for the language. But the goal is to replace all this with proper inferior-specific breakpoints, so I hope all this is temporary. Change-Id: Id4d38e14a80e6bbbb1ad2b2277f974dd55192969 --- gdb/infcmd.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gdb/infcmd.c b/gdb/infcmd.c index bf4a68e3557e..6f83949cc7c0 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -428,8 +428,13 @@ run_command_1 (const char *args, int from_tty, enum run_how run_how) have proper inferior-specific breakpoint support, in the breakpoint machinery. We could then avoid inserting a breakpoint in the program spaces unrelated to this inferior. */ - std::string arg = string_printf ("-qualified %s if $_inferior == %d", main_name (), - current_inferior ()->num); + const char *op + = ((current_language->la_language == language_ada + || current_language->la_language == language_pascal + || current_language->la_language == language_m2) ? "=" : "=="); + std::string arg = string_printf + ("-qualified %s if $_inferior %s %d", main_name (), op, + current_inferior ()->num); tbreak_command (arg.c_str (), 0); } base-commit: 70b9d05b26e861524d70ee90dcd28cfd77032ddd -- 2.38.1