This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFC, v2] ARM support for Hardware breakpoints and watchpoints for native Linux.
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: uweigand at de dot ibm dot com (Ulrich Weigand)
- Cc: gdb-patches at sourceware dot org, Will dot Deacon at arm dot com (Will Deacon), matthew dot gretton-dann at arm dot com (Matthew Gretton-Dann)
- Date: Mon, 21 Feb 2011 16:08:21 +0100 (CET)
- Subject: Re: [RFC, v2] ARM support for Hardware breakpoints and watchpoints for native Linux.
> 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.
And I've checked this in as well.
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com