From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AUS01-ME3-obe.outbound.protection.outlook.com (mail-me3aus01olkn2165.outbound.protection.outlook.com [40.92.63.165]) by sourceware.org (Postfix) with ESMTPS id 0CD05385840F for ; Thu, 17 Mar 2022 14:30:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0CD05385840F ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XYra79QBxLYJZir4uq4g350ljsZ+KLVI4kgM1zbQnmGZ5vY7YiK35mQ1stCWfDKM4CM/qHpHP8Llt/1mk6OaYSz5JTluMvJDrGrvz2z3U7ebaBeaPlQEjLDy0xgKcKH6AB00rE5xoIE+LBfmMz4d5yJRqfBzuFRY7LFMmQCWxyll2svhJ+as+JTdzGX9dxplfbr83ztouaB/rOMpbH5YhZo6YdXdlMFWaDmh3f9LirqgsDHIzZWyAI+yePtcgrp13P9ghrWxg5NfaMmLiOKDHfYvZm6LbvNttJPuuO2SiY/mDNBouLLlz3R5j9LJfC0Z3ZJiLg+uHI6CCe7FEb03jA== 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=CDn//SgcP5E+Z+j2wNiEmyO38Va7VREHiIx3jUztxRk=; b=PiKbHlJ1HTDlOJMKz5rMPh9pcSYyzi9RbcbHlwDVqjxsde0SUb37HVuQBV5FLYz6R+i2YN1C9yL94W2YZz+73tsdxZXzPjaRzxWEbcPtB608lvapHaX8iUc6KCJuWKgNZTMcBTLpsuafsUvaeTmApt5paKWEj9/ZBCEciAO5K7E89/MjvZAtSjV5hPwPgtSB8xf1aO/tJoEryEUMRdYukz7M+gtW/bTq+DcYsKPbLEpE0xyoGn51ozmBMqYyP+fkLfmCdzajwcvBuv4efKedZMndb16oJGDqBaUufv1M8asn1buQa6r2eaza58+iC3BuPG4rEbo21gGBUdbc7nyjdQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from MEAP282MB0293.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:71::10) by ME4P282MB1397.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:9e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.14; Thu, 17 Mar 2022 14:30:18 +0000 Received: from MEAP282MB0293.AUSP282.PROD.OUTLOOK.COM ([fe80::5142:5d29:c331:4075]) by MEAP282MB0293.AUSP282.PROD.OUTLOOK.COM ([fe80::5142:5d29:c331:4075%3]) with mapi id 15.20.5081.017; Thu, 17 Mar 2022 14:30:18 +0000 Message-ID: Subject: Re: [PATCH] gdb: prevent the use of the clear command to remove the internal breakpoint (PR cli/7161) From: Enze Li To: Pedro Alves , tom@tromey.com Cc: gdb-patches@sourceware.org Date: Thu, 17 Mar 2022 22:30:13 +0800 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.4 Content-Transfer-Encoding: 8bit X-TMN: [kSZAe+6/PSHR3fhupm6Bb++1gNPOJbBD] X-ClientProxiedBy: HK0PR01CA0062.apcprd01.prod.exchangelabs.com (2603:1096:203:a6::26) To MEAP282MB0293.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:71::10) X-Microsoft-Original-Message-ID: <7876e3e37080c06dc32bbfbf54403ba3f4932a7c.camel@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e73a7108-473b-4990-af31-08da0822a918 X-MS-TrafficTypeDiagnostic: ME4P282MB1397:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qH2Ag1XHhh3EZ3HJS6YOpUNMfwxK95GIzyvivCUR23Lf6iV1Tcbd3x5xAd9uicbCWbkEnTPvy6u5N+ehvlkMA70Ry4Jf7aBlrX1RqqPcZDPRuFGg2LV50+PPMPmzVFvwHcaIMMMorChNKNxdntSHXYUDs7Fh4OltkK5L/zwL+l/NaqinueGSDWqM+5yYEX5YAh5kMP/xcvCFWz/ADhn91bLCXliSeaJDQlOlqL5U773/F0ampWKlQe5N+aZUvB+3Jox14IIrygTWEWuyMsqJJIAc3zYh51COMDExe2O8YX0nOj88FBuuVsjx0udWR33uqvqFiPA9KLgLqztPgN2aDkPPPjy9siH7HCWzPZk96EbQSnQh2b3J5zSQV9MeZX8QqEeZBQteahyq4P2vBhJ9yriZRq2Q57oEqYj/LGujjvakX6Ln05kSiZJwT4w2j3tP3eZ7aOxWUraGf31mdgnoqasE621JQWIxwTO3dKLPDNs3S9rM6ztVCV6+qhvU7xugALBY4vAMcNd7KVpHYoOTaiQG/FpqzNwyHu1QvaFNO8JsibgxNFfsYwb1BmMHaVCJhbIT9fJIof3q8rMSnDGVnR2HkqOygh9fZrqLX6cIfkmi4blrufcisvp052E8ujbd X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aEF3dzRuMTgwUklscklMb0RPMS9UbnUwSFppQnI1bEtLUktWV200bVZsTjRq?= =?utf-8?B?akZicmhHbnRrTWZXWVlvbm5XbU43YytFTi8raVhRUVJwZnZ0NkhPWkE4L01j?= =?utf-8?B?RnZTZnBkRUhTOTcxbU9YaFZ6dlFidXNpTUd5VnZFeVBmRjV3ci93c0V2NEYw?= =?utf-8?B?cm1IZGl2ajZndEJiZnRFLzJEdGtmekhmcUU4d1pzMHlxVUNUbklWQmQ4NEJ5?= =?utf-8?B?N1dLc0FPQm5JdE9ROGFwcC9uazc1OVpLb2NRZkl1cTNSLzdIR1k4U202WkJw?= =?utf-8?B?YkRCc0VQYVNUckJVT0E1a0ZBNEJlaXpxUXJYU1hHVGg3WkEzUGp6MWk3cll4?= =?utf-8?B?dmtmVDN5ckxSaWRtVThYSklVNjBMRUdvamJPblY5cmxtZFpweERwcWoxcHJX?= =?utf-8?B?RVBGNldMMlRlanZEb0FzK3pDc1dIRjRhekpmVW9hNTM0K1NieUtkR1F0ODFu?= =?utf-8?B?WldsejE3TGYybFNLalg1Y2gxdktpeFFlQUs1V0txalU1dU5pa0lLZDhSb0Vi?= =?utf-8?B?c0NVK2dJdVdtTE5leXpUWTNHYlZyTmVZcXhSOGVyOWQ0TlFVVHlscDdzbXZw?= =?utf-8?B?YlFoWDc4L0RPRkdyN3B5YU9rOWh1bEZwVW9hOFhHRVpha250eVg1NkltMkg3?= =?utf-8?B?VzJWU1dzZ3ljOEtDTHJ0aUxQVnpnQUdud2ZQREpoT2ZjYlBKbjgvaVNnNFFr?= =?utf-8?B?azFCTER1eU4vaWdYZEVUY2V4UXZLY1l6NnhVTStuek5GY2k5VEpaZm8wNkwx?= =?utf-8?B?SFgwWHNPQ3BSZjlpSlljbnFjRytVQlZsMG40U2pucFM4R2lEWmk1TXhjZG54?= =?utf-8?B?YmlUQUZucjV2RWFwNjBLekxaTWQ2VUhaYlIvelVoZ3FRQ3lsdVJScXhlMVlP?= =?utf-8?B?enhGZm5WcFVaSHRoSFR0UTBWZ25ybnhTWlJnWmRvbW1FNUtOd3ZLSUhkTnow?= =?utf-8?B?b1h3dThKSjVCb0hXZFZtcmFHVTM0dHNmbzJkSVJReTBoRmRneENuV0c4c2U0?= =?utf-8?B?WC9TdDdTb1pqclhMYUFTOEhuQThnaUpOY1E2aDJYZWVwajZnQzRaL1Y5cmF4?= =?utf-8?B?cUZaOW9CbnN0MW84SXJsaG5WVTF3TngrMys2WlJyNERaRTRTRysyZGlkV0k5?= =?utf-8?B?aC9HMjZiNGt0SjljeDFuUHpHMEIrbGJRU1hYSUVXejRqU1J1VDJpdzVvWXB1?= =?utf-8?B?MGZRQVdKamNOK2JmR0lqaVlrRVBsbENxRndZdkljMWNxdXNSdWdDYWkzNGlI?= =?utf-8?B?ejVabTJvZUVFMnVnT0VTY2hUWEZzZFozcmFOb2g1V1pSaVNWVUhHMGZoS1hE?= =?utf-8?B?c0R1RXhIUjhBSUdrQnBJWm5HczM1YUI2Q3hGUFJHVG1PeWp1K2VpYkNZbmFE?= =?utf-8?B?T0xweUk1WGlORkxvMTBvaVZ0WlVnZTRoaCtSa2J2WGxaUmhGTy8xTkpJU1pU?= =?utf-8?B?M0dTM1JyMlJyTWo5RlpsNEV3bXBGc3Y0enErNTA3akhnNkNtREF6YXpUekpX?= =?utf-8?B?NEtqMmZSMkJKZkVLUjNTRmVQU1pGSzVYNzRBa1NtUktaOVNjekpwUHkvL05G?= =?utf-8?B?Mjg4dz09?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-746f3.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: e73a7108-473b-4990-af31-08da0822a918 X-MS-Exchange-CrossTenant-AuthSource: MEAP282MB0293.AUSP282.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2022 14:30:18.7255 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: ME4P282MB1397 X-Spam-Status: No, score=-11.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, 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.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Mar 2022 14:30:24 -0000 Hi Pedro, Tom Thanks to both of you for the code review. I have sent the v2 of the patch to the list, adding a testcase dedicated to testing PR7161. Thanks, Enze On Mon, 2022-03-14 at 13:53 +0000, Pedro Alves wrote: > Hi! > > On 2022-03-14 12:24, Enze Li via Gdb-patches wrote: > > This patch fixes the PR cli/7161 - "clear command removes internal > > breakpoints". > > > > In this patch, a new function "internal_breakpoint" is added to > > determine whether the breakpoint is internal or not.  If the > > breakpoint is internal when using the clear command, no action will > > be taken, thus preventing the use of the clear command to remove > > the interal breakpoint. > > > > Tested on x86_64-linux. > > > > Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=7161 > > --- > >  gdb/breakpoint.c | 10 +++++++++- > >  gdb/breakpoint.h |  3 +++ > >  2 files changed, 12 insertions(+), 1 deletion(-) > > > > diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c > > index a3cfeea6989..08628d885e7 100644 > > --- a/gdb/breakpoint.c > > +++ b/gdb/breakpoint.c > > @@ -6477,6 +6477,13 @@ pending_breakpoint_p (struct breakpoint *b) > >    return b->loc == NULL; > >  } > >   > > +/* See breakpoint.h.  */ > > +bool > > +internal_breakpoint (struct breakpoint *b) > > +{ > > +  return b->ops == &internal_breakpoint_ops; > > +} > > + > > The clear command shouldn't delete momentary breakpoints either > (those have bp num == 0), > nor internal breakpoints created via Python's gdb.Breakpoint, I > think.  Neither of these > use internal_breakpoint_ops. > > I think we should check the existing user_breakpoint_p instead. > > This should really have a testcase in the gdb testsuite. > > Pedro Alves