From 9b4f1ba7ede77d776fabb9642cbeef5091e38e1d Mon Sep 17 00:00:00 2001 From: Pierre Muller Date: Thu, 4 Jul 2002 12:32:29 +0000 Subject: [PATCH] 2002-07-04 Pierre Muller * 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. --- gdb/ChangeLog | 9 +++++++++ gdb/config/i386/nm-i386.h | 4 ++++ gdb/i386-nat.c | 8 ++++++++ 3 files changed, 21 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 513ae245599..9a7d8e9aa26 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2002-07-04 Pierre Muller + + * 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 * 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 500bf7b5942..eed05a476fa 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 adf220bba73..53a81a463eb 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. */ -- 2.30.2