This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Question about solaris CANNOT_STEP_HW_WATCHPOINTS macro


   The macro
CANNOT_STEP_HW_WATCHPOINTS
is currently only defined at one location 
in the whole gdb sources:
gdb/config/i386/nm-i386sol2.h
with the following comment:
/* Solaris x86 2.6 and 2.7 targets have a kernel bug when stepping
   over an instruction that causes a page fault without triggering
   a hardware watchpoint. The kernel properly notices that it shouldn't
   stop, because the hardware watchpoint is not triggered, but it forgets
   the step request and continues the program normally.
   Work around the problem by removing hardware watchpoints if a step is
   requested, GDB will check for a hardware watchpoint trigger after the
   step anyway.  */

  I would like to know if any of the solaris gurus
around knows if this bug is still present in newer version of the solaris
kernel or at which version it has been fixed.

  I looked into OpenSolaris sources,
but watchpoint.c (which is where I suspect 
hardware watchpoints are handled)
was not updated since OpenSolaris launch in June 2005.

  On the other hand, the macro 
seems to have been introduced into the configuration file
back in April 2000 (revision 1.3 of current CVS tree).
  So this leaves about 5 years for a possible fix inside
the Solaris kernel.

  If this bug has been solve before 2.9 version of Solaris,
would it be reasonable to just drop that code out?

  Pieter, did you consider that issue when writing the
gdbserver port for Solaris?


Pierre Muller
Pascal language support maintainer for GDB



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