Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* RFA: Breakpoint infrastructure cleanups [0/8]
@ 2003-10-08 16:55 Daniel Jacobowitz
  2003-10-08 17:33 ` Elena Zannoni
                   ` (3 more replies)
  0 siblings, 4 replies; 71+ messages in thread
From: Daniel Jacobowitz @ 2003-10-08 16:55 UTC (permalink / raw)
  To: gdb-patches; +Cc: Michael Snyder

This is a series of eight patches which begin to clean up our infrastructure
for tracking breakpoints.  More specifically, I chose to split the struct
breakpoint into two: one which is logically associated with the user's
"break" command, and one which is logically associated with an insertable
breakpoint.  The general idea is that the mapping should be one-to-many
eventually.  Right now it isn't and there's a long way to go before we can
get there, but this is a first step.

This will make it simpler to have, for instance, a breakpoint on both the
in-charge and not-in-charge constructors without bothering the user with
that detail.  Similarly (eventually!) for copies of an inlined function, or
multiple copies of an executed line.  This is a bit of a ways in the future
but I'm working on it.

On the infrastructure side we will be able to have an "impl_breakpoint"
(short for implementation; better naming ideas?) for each location we are
watching using hardware watchpoints.  This will simplify a lot of code.  It
will also eventually become easier to object-orient our breakpoints.

Except for a couple of minor bug fixes where noted, these patches change
nothing.  They use the assumption that every breakpoint has exactly one
implementation breakpoint.  After they've been applied, it's easy to find
conceptual layering issues; most (not all) references to b->impl are
potential problems, and some references to bpt->owner are also.  I've
converted functions which operated primarily on the impl to accept impl
breakpoint arguments instead of user breakpoint arguments.  Many of the
remaining layering issus deal with printing the address of a breakpoint; I'd
love to hear what other people think we should do for breakpoints with
multiple addresses.  Just say multiple, and provide a maint (or info)
command to look at them?

The actual patches will follow in separate messages.  Thoughts?  Comments on
the overall approach?  OK?

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


^ permalink raw reply	[flat|nested] 71+ messages in thread

end of thread, other threads:[~2003-11-04 19:57 UTC | newest]

Thread overview: 71+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-10-08 16:55 RFA: Breakpoint infrastructure cleanups [0/8] Daniel Jacobowitz
2003-10-08 17:33 ` Elena Zannoni
2003-10-08 19:04   ` Andrew Cagney
2003-10-08 19:07     ` Daniel Jacobowitz
2003-10-08 19:44       ` David Carlton
2003-10-08 20:36         ` Elena Zannoni
2003-10-08 19:49       ` Andrew Cagney
2003-10-08 18:07 ` Jim Blandy
2003-10-08 18:23   ` Joel Brobecker
2003-10-08 19:05   ` Daniel Jacobowitz
2003-10-08 19:52     ` Andrew Cagney
2003-10-08 20:30       ` Daniel Jacobowitz
2003-10-08 21:09         ` Andrew Cagney
2003-10-08 21:11           ` Daniel Jacobowitz
2003-10-08 21:40             ` Elena Zannoni
2003-10-08 22:28             ` Andrew Cagney
2003-10-09 19:19       ` Michael Snyder
2003-10-14  1:38         ` Daniel Jacobowitz
2003-10-14 15:40           ` Andrew Cagney
2003-10-14 15:46             ` David Carlton
2003-10-14 15:51             ` Daniel Jacobowitz
2003-10-14 16:27               ` Elena Zannoni
2003-10-14 20:45               ` Michael Snyder
2003-10-15 15:02                 ` Andrew Cagney
2003-10-15 18:20                   ` Michael Snyder
2003-10-15 18:30                     ` Andrew Cagney
2003-10-15 22:19                       ` Michael Snyder
2003-10-15 22:23                         ` Andrew Cagney
2003-10-15 22:37                           ` Michael Snyder
2003-10-15 18:56                     ` Elena Zannoni
2003-10-16  6:59                       ` Eli Zaretskii
2003-10-16 13:11                         ` Daniel Jacobowitz
2003-10-16 14:08                           ` Paul Koning
2003-10-16 14:21                           ` Elena Zannoni
2003-10-16 15:54                             ` Eli Zaretskii
2003-10-16 23:20                               ` Michael Snyder
2003-10-16 23:18                             ` Michael Snyder
2003-10-16 15:45                           ` Eli Zaretskii
2003-10-16 23:14                           ` Michael Snyder
2003-10-15 22:41                 ` Daniel Jacobowitz
2003-10-16  6:55                   ` Eli Zaretskii
2003-10-16 14:25                     ` Andrew Cagney
2003-10-16 16:02                       ` Eli Zaretskii
2003-10-16 23:24                         ` Michael Snyder
2003-10-17  6:46                           ` Eli Zaretskii
2003-10-17 21:38                             ` Michael Snyder
2003-10-18  8:43                               ` Eli Zaretskii
2003-10-20 18:48                                 ` Michael Snyder
2003-10-16 16:16                       ` Daniel Jacobowitz
2003-10-16 18:20                         ` Andrew Cagney
2003-10-16 23:26                           ` Totally OT Michael Snyder
2003-10-16 16:03                   ` RFA: Breakpoint infrastructure cleanups [0/8] David Carlton
2003-10-16 16:17                     ` Daniel Jacobowitz
2003-10-08 20:55     ` Elena Zannoni
2003-10-08 20:59       ` Daniel Jacobowitz
2003-10-09  6:09     ` Eli Zaretskii
2003-10-09 14:08       ` Daniel Jacobowitz
2003-10-09 17:02         ` Eli Zaretskii
2003-10-09 19:41           ` Daniel Jacobowitz
2003-10-19 16:43           ` Andrew Cagney
2003-10-09 19:33         ` Michael Snyder
2003-10-08 19:38   ` David Carlton
2003-10-08 21:00     ` Daniel Jacobowitz
2003-10-09  6:07     ` Eli Zaretskii
2003-10-08 18:26 ` Eli Zaretskii
2003-10-08 19:09   ` Daniel Jacobowitz
2003-10-19 15:55 ` Andrew Cagney
2003-10-19 16:39   ` Eli Zaretskii
2003-10-30  5:49     ` Daniel Jacobowitz
2003-11-03 18:00       ` Daniel Jacobowitz
2003-11-04 19:57       ` Michael Snyder

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox