This is the mail archive of the gdb@sourceware.cygnus.com mailing list for the GDB project. See the GDB home page for more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: breakpoint extension for remote protocol



   Date: Mon, 04 Jan 1999 17:19:34 -0800
   From: "J.T. Conklin" <jtc@redbacknetworks.com>

   The reason I dislike the idea of GDB manipulating debug registers
   directly has more to do with the state of GDB's internals than it
   does with the concept itself.

Those who study recent snapshots will notice that we are doing some
internal cleanup that will make it easier to support CPU variants
without kludging.

My general principle for this kind of thing is that GDB should be able
to support both direct manipulation of target resources, as well as
the use of a target-side agent to do the same thing.  For instance, if
you want to use hardware watchpoint registers with a JTAG/BDM setup
that has no target-side agent at all, then GDB must do the register
manipulation itself.  Conversely, when interacting with a workstation
OS, GDB must (almost) always go through the OS to be successful.

Ideally, GDB would provide internal modules for operations that may be
hardware-specific, similar to mem-break, that backend writers can use
as needed, and it should provide interfaces to them through the target
vector.  We've been very inhibited about adding to the target vector
over the past couple years, but there is really no penalty for doing
so, and with the new setup strategy, it's possible to add fields
without tracking down and modifying every target_ops in sight.  So I
expect to see more things go through the proper internal interfaces,
rather than around them.

							Stan