1ced966e34
gdb/testsuite/ * gdb.arch/i386-dr3-watch.exp: Test that the i386 watchpoints backend doesn't leave used debug registers behind. gdb/gdbserver/ * i386-low.c (i386_insert_aligned_watchpoint): Don't pass the info to the inferior here. (i386_remove_aligned_watchpoint): Ditto. (i386_handle_nonaligned_watchpoint): Return immediate on fail to fit part of the watchpoint in the debug registers. (i386_update_inferior_debug_regs): New. (i386_low_insert_watchpoint): Work on a local mirror of the debug registers, and only update the inferior on success. (i386_low_remove_watchpoint): Ditto. gdb/ * i386-nat.c (I386_DR_VACANT, I386_DR_LOCAL_ENABLE) (I386_DR_GLOBAL_ENABLE, I386_DR_DISABLE, I386_DR_SET_RW_LEN) (I386_DR_GET_RW_LEN, I386_DR_WATCH_HIT): Add state parameter and adjust. (dr_mirror, dr_status_mirror, dr_control_mirror): Delete. (struct i386_debug_reg_state): New. (i386_init_dregs): New. (dr_mirror): New. (i386_cleanup_dregs): Use i386_init_dregs. (i386_show_dr): Add state parameter and adjust. (i386_insert_aligned_watchpoint): Ditto. Don't pass the info to the inferior here. (i386_remove_aligned_watchpoint): Likewise. (i386_handle_nonaligned_watchpoint): Add state parameter and adjust. (i386_update_inferior_debug_regs): New. (i386_insert_watchpoint): Work on a local mirror of the debug registers, and only update the inferior on success. (i386_remove_watchpoint): Ditto. (i386_region_ok_for_watchpoint): Adjust. (i386_stopped_data_address): Adjust. (i386_insert_hw_breakpoint): Adjust. (i386_remove_hw_breakpoint): Adjust. |
||
---|---|---|
.. | ||
alpha-step.c | ||
alpha-step.exp | ||
altivec-abi.c | ||
altivec-abi.exp | ||
altivec-regs.c | ||
altivec-regs.exp | ||
amd64-byte.exp | ||
amd64-disp-step.exp | ||
amd64-disp-step.S | ||
amd64-dword.exp | ||
amd64-i386-address.exp | ||
amd64-i386-address.S | ||
amd64-pseudo.c | ||
amd64-word.exp | ||
arm-disp-step.exp | ||
arm-disp-step.S | ||
e500-abi.c | ||
e500-abi.exp | ||
e500-prologue.c | ||
e500-prologue.exp | ||
e500-regs.c | ||
e500-regs.exp | ||
gcore.c | ||
gdb1291.exp | ||
gdb1291.s | ||
gdb1431.exp | ||
gdb1431.s | ||
gdb1558.c | ||
gdb1558.exp | ||
i386-avx.c | ||
i386-avx.exp | ||
i386-bp_permanent.exp | ||
i386-byte.exp | ||
i386-cpuid.h | ||
i386-disp-step.exp | ||
i386-disp-step.S | ||
i386-dr3-watch.c | ||
i386-dr3-watch.exp | ||
i386-gnu-cfi-asm.S | ||
i386-gnu-cfi.c | ||
i386-gnu-cfi.exp | ||
i386-permbkpt.exp | ||
i386-permbkpt.S | ||
i386-prologue.c | ||
i386-prologue.exp | ||
i386-pseudo.c | ||
i386-signal.c | ||
i386-signal.exp | ||
i386-size-overlap.c | ||
i386-size-overlap.exp | ||
i386-size.c | ||
i386-size.exp | ||
i386-sse.c | ||
i386-sse.exp | ||
i386-unwind.c | ||
i386-unwind.exp | ||
i386-word.exp | ||
ia64-breakpoint-shadow.exp | ||
ia64-breakpoint-shadow.S | ||
iwmmxt-regs.c | ||
iwmmxt-regs.exp | ||
Makefile.in | ||
pa-nullify.exp | ||
pa-nullify.s | ||
pa64-nullify.s | ||
powerpc-aix-prologue.c | ||
powerpc-aix-prologue.exp | ||
powerpc-d128-regs.c | ||
powerpc-d128-regs.exp | ||
powerpc-prologue.c | ||
powerpc-prologue.exp | ||
ppc-dfp.c | ||
ppc-dfp.exp | ||
ppc-fp.c | ||
ppc-fp.exp | ||
ppc64-atomic-inst.c | ||
ppc64-atomic-inst.exp | ||
spu-info.c | ||
spu-info.exp | ||
spu-ls.c | ||
spu-ls.exp | ||
system-gcore.exp | ||
thumb-prologue.c | ||
thumb-prologue.exp | ||
thumb-singlestep.exp | ||
thumb-singlestep.S | ||
thumb2-it.exp | ||
thumb2-it.S | ||
vsx-regs.c | ||
vsx-regs.exp |