aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Muller <muller@sourceware.org>2010-04-26 12:01:44 +0000
committerPierre Muller <muller@sourceware.org>2010-04-26 12:01:44 +0000
commitb7da9e9f5f446695243846d70c34d9a19c9c961c (patch)
tree45223e432e8f4f3a32f7cf1cce10f6ccf548285e
parent72f6eb52adb99e35744f8b02ce57bcd5b760cfa2 (diff)
downloadgdb-b7da9e9f5f446695243846d70c34d9a19c9c961c.zip
gdb-b7da9e9f5f446695243846d70c34d9a19c9c961c.tar.gz
gdb-b7da9e9f5f446695243846d70c34d9a19c9c961c.tar.bz2
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. doc ChangeLog entry: * gdbint.texinfo (CANNOT_STEP_HW_WATCHPOINTS): Remove explanation of macro deleted from GDB code.
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/config/i386/nm-i386sol2.h10
-rw-r--r--gdb/doc/ChangeLog5
-rw-r--r--gdb/doc/gdbint.texinfo5
-rw-r--r--gdb/infrun.c22
5 files changed, 13 insertions, 37 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b3e61bc..6734f15 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/config/i386/nm-i386sol2.h b/gdb/config/i386/nm-i386sol2.h
index 6ff0afb..8540e9e 100644
--- a/gdb/config/i386/nm-i386sol2.h
+++ b/gdb/config/i386/nm-i386sol2.h
@@ -19,14 +19,4 @@
#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 */
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index ff59559..f4d5050 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -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
diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo
index 534eddf..d9a4a95 100644
--- a/gdb/doc/gdbint.texinfo
+++ b/gdb/doc/gdbint.texinfo
@@ -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
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 5f58759..5882cb8 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -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