diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 72b0e68cee..8264677ef9 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,14 @@ +2011-11-07 Joel Brobecker + + * 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 * 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 c29b9b040e..19629c9ef8 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;