gdbarch software_single_step frame_info to regcache: cris
gdb: 2016-11-22 Yao Qi <yao.qi@linaro.org> * cris-tdep.c (find_step_target): Replace parameter frame with regcache. Call get_regcache_arch instead of get_frame_arch. Call regcache_raw_get_unsigned instead of get_frame_register_unsigned. (cris_software_single_step): Call get_regcache_arch instead of get_frame_arch.
This commit is contained in:
parent
7ab2d08740
commit
5b6e2eee08
|
@ -1,3 +1,12 @@
|
|||
2016-11-22 Yao Qi <yao.qi@linaro.org>
|
||||
|
||||
* cris-tdep.c (find_step_target): Replace parameter frame
|
||||
with regcache. Call get_regcache_arch instead of
|
||||
get_frame_arch. Call regcache_raw_get_unsigned instead of
|
||||
get_frame_register_unsigned.
|
||||
(cris_software_single_step): Call get_regcache_arch instead
|
||||
of get_frame_arch.
|
||||
|
||||
2016-11-22 Yao Qi <yao.qi@linaro.org>
|
||||
|
||||
* alpha-tdep.c (alpha_deal_with_atomic_sequence): Call
|
||||
|
|
|
@ -1989,25 +1989,25 @@ find_cris_op (unsigned short insn, inst_env_type *inst_env)
|
|||
actually an internal error. */
|
||||
|
||||
static int
|
||||
find_step_target (struct frame_info *frame, inst_env_type *inst_env)
|
||||
find_step_target (struct regcache *regcache, inst_env_type *inst_env)
|
||||
{
|
||||
int i;
|
||||
int offset;
|
||||
unsigned short insn;
|
||||
struct gdbarch *gdbarch = get_frame_arch (frame);
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
|
||||
/* Create a local register image and set the initial state. */
|
||||
for (i = 0; i < NUM_GENREGS; i++)
|
||||
{
|
||||
inst_env->reg[i] =
|
||||
(unsigned long) get_frame_register_unsigned (frame, i);
|
||||
(unsigned long) regcache_raw_get_unsigned (regcache, i);
|
||||
}
|
||||
offset = NUM_GENREGS;
|
||||
for (i = 0; i < NUM_SPECREGS; i++)
|
||||
{
|
||||
inst_env->preg[i] =
|
||||
(unsigned long) get_frame_register_unsigned (frame, offset + i);
|
||||
(unsigned long) regcache_raw_get_unsigned (regcache, offset + i);
|
||||
}
|
||||
inst_env->branch_found = 0;
|
||||
inst_env->slot_needed = 0;
|
||||
|
@ -2063,13 +2063,14 @@ find_step_target (struct frame_info *frame, inst_env_type *inst_env)
|
|||
static VEC (CORE_ADDR) *
|
||||
cris_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);
|
||||
inst_env_type inst_env;
|
||||
VEC (CORE_ADDR) *next_pcs = NULL;
|
||||
|
||||
/* Analyse the present instruction environment and insert
|
||||
breakpoints. */
|
||||
int status = find_step_target (frame, &inst_env);
|
||||
int status = find_step_target (regcache, &inst_env);
|
||||
if (status == -1)
|
||||
{
|
||||
/* Could not find a target. Things are likely to go downhill
|
||||
|
|
Loading…
Reference in New Issue