This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [rfc, arm] Always use correct execution state for single-step breakpoints
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: gdb-patches at sourceware dot org
- Cc: matthew dot gretton-dann at arm dot com, patches at linaro dot org
- Date: Fri, 1 Apr 2011 13:58:44 +0200 (CEST)
- Subject: Re: [rfc, arm] Always use correct execution state for single-step breakpoints
> gdb/
> * arm-tdep.h (arm_insert_single_step_breakpoint): Add prototype.
> * arm-tdep.c (arm_override_mode): New global.
> (arm_pc_is_thumb): Respect arm_override_mode. Remove single-step
> execution mode heuristics.
> (thumb_get_next_pc_raw): Remove INSERT_BKTP argument; always insert
> second single-step breakpoint if needed, using
> arm_insert_single_step_breakpoint.
> (arm_get_next_pc_raw): Remove INSERT_BKTP argument. Only handle
> ARM execution mode, do not call thumb_get_next_pc_raw.
> (arm_get_next_pc): Encode execution mode in return value. Call
> either arm_get_next_pc_raw or thumb_get_next_pc_raw.
> (arm_insert_single_step_breakpoint): New function.
> (arm_software_single_step): Call it.
> * arm-linux-tdep.c (arm_linux_sigreturn_return_addr): Add IS_THUMB
> argument to return execution mode of sigreturn target.
> (arm_linux_syscall_next_pc): Use it.
> (arm_linux_copy_svc): Update call.
> (arm_linux_software_single_step): Call
> arm_insert_single_step_breakpoint.
>
> gdb/testsuite/
> * gdb.arch/thumb-singlestep.S: New file.
> * gdb.arch/thumb-singlestep.exp: Likewise.
I've checked this in now.
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com