From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AUS01-SY4-obe.outbound.protection.outlook.com (mail-sy4aus01olkn2154.outbound.protection.outlook.com [40.92.62.154]) by sourceware.org (Postfix) with ESMTPS id B99CF385E012 for ; Mon, 14 Mar 2022 12:24:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B99CF385E012 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TucuRHCOaUvGk6rafs4JOSuw39f7iJUP9Rst+ydTlnqlnRHKKq2grM8taTb6fHhuIx+JYHX7W773JFyRq31yDDIpIpnndZB0q2H8mso5yEvngVTIqTd3CLJF7t5ttg2lqnzN3ftjRWRr6JujvrJxfoRFdDIXuSeIOC0DqVJQcjOhZpVdgeoCucZS+2J1ghPavPssji9ud2MplhG2Xj1sRhqgyJcZ5mmoUUf8d3FVIEasxx8M7XQ5bNdr4/BOOYXntjVmmwFSuLWV5+4rgEWRhjEui8v/SNdxAxmrdrxRnkNz9nmy4AbUFNmxrjNYgmsD4JQtTIiYbGVbIbsR5S2vRg== 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=nneVzGYZo5Q5wKX7xj0T5HOac7Q3ebEGU8jJqcUdbMM=; b=CXXwkPx1NTx5qAGP4/Rj2DqScNI5kw0Ix107wgOvuBTTBE0fVwVBf1MBH5M88EZWy88BLD+JEmBfZEXVWqdxkDMmtPMsK+NpUkbLa/3nBPoBkzEaX7CFjg1Rp6XA5pCQ+P0PX7RNUEjCUeBr9WyjpHYN11QXaFN+PVnjF5eakaIDTGMfnUe6LRpcxKHoISFXR6zrHv+TVbIa57b+yRGR7QfWXcm7FvsqFuNiXEOvyCfEuEn81xkMu5xqnv0MB4TBgnoDC2MqWR3pFIP+Qa8jA2SyKp4mlaaV15iunOO+5OEAa+4u212NjeDwf8AkqspoSBwihwrRTGjXaTweuhrNIg== 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 ME3P282MB3106.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:147::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5061.24; Mon, 14 Mar 2022 12:24:25 +0000 Received: from MEAP282MB0293.AUSP282.PROD.OUTLOOK.COM ([fe80::7527:42d7:2a06:cecc]) by MEAP282MB0293.AUSP282.PROD.OUTLOOK.COM ([fe80::7527:42d7:2a06:cecc%4]) with mapi id 15.20.5061.026; Mon, 14 Mar 2022 12:24:25 +0000 From: Enze Li To: gdb-patches@sourceware.org Subject: [PATCH] gdb: prevent the use of the clear command to remove the internal breakpoint (PR cli/7161) Date: Mon, 14 Mar 2022 20:24:06 +0800 Message-ID: X-Mailer: git-send-email 2.35.1 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-TMN: [/eukdOYeScN8fF4Yij0YPhnlQhd8ZRB/] X-ClientProxiedBy: HK2PR04CA0056.apcprd04.prod.outlook.com (2603:1096:202:14::24) To MEAP282MB0293.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:71::10) X-Microsoft-Original-Message-ID: <20220314122406.24889-1-lienze2010@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 06874e3f-9221-48d3-66a0-08da05b593a8 X-MS-TrafficTypeDiagnostic: ME3P282MB3106:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8+5wx3kcymXB4dK4xzNHel15Q1BU3eprI4VomdoVFQsXryF4qMjFUwDStXuS+6IeGhfpooLefbEz93sVbl+SoFX/lATedIc6VHmz19YKsBOnq4f6uZgZwTvqYZEcqdc34WCCSHLiS3njMActvj37EgrNxFqnHHzfVe0lMtCkAruOTIjNWIm4Rn1LelVhL0PrRJOnGcO1cW1+clfAawky96Kst+GQA0qrC1yg4+AI6Qkg7vqNLaVvNuV5jud2DRGP7LaHvL/voNOqOiO1sTG4NmFHjQaJ32J0Zn5plZWNieknVifBpFWXY6zQ1d0rnEv/UfG3lt68ekq6S8sSjgvRRNKRYvNeM2ZQ+E625g4xeBzDfAkE+i4J1Vrlb11VNcB/zOpCi89PpHLQzNIc+I0F+Y+FgRW9Rsp6KwiKzlmb/y1KThoVgCVJbHYl+JFqksgNkxSBLl2e8QJX3uIIMXDujfhlNQ9rXGrI9XtaP9f1lZ3r6SvjtMXGWcKVbjbeaqK71c3P4dijGnlnyBIk85JwUsATPs+pR5AmP6XaQ8r7i2xUAbQEawlN5fU8cZuamFJmrFrdqDCnIBjNWRCKqSRnJoy8fpNnD9vQ2hOPwmldZLx5YTE/Yu+0WRvNNfvXNI90 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?l5FS17kQnRmIKOmWSTqrd1xxzo28y0K9UY+OsdzQYyjC6bREjtOyvukUMj7n?= =?us-ascii?Q?o+J6L3kETyH5sz+FwsUZz7DC7HC5n5N7/JrEyAo6ZtbHhS9rqWowXKHg8Eqj?= =?us-ascii?Q?5HLIV3HTPhRo/6FYQWtQY2lNeWyCr44fH/S4GsLSHYoQ99TFBbncup/zftW9?= =?us-ascii?Q?oLTDslt01aKvpmvV9IlahG1CT8iNcJHSpmNjf68g8DK+YTTtC7bxljYWA7XG?= =?us-ascii?Q?GOmbatJKnmM7deSkjciO4Wza01OwZ++MtBz0dV6ppkt5encYDUe3QxvX8D8/?= =?us-ascii?Q?7W82RHll9cuFcQoph6GGXIYmUwYgAkgdj4+JqrPjlaMQGnu7Gt8XgfUPM+Fp?= =?us-ascii?Q?AbtRp1XwrzL/scNxgKl6J5Iq4f1YLcs/DFMIfcvHXPAnmLG22AEi/Rr/2rYJ?= =?us-ascii?Q?311SQkDW7MVH6cYxqiCewcwRRW4dTbUcBVXPg1QuUSj8UnGALMjg7gfKqst4?= =?us-ascii?Q?uoq1rFs7RTDRDuZwUpbkS9NnvB77yhTSdzfZPxi6B3AJavRfEl+r48ApIoaW?= =?us-ascii?Q?s+8HhLb4/7x24kchacrD/iN1TxoyrCpE+1IBuXy1jo7N6s6D2oUz1sqIi7+u?= =?us-ascii?Q?ca2EEkmYS4ETg4BhEzPcW73YX0QVPMO6F1FeIDtIGLJh6HKdAZocLaIQl5ty?= =?us-ascii?Q?YjIAvjtELIkza5jjYx0dnk2pmhttt3oxEEqq4QJ505o5JrefUoB4qwqu0zg6?= =?us-ascii?Q?Ebr5tmk2jUAl31f6ROc5hnvlgnS7M5aiqmmTjHPncTXeHFCcCiMktqqueWSQ?= =?us-ascii?Q?Ae5Pc5IdrJkiV4wVv/j4PH7eQcI6EMcdPQAmg6Qs+1doP2qcSr1SM37YhQh2?= =?us-ascii?Q?sI7BDa7/Ri6KPD3uCbUbDc4snF1aPnq6DZunEw0fHEtYwyPVkKwbCfzpnM7c?= =?us-ascii?Q?TTb1JGGvTtLa9if0/fSkdX2ZnMAdxkGGQUCfEgZuPfP+YM1LboVEwfOYHJ1H?= =?us-ascii?Q?QtUSiMx7eNMyWdrBgCT3bjP+loJxg/9ngMuOzJwGf2RbL5NRF3xpnicNMb7e?= =?us-ascii?Q?hI7A4HS4WA/2lPrfmZ/eKNhREzg2zG4S+NgjqE+bOFFgkMf+iY9KkgRIroJq?= =?us-ascii?Q?xmMbDaIteQhEwJSJdIGuoqWuAMO94XKDiLiCZPpcZQ3znBvSk/rTK8mndIiI?= =?us-ascii?Q?oUzohaKohaz0Y3A66vZGM+ha1+PbvCQWVQ=3D=3D?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-746f3.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 06874e3f-9221-48d3-66a0-08da05b593a8 X-MS-Exchange-CrossTenant-AuthSource: MEAP282MB0293.AUSP282.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2022 12:24:25.3665 (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: ME3P282MB3106 X-Spam-Status: No, score=-11.0 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: Mon, 14 Mar 2022 12:24:32 -0000 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; +} + /* Print information on breakpoints (including watchpoints and tracepoints). If non-NULL, BP_NUM_LIST is a list of numbers and number ranges as @@ -10979,7 +10986,8 @@ clear_command (const char *arg, int from_tty) { int match = 0; /* Are we going to delete b? */ - if (b->type != bp_none && !is_watchpoint (b)) + if (b->type != bp_none && !is_watchpoint (b) + && !internal_breakpoint (b)) { for (bp_location *loc : b->locations ()) { diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index ba28219c236..c6ddfb0b87a 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -1752,6 +1752,9 @@ extern int user_breakpoint_p (struct breakpoint *); /* Return true if this breakpoint is pending, false if not. */ extern int pending_breakpoint_p (struct breakpoint *); +/* Return true if this breakpoint is internal, false if not. */ +extern bool internal_breakpoint (struct breakpoint *b); + /* Attempt to determine architecture of location identified by SAL. */ extern struct gdbarch *get_sal_arch (struct symtab_and_line sal); -- 2.35.1