diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2011-02-21 15:03:38 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2011-02-21 15:03:38 +0000 |
commit | e3039479e46e9f44694c705075f068a196b390e2 (patch) | |
tree | 8b7ebe89bc1dd9f87f6ad65f7b288c8e9eefc6b1 /gdb/arm-tdep.c | |
parent | b5db5dfca6f92992b540eaf2fac00f4340f64fa9 (diff) | |
download | gdb-e3039479e46e9f44694c705075f068a196b390e2.zip gdb-e3039479e46e9f44694c705075f068a196b390e2.tar.gz gdb-e3039479e46e9f44694c705075f068a196b390e2.tar.bz2 |
ChangeLog:
* arm-linux-nat.c: Include "observer.h" and "gdbthread.h".
(PTRACE_GETHBPREGS, PTRACE_SETHBPREGS): Define.
(struct arm_linux_hwbp_cap): New type.
(arm_linux_get_hwbp_cap): New function.
(arm_linux_get_hw_breakpoint_count): Likewise.
(arm_linux_get_hw_watchpoint_count): Likewise.
(arm_linux_can_use_hw_breakpoint): Likewise.
(arm_hwbp_type): New type.
(arm_hwbp_control_t): Likewise.
(struct arm_linux_hw_breakpoint): Likewise.
(struct arm_linux_thread_points): Likewise.
(arm_threads): New global variable.
(arm_linux_find_breakpoints_by_tid): New function.
(arm_hwbp_control_initialize): Likewise.
(arm_hwbp_control_is_enabled): Likewise.
(arm_hwbp_control_disable): Likewise.
(arm_linux_hw_breakpoint_initialize): Likewise.
(arm_linux_get_hwbp_type): Likewise.
(arm_linux_hw_watchpoint_initialize): Likewise.
(arm_linux_hw_breakpoint_equal): Likewise.
(arm_linux_insert_hw_breakpoint1): Likewise.
(arm_linux_remove_hw_breakpoint1): Likewise.
(arm_linux_insert_hw_breakpoint): Likewise.
(arm_linux_remove_hw_breakpoint): Likewise.
(arm_linux_region_ok_for_hw_watchpoint): Likewise.
(arm_linux_insert_watchpoint): Likewise.
(arm_linux_remove_watchpoint): Likewise.
(arm_linux_stopped_data_address): Likewise.
(arm_linux_stopped_by_watchpoint): Likewise.
(arm_linux_watchpoint_addr_within_range): Likewise.
(arm_linux_new_thread): Likewise.
(arm_linux_thread_exit): Likewise.
(_initialize_arm_linux_nat): Install hardware breakpoint/watchpoint
related target callbacks. Register arm_linux_new_thread and
arm_linux_thread_exit.
* arm-tdep.h (arm_pc_is_thumb): Add prototype.
* arm-tdep.c (arm_pc_is_thumb): Make global.
(arm_gdbarch_init): Call set_gdbarch_have_nonsteppable_watchpoint.
testsuite/ChangeLog:
* lib/gdb.exp (skip_hw_breakpoint_tests): Add arm*-*-* target.
(skip_hw_watchpoint_tests): Likewise.
(skip_hw_watchpoint_multi_tests): Likewise.
Diffstat (limited to 'gdb/arm-tdep.c')
-rw-r--r-- | gdb/arm-tdep.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index 16334bf..f0e9435 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -363,7 +363,7 @@ static CORE_ADDR arm_get_next_pc_raw (struct frame_info *frame, function. This function should be called for addresses unrelated to any executing frame; otherwise, prefer arm_frame_is_thumb. */ -static int +int arm_pc_is_thumb (struct gdbarch *gdbarch, CORE_ADDR memaddr) { struct obj_section *sec; @@ -8553,6 +8553,9 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) if (tdep->arm_abi == ARM_ABI_AUTO) tdep->arm_abi = ARM_ABI_APCS; + /* Watchpoints are not steppable. */ + set_gdbarch_have_nonsteppable_watchpoint (gdbarch, 1); + /* We used to default to FPA for generic ARM, but almost nobody uses that now, and we now provide a way for the user to force the model. So default to the most useful variant. */ |