2011-02-16 Yao Qi <yao@qiyaows>
* infrun.c (get_displaced_step_closure_by_addr): New. * inferior.h: Declare it. * arm-tdep.c: (arm_pc_is_thumb): Call get_displaced_step_closure_by_addr. Adjust MEMADDR if it returns non-NULL.
This commit is contained in:
parent
3dfcbbd281
commit
a42244dbec
4 changed files with 42 additions and 0 deletions
18
gdb/infrun.c
18
gdb/infrun.c
|
@ -1078,6 +1078,24 @@ add_displaced_stepping_state (int pid)
|
|||
return state;
|
||||
}
|
||||
|
||||
/* If inferior is in displaced stepping, and ADDR equals to starting address
|
||||
of copy area, return corresponding displaced_step_closure. Otherwise,
|
||||
return NULL. */
|
||||
|
||||
struct displaced_step_closure*
|
||||
get_displaced_step_closure_by_addr (CORE_ADDR addr)
|
||||
{
|
||||
struct displaced_step_inferior_state *displaced
|
||||
= get_displaced_stepping_state (ptid_get_pid (inferior_ptid));
|
||||
|
||||
/* If checking the mode of displaced instruction in copy area. */
|
||||
if (displaced && !ptid_equal (displaced->step_ptid, null_ptid)
|
||||
&& (displaced->step_copy == addr))
|
||||
return displaced->step_closure;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Remove the displaced stepping state of process PID. */
|
||||
|
||||
static void
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue