aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorPierre Muller <muller@sourceware.org>2002-07-04 12:32:29 +0000
committerPierre Muller <muller@sourceware.org>2002-07-04 12:32:29 +0000
commit9b4f1ba7ede77d776fabb9642cbeef5091e38e1d (patch)
treedf7bb7bfc72439b14137ea173ad545260a35fe5d /gdb
parent00f8375eddd0063911d7181574bf1fec7fec491b (diff)
downloadgdb-9b4f1ba7ede77d776fabb9642cbeef5091e38e1d.zip
gdb-9b4f1ba7ede77d776fabb9642cbeef5091e38e1d.tar.gz
gdb-9b4f1ba7ede77d776fabb9642cbeef5091e38e1d.tar.bz2
2002-07-04 Pierre Muller <muller@ics.u-strasbg.fr>
* i386-nat.c (child_post_startup_inferior): New function calling i386_cleanup_dregs if I386_USE_GENERIC_WATCHPOINTS is defined. * config/i386/nm-i386.h: define CHILD_POST_STARTUP_INFERIOR conditional to acknowledge that i386-nat.c has its own child_post_startup_inferior function.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/config/i386/nm-i386.h4
-rw-r--r--gdb/i386-nat.c8
3 files changed, 21 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 513ae24..9a7d8e9 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,12 @@
+2002-07-04 Pierre Muller <muller@ics.u-strasbg.fr>
+
+ * i386-nat.c (child_post_startup_inferior): New function
+ calling i386_cleanup_dregs if
+ I386_USE_GENERIC_WATCHPOINTS is defined.
+ * config/i386/nm-i386.h: define CHILD_POST_STARTUP_INFERIOR
+ conditional to acknowledge that i386-nat.c has its
+ own child_post_startup_inferior function.
+
2002-07-04 Mark Kettenis <kettenis@gnu.org>
* i386-tdep.h (I386_MAX_REGISTER_SIZE): New define.
diff --git a/gdb/config/i386/nm-i386.h b/gdb/config/i386/nm-i386.h
index 500bf7b..eed05a4 100644
--- a/gdb/config/i386/nm-i386.h
+++ b/gdb/config/i386/nm-i386.h
@@ -115,6 +115,10 @@ extern int i386_remove_hw_breakpoint (CORE_ADDR addr, void *shadow);
#define DECR_PC_AFTER_HW_BREAK 0
+/* child_post_startup_inferior used to
+ reset all debug registers by calling i386_cleanup_dregs (). */
+#define CHILD_POST_STARTUP_INFERIOR
+
#endif /* I386_USE_GENERIC_WATCHPOINTS */
#endif /* NM_I386_H */
diff --git a/gdb/i386-nat.c b/gdb/i386-nat.c
index adf220b..53a81a4 100644
--- a/gdb/i386-nat.c
+++ b/gdb/i386-nat.c
@@ -230,6 +230,14 @@ i386_cleanup_dregs (void)
dr_status_mirror = 0;
}
+/* Reset all debug registers at each new startup
+ to avoid missing watchpoints after restart. */
+void
+child_post_startup_inferior (ptid_t ptid)
+{
+ i386_cleanup_dregs ();
+}
+
/* Print the values of the mirrored debug registers.
This is called when maint_show_dr is non-zero. To set that
up, type "maint show-debug-regs" at GDB's prompt. */