]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
gdb/
authorJoel Brobecker <brobecker@gnat.com>
Tue, 17 May 2011 21:23:26 +0000 (21:23 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Tue, 17 May 2011 21:23:26 +0000 (21:23 +0000)
commitc4f867459b7e9377c7b2191972cad342ea956c89
treefa3b2c0cc1098111e6e0a9855f315524ebfde382
parent8d5a09d5299f93f23a391e788247c206f20befc9
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