PR breakpoints/11531.
authorPierre Muller <muller@sourceware.org>
Mon, 26 Apr 2010 12:01:44 +0000 (12:01 +0000)
committerPierre Muller <muller@sourceware.org>
Mon, 26 Apr 2010 12:01:44 +0000 (12:01 +0000)
* config/i386/nm-i386sol2.h (CANNOT_STEP_HW_WATCHPOINTS): Remove
macro definition and related comment.
* infrun.c (CANNOT_STEP_HW_WATCHPOINTS): Remove macro.
(resume): Remove code and comment related to this macro.

doc ChangeLog entry:
* gdbint.texinfo (CANNOT_STEP_HW_WATCHPOINTS): Remove explanation
of macro deleted from GDB code.

gdb/ChangeLog
gdb/config/i386/nm-i386sol2.h
gdb/doc/ChangeLog
gdb/doc/gdbint.texinfo
gdb/infrun.c

index b3e61bc..6734f15 100644 (file)
@@ -1,3 +1,11 @@
+2010-04-26  Pierre Muller  <muller@ics.u-strasbg.fr>
+
+       PR breakpoints/11531.
+       * config/i386/nm-i386sol2.h (CANNOT_STEP_HW_WATCHPOINTS): Remove
+       macro definition and related comment.
+       * infrun.c (CANNOT_STEP_HW_WATCHPOINTS): Remove macro.
+       (resume): Remove code and comment related to this macro.
+
 2010-04-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        * cp-namespace.c (cp_lookup_symbol_in_namespace): Fix alloca size.
index 6ff0afb..8540e9e 100644 (file)
 
 #ifdef NEW_PROC_API    /* Solaris 6 and above can do HW watchpoints */
 
-/* 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.  */
-#define CANNOT_STEP_HW_WATCHPOINTS
-
 #endif /* NEW_PROC_API */
index ff59559..f4d5050 100644 (file)
@@ -1,3 +1,8 @@
+2010-04-26  Pierre Muller  <muller@ics.u-strasbg.fr>
+
+       * gdbint.texinfo (CANNOT_STEP_HW_WATCHPOINTS): Remove explanation
+       of macro deleted from GDB code.
+
 2010-04-24  Pedro Alves  <pedro@codesourcery.com>
 
        * gdb.texinfo (Commands to specify files): Describe what how GDB
index 534eddf..d9a4a95 100644 (file)
@@ -781,11 +781,6 @@ inferior after a watchpoint has been hit.  This is usually set
 when watchpoints trigger at the instruction following an interesting
 read or write.
 
-@findex CANNOT_STEP_HW_WATCHPOINTS
-@item CANNOT_STEP_HW_WATCHPOINTS
-If this is defined to a non-zero value, @value{GDBN} will remove all
-watchpoints before stepping the inferior.
-
 @findex STOPPED_BY_WATCHPOINT
 @item STOPPED_BY_WATCHPOINT (@var{wait_status})
 Return non-zero if stopped by a watchpoint.  @var{wait_status} is of
index 5f58759..5882cb8 100644 (file)
@@ -179,16 +179,6 @@ show_debug_infrun (struct ui_file *file, int from_tty,
 #endif
 
 
-/* Convert the #defines into values.  This is temporary until wfi control
-   flow is completely sorted out.  */
-
-#ifndef CANNOT_STEP_HW_WATCHPOINTS
-#define CANNOT_STEP_HW_WATCHPOINTS 0
-#else
-#undef  CANNOT_STEP_HW_WATCHPOINTS
-#define CANNOT_STEP_HW_WATCHPOINTS 1
-#endif
-
 /* Tables of how to react to signals; the user sets them.  */
 
 static unsigned char *signal_stop;
@@ -1484,18 +1474,6 @@ resume (int step, enum target_signal sig)
                        "trap_expected=%d\n",
                        step, sig, tp->trap_expected);
 
-  /* Some targets (e.g. Solaris x86) 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.  */
-  if (CANNOT_STEP_HW_WATCHPOINTS && step)
-    remove_hw_watchpoints ();
-
-
   /* Normally, by the time we reach `resume', the breakpoints are either
      removed or inserted, as appropriate.  The exception is if we're sitting
      at a permanent breakpoint; we need to step over it, but permanent