Save the length of inserted breakpoints

Daniel Jacobowitz drow@false.org
Sat Mar 4 14:58:00 GMT 2006


On Sat, Mar 04, 2006 at 11:23:04AM +0200, Eli Zaretskii wrote:
> > Date: Fri, 3 Mar 2006 17:10:03 -0500
> > From: Daniel Jacobowitz <drow@false.org>
> > 
> > For the record, it is not a target with peculiarities.  It's an
> > architecture with a feature
> 
> I don't see the difference.  One man's feature is another's
> peculiarity.

My real point was that it's not a target but an architecture.

> > There's a division in GDB between the target, which is a method of
> > communication et cetera ("how"), and the architecture, which describes
> > "what" is being debugged.
> 
> Btw, is this division described anywhere?

Yes, extensively, in gdbint.

> > The architecture says "the breakpoint at 0x8000 should be 2 bytes
> > long".  The target sets the breakpoint.  The target goes to remove the
> > breakpoint, and needs to know how long it was when it was set.
> 
> If the issue at hand is just between the architecture and the target,
> then why you had to touch breakpoint.[ch] in your patch?  AFAIK,
> breakpoint.c belongs to the higher-level GDB layer, above both the
> target and the architecture, isn't that so?

Targets and architectures try to be completely independent from each
other.  The core of GDB uses targets, and uses architectures (and
they use each other, but to a lesser degree, and through the
architecture and target vector abstractions).

The architecture doesn't call target_remove_breakpoint, so if we
want to pass more information from one to the other, it has to go
through breakpoint.c.

Anyway, the horse is dead!  Mark didn't like the patch, and had some
suggestions.  You didn't like the patch either.  I'll find another way.
It will probably be an even larger diff.

The CPSR support is turning out to be a remarkable pain for such a
simple change.

-- 
Daniel Jacobowitz
CodeSourcery



More information about the Gdb-patches mailing list