OSDN Git Service

gdb/
authoruweigand <uweigand>
Fri, 1 Apr 2011 11:57:00 +0000 (11:57 +0000)
committeruweigand <uweigand>
Fri, 1 Apr 2011 11:57:00 +0000 (11:57 +0000)
commit36e529bd64e9a5646a77e6bccf9bc9b72aed7ea0
treeb7db23df9e2d494332194c043d5869b35cc7b033
parent6040092ca60fb5fd4385b62480c7ed4636ff2c4d
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]