]> Git Repo - binutils.git/commitdiff
PR breakpoints/11531.
authorPierre Muller <[email protected]>
Mon, 26 Apr 2010 12:01:44 +0000 (12:01 +0000)
committerPierre Muller <[email protected]>
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 b3e61bcc78c6ad658544bbbe555023cab0cb6c71..6734f150f1167c75244fe93e25260e4119cb00d4 100644 (file)
@@ -1,3 +1,11 @@
+2010-04-26  Pierre Muller  <[email protected]>
+
+       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  <[email protected]>
 
        * cp-namespace.c (cp_lookup_symbol_in_namespace): Fix alloca size.
 2010-04-26  Jan Kratochvil  <[email protected]>
 
        * cp-namespace.c (cp_lookup_symbol_in_namespace): Fix alloca size.
index 6ff0afb17cac0a16deee93514abe8dda63ffee28..8540e9e56f37c2e6b26298dc7f67c022a22ab31a 100644 (file)
 
 #ifdef NEW_PROC_API    /* Solaris 6 and above can do HW watchpoints */
 
 
 #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 */
 #endif /* NEW_PROC_API */
index ff59559eaeee888a3e9006fc269463dbc38196d9..f4d5050ddf9b88814efef818a4c87524bce9ada5 100644 (file)
@@ -1,3 +1,8 @@
+2010-04-26  Pierre Muller  <[email protected]>
+
+       * gdbint.texinfo (CANNOT_STEP_HW_WATCHPOINTS): Remove explanation
+       of macro deleted from GDB code.
+
 2010-04-24  Pedro Alves  <[email protected]>
 
        * gdb.texinfo (Commands to specify files): Describe what how GDB
 2010-04-24  Pedro Alves  <[email protected]>
 
        * gdb.texinfo (Commands to specify files): Describe what how GDB
index 534eddf5ec1b4ef8906cd8263071ccb97a0b160e..d9a4a9590f2940370a57966866a398bd3e011f68 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.
 
 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
 @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 5f5875957d06e8e66d52f86065de600f0789b022..5882cb81357cf10357acaca78be185783f8b973b 100644 (file)
@@ -179,16 +179,6 @@ show_debug_infrun (struct ui_file *file, int from_tty,
 #endif
 
 
 #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;
 /* 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);
 
                        "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
   /* 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
This page took 0.093959 seconds and 4 git commands to generate.