This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] breakpoint.c: don't generate bp events for internal bps
- To: Fernando Nasser <fnasser at redhat dot com>
- Subject: Re: [RFA] breakpoint.c: don't generate bp events for internal bps
- From: Keith Seitz <keiths at cygnus dot com>
- Date: Fri, 11 May 2001 09:04:15 -0700 (PDT)
- cc: <gdb-patches at sources dot redhat dot com>
On Fri, 11 May 2001, Fernando Nasser wrote:
> Keith, you have attached the same old patch!
Maybe that was intentional! ([hypnotizing voice] You _will_ see things my
way!)
Here's the real revised patch. No really, it is.
Index: breakpoint.c
===================================================================
RCS file: /cvs/src/src/gdb/breakpoint.c,v
retrieving revision 1.35
diff -u -p -r1.35 breakpoint.c
--- breakpoint.c 2001/05/06 22:22:02 1.35
+++ breakpoint.c 2001/05/11 16:01:17
@@ -318,6 +318,15 @@ int exception_support_initialized = 0;
error ("catch of library unloads not yet implemented on this platform")
#endif
+/* Is this breakpoint interesting to a user interface? */
+#define REPORT_BREAKPOINT_EVENT(bp) \
+((bp)->type == bp_breakpoint \
+ || (bp)->type == bp_hardware_breakpoint \
+ || (bp)->type == bp_watchpoint \
+ || (bp)->type == bp_hardware_watchpoint \
+ || (bp)->type == bp_read_watchpoint \
+ || (bp)->type == bp_access_watchpoint)
+
/* Set breakpoint count to NUM. */
void
@@ -4375,7 +4384,8 @@ mention (struct breakpoint *b)
delete_breakpoint_hook and so on. */
if (create_breakpoint_hook)
create_breakpoint_hook (b);
- breakpoint_create_event (b->number);
+ if (REPORT_BREAKPOINT_EVENT (b))
+ breakpoint_create_event (b->number);
switch (b->type)
{
@@ -6735,7 +6745,8 @@ delete_breakpoint (struct breakpoint *bp
if (delete_breakpoint_hook)
delete_breakpoint_hook (bpt);
- breakpoint_delete_event (bpt->number);
+ if (REPORT_BREAKPOINT_EVENT (bpt))
+ breakpoint_delete_event (bpt->number);
if (bpt->inserted)
remove_breakpoint (bpt, mark_uninserted);
@@ -7304,7 +7315,8 @@ disable_breakpoint (struct breakpoint *b
if (modify_breakpoint_hook)
modify_breakpoint_hook (bpt);
- breakpoint_modify_event (bpt->number);
+ if (REPORT_BREAKPOINT_EVENT (bpt))
+ breakpoint_modify_event (bpt->number);
}
/* ARGSUSED */
@@ -7433,7 +7445,8 @@ have been allocated for other watchpoint
}
if (modify_breakpoint_hook)
modify_breakpoint_hook (bpt);
- breakpoint_modify_event (bpt->number);
+ if (REPORT_BREAKPOINT_EVENT (bpt))
+ breakpoint_modify_event (bpt->number);
}
void
> I am not against removing the hook. I would not be so certain that
> NOTHING is using it as there are too many obscure academic projects
> going on using Free Software. That is how Free Software started (and
> how I started hacking GDB) and I would not like to discard them. But,
> whoever is doing anything with GDB should be monitoring this list. So,
> if you post to gdb@sources saying that you will get rid of these hooks
> and nobody answers in a reasonable time, "off with their heads"!
Ugh. I suddenly remembered why I didn't post a patch eliminating the
hook.. annotate.c.
Maybe I should work on converting annotate.c, too? ;-)
Keith