diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index f26620baff..f2d41d821f 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,9 @@ +2013-02-07 Marcus Shawcroft + + * linux-aarch64-low.c (aarch64_arch_setup): Clamp + aarch64_num_wp_regs and aarch64_num_bp_regs to + AARCH64_HWP_MAX_NUM and AARCH64_HBP_MAX_NUM respectively. + 2013-02-07 Marcus Shawcroft * linux-aarch64-low.c (ps_get_thread_area): Replace diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdb/gdbserver/linux-aarch64-low.c index 883277c3a4..9dcfc55faa 100644 --- a/gdb/gdbserver/linux-aarch64-low.c +++ b/gdb/gdbserver/linux-aarch64-low.c @@ -1202,10 +1202,13 @@ aarch64_arch_setup (void) && AARCH64_DEBUG_ARCH (dreg_state.dbg_info) == AARCH64_DEBUG_ARCH_V8) { aarch64_num_wp_regs = AARCH64_DEBUG_NUM_SLOTS (dreg_state.dbg_info); - if (aarch64_num_wp_regs > AARCH64_HBP_MAX_NUM) - warning ("Unexpected number of hardware watchpoint registers reported" - " by ptrace, got %d, expected %d.", - aarch64_num_wp_regs, AARCH64_HBP_MAX_NUM); + if (aarch64_num_wp_regs > AARCH64_HWP_MAX_NUM) + { + warning ("Unexpected number of hardware watchpoint registers reported" + " by ptrace, got %d, expected %d.", + aarch64_num_wp_regs, AARCH64_HWP_MAX_NUM); + aarch64_num_wp_regs = AARCH64_HWP_MAX_NUM; + } } else { @@ -1220,9 +1223,12 @@ aarch64_arch_setup (void) { aarch64_num_bp_regs = AARCH64_DEBUG_NUM_SLOTS (dreg_state.dbg_info); if (aarch64_num_bp_regs > AARCH64_HBP_MAX_NUM) - warning ("Unexpected number of hardware breakpoint registers reported" - " by ptrace, got %d, expected %d.", - aarch64_num_bp_regs, AARCH64_HBP_MAX_NUM); + { + warning ("Unexpected number of hardware breakpoint registers reported" + " by ptrace, got %d, expected %d.", + aarch64_num_bp_regs, AARCH64_HBP_MAX_NUM); + aarch64_num_bp_regs = AARCH64_HBP_MAX_NUM; + } } else {