About unified debug register handling for i386 CPU.

Pierre Muller muller@cerbere.u-strasbg.fr
Wed Sep 6 04:55:00 GMT 2000


  Just a short comment to remind everyone that 
at least in DPMI you don't have direct access to the debug register.
  (Imagine for instance that you debug gdb with itself
and place a hardware watchpoint on the top-gdb,
only 3 hardware debug registers are available to
the second gdb, but you will only notice that by a failure
to set the fourth hardware register !)

  Thus handling them as normal registers,
by changing individual values, can 
lead to unconsitant states that can not be really passed
to the DPMI provider. For that reason, I think they should not
be changeable by GDB if GDB can not transmit the changed values
to the running process (No ideas of what Linux
allows here).

  Moreover, I don't think that most people will care about 
having debug registers listed on 'info all' command.
Maybe 'info debug-register' would be a better solution here.

  Remember also that the win32 API does not support 
hardware debug registers, so adding them to the cygwin target
would be very wrong... unless someone writes
some device driver that could be called by i386 win32 gdb executable
to set hardware registers (I think that there are
some VXD functions for this).

PS: Sorry if that mail arrives after Eli's answer,
it is because my home ISP providers sendmail server is on the 
black list of cygnus (probably due to some spam e-mail from the same
provider :(  )



Pierre Muller
Institut Charles Sadron
6,rue Boussingault
F 67083 STRASBOURG CEDEX (France)
mailto:muller@ics.u-strasbg.fr
Phone : (33)-3-88-41-40-07  Fax : (33)-3-88-41-40-99


More information about the Gdb mailing list