diff options
author | Yao Qi <yao@codesourcery.com> | 2011-03-02 05:33:37 +0000 |
---|---|---|
committer | Yao Qi <yao@codesourcery.com> | 2011-03-02 05:33:37 +0000 |
commit | 4db71c0b79ff7e89a392f903f39251faa795d69c (patch) | |
tree | 26ddf74e3e17c971de0a18e454e8ca45c1762326 /gdb/arm-tdep.h | |
parent | b123da992dccc40b825d0967f7701f31b0f7e82a (diff) | |
download | gdb-4db71c0b79ff7e89a392f903f39251faa795d69c.zip gdb-4db71c0b79ff7e89a392f903f39251faa795d69c.tar.gz gdb-4db71c0b79ff7e89a392f903f39251faa795d69c.tar.bz2 |
2011-03-02 Yao Qi <yao@codesourcery.com>
* arm-tdep.h (struct displaced_step_closure): Add two new fields
is_thumb and insn_size.
* arm-tdep.c (displaced_read_reg): Adjust correct pipeline offset
on both ARM and Thumb mode.
(arm_process_displaced_insn): Set is_thumb and insn_size.
(arm_displaced_init_closure): Handle both 16-bit and 32-bit.
(arm_displaced_step_fixup): Likewise.
Diffstat (limited to 'gdb/arm-tdep.h')
-rw-r--r-- | gdb/arm-tdep.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/arm-tdep.h b/gdb/arm-tdep.h index de3f6cc..362be2e 100644 --- a/gdb/arm-tdep.h +++ b/gdb/arm-tdep.h @@ -262,6 +262,17 @@ struct displaced_step_closure struct displaced_step_closure *dsc); } svc; } u; + + /* The size of original instruction, 2 or 4. */ + unsigned int insn_size; + /* True if the original insn (and thus all replacement insns) are Thumb + instead of ARM. */ + unsigned int is_thumb; + + /* The slots in the array is used in this way below, + - ARM instruction occupies one slot, + - Thumb 16 bit instruction occupies one slot, + - Thumb 32-bit instruction occupies *two* slots, one part for each. */ unsigned long modinsn[DISPLACED_MODIFIED_INSNS]; int numinsns; CORE_ADDR insn_addr; |