From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fernando Nasser To: Keith Seitz Cc: gdb-patches@sources.redhat.com, Michael Snyder Subject: Re: [RFA] breakpoint.c: don't generate bp events for internal bps Date: Fri, 11 May 2001 09:15:00 -0000 Message-id: <3AFC0FAF.ADFE7364@redhat.com> References: X-SW-Source: 2001-05/msg00216.html Keith Seitz wrote: > > 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. > This looks good (and safe) to me. But we need Michael's or Jim's approval. Or would this be an obvious fix? You are just making the code do what the documentation (comments) say it should do. It is very safe as well, it should not impact anything else (now that the hooks were left alone). Fernando > 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 -- Fernando Nasser Red Hat Canada Ltd. E-Mail: fnasser@redhat.com 2323 Yonge Street, Suite #300 Toronto, Ontario M4P 2C9