gdbarch software_single_step frame_info to regcache: aarch64

Use regcache in software_single_step.

gdb:

2016-11-22  Yao Qi  <yao.qi@linaro.org>

	* aarch64-tdep.c (aarch64_software_single_step): Call
	get_regcache_arch instead of get_frame_arch.  Call
	regcache_read_pc instead of get_frame_pc.
This commit is contained in:
Yao Qi 2016-11-22 14:05:04 +00:00
parent 9fd15b2e80
commit 0187a92f57
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2016-11-22 Yao Qi <yao.qi@linaro.org>
* aarch64-tdep.c (aarch64_software_single_step): Call
get_regcache_arch instead of get_frame_arch. Call
regcache_read_pc instead of get_frame_pc.
2016-11-22 Yao Qi <yao.qi@linaro.org>
* regcache.c (regcache_raw_get_signed): New function.

View File

@ -2227,11 +2227,12 @@ value_of_aarch64_user_reg (struct frame_info *frame, const void *baton)
static VEC (CORE_ADDR) *
aarch64_software_single_step (struct frame_info *frame)
{
struct gdbarch *gdbarch = get_frame_arch (frame);
struct regcache *regcache = get_current_regcache ();
struct gdbarch *gdbarch = get_regcache_arch (regcache);
enum bfd_endian byte_order_for_code = gdbarch_byte_order_for_code (gdbarch);
const int insn_size = 4;
const int atomic_sequence_length = 16; /* Instruction sequence length. */
CORE_ADDR pc = get_frame_pc (frame);
CORE_ADDR pc = regcache_read_pc (regcache);
CORE_ADDR breaks[2] = { -1, -1 };
CORE_ADDR loc = pc;
CORE_ADDR closing_insn = 0;