aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/gdbserver')
-rw-r--r--gdb/gdbserver/ChangeLog11
-rw-r--r--gdb/gdbserver/win32-i386-low.c20
2 files changed, 19 insertions, 12 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 72b0e68..8264677 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,14 @@
+2011-11-07 Joel Brobecker <brobecker@adacore.com>
+
+ * win32-i386-low.c (dr_status_mirror, dr_control_mirror): Delete.
+ (i386_dr_low_get_control, i386_dr_low_get_status): Use
+ dr_status_mirror and dr_control_mirror from debug_reg_state.
+ (i386_dr_low_get_status): Use debug_reg_state.dr_status_mirror
+ (i386_initial_stuff): Remove use of deleted globals.
+ (i386_get_thread_context, i386_set_thread_context,
+ i386_thread_added): Use dr_status_mirror and dr_control_mirror
+ from debug_reg_state.
+
2011-11-05 Yao Qi <yao@codesourcery.com>
* tracepoint.c (gdb_collect): Loop over tracepoints of same
diff --git a/gdb/gdbserver/win32-i386-low.c b/gdb/gdbserver/win32-i386-low.c
index c29b9b0..19629c9 100644
--- a/gdb/gdbserver/win32-i386-low.c
+++ b/gdb/gdbserver/win32-i386-low.c
@@ -37,8 +37,6 @@ void init_registers_i386 (void);
#endif
static struct i386_debug_reg_state debug_reg_state;
-static unsigned dr_status_mirror;
-static unsigned dr_control_mirror;
static int debug_registers_changed = 0;
static int debug_registers_used = 0;
@@ -81,7 +79,7 @@ i386_dr_low_set_control (const struct i386_debug_reg_state *state)
unsigned
i386_dr_low_get_control (void)
{
- return dr_control_mirror;
+ return debug_reg_state.dr_control_mirror;
}
/* Get the value of the DR6 debug status register from the inferior
@@ -92,7 +90,7 @@ i386_dr_low_get_status (void)
{
/* We don't need to do anything here, the last call to thread_rec for
current_event.dwThreadId id has already set it. */
- return dr_status_mirror;
+ return debug_reg_state.dr_status_mirror;
}
/* Watchpoint support. */
@@ -150,8 +148,6 @@ i386_initial_stuff (void)
i386_low_init_dregs (&debug_reg_state);
debug_registers_changed = 0;
debug_registers_used = 0;
- dr_status_mirror = 0;
- dr_control_mirror = 0;
}
static void
@@ -190,8 +186,8 @@ i386_get_thread_context (win32_thread_info *th, DEBUG_EVENT* current_event)
dr->dr_mirror[1] = th->context.Dr1;
dr->dr_mirror[2] = th->context.Dr2;
dr->dr_mirror[3] = th->context.Dr3;
- dr_status_mirror = th->context.Dr6;
- dr_control_mirror = th->context.Dr7;
+ dr->dr_status_mirror = th->context.Dr6;
+ dr->dr_control_mirror = th->context.Dr7;
}
}
@@ -205,9 +201,9 @@ i386_set_thread_context (win32_thread_info *th, DEBUG_EVENT* current_event)
th->context.Dr1 = dr->dr_mirror[1];
th->context.Dr2 = dr->dr_mirror[2];
th->context.Dr3 = dr->dr_mirror[3];
- /* th->context.Dr6 = dr_status_mirror;
+ /* th->context.Dr6 = dr->dr_status_mirror;
FIXME: should we set dr6 also ?? */
- th->context.Dr7 = dr_control_mirror;
+ th->context.Dr7 = dr->dr_control_mirror;
}
SetThreadContext (th->h, &th->context);
@@ -227,9 +223,9 @@ i386_thread_added (win32_thread_info *th)
th->context.Dr1 = dr->dr_mirror[1];
th->context.Dr2 = dr->dr_mirror[2];
th->context.Dr3 = dr->dr_mirror[3];
- /* th->context.Dr6 = dr_status_mirror;
+ /* th->context.Dr6 = dr->dr_status_mirror;
FIXME: should we set dr6 also ?? */
- th->context.Dr7 = dr_control_mirror;
+ th->context.Dr7 = dr->dr_control_mirror;
SetThreadContext (th->h, &th->context);
th->context.ContextFlags = 0;