gdb/
authorUlrich Weigand <uweigand@de.ibm.com>
Fri, 1 Apr 2011 11:57:03 +0000 (11:57 +0000)
committerUlrich Weigand <uweigand@de.ibm.com>
Fri, 1 Apr 2011 11:57:03 +0000 (11:57 +0000)
commit18819fa6ffa0c1b99a7e378b625e4aca04707bfe
treeb2ed66f9c764c9407abcc82e4c06de6eff6ef6b6
parent592588f3f8da9c17397807caeb3ed66039784ecc
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.
gdb/ChangeLog
gdb/arm-linux-tdep.c
gdb/arm-tdep.c
gdb/arm-tdep.h
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.arch/thumb-singlestep.S [new file with mode: 0644]
gdb/testsuite/gdb.arch/thumb-singlestep.exp [new file with mode: 0644]