diff options
author | Victor Kamensky <victor.kamensky@linaro.org> | 2014-11-02 13:28:35 -0800 |
---|---|---|
committer | Victor Kamensky <victor.kamensky@linaro.org> | 2014-11-02 13:29:45 -0800 |
commit | 2959fed98cf1b1fd32516194619a5edbdf6a41a3 (patch) | |
tree | de4d8efd0474d3ba34c416a281229c6506949dce /gdb/arm-tdep.c | |
parent | 6ce8c98020188a7585c24db289191c5c10371e58 (diff) | |
download | gdb-2959fed98cf1b1fd32516194619a5edbdf6a41a3.zip gdb-2959fed98cf1b1fd32516194619a5edbdf6a41a3.tar.gz gdb-2959fed98cf1b1fd32516194619a5edbdf6a41a3.tar.bz2 |
ARM: extract_arm_insn function need to read instrs correctly in be8 case
extract_arm_insn function needs to read instructions in
gdbarch_byte_order_for_code byte order, because in case armv7b,
even data is big endian, instructions are still little endian.
Currently function uses gdbarch_byte_order which would be
big endian in armv7b case.
Because of this issue pretty much all gdb.reverse/ tests are
failing with 'Process record does not support instruction' message.
Fix is to change gdbarch_byte_order to gdbarch_byte_order_for_code,
when passed to extract_unsigned_integer that reads instruction.
gdb/ChangeLog:
2014-11-02 Victor Kamensky <victor.kamensky@linaro.org>
* arm-tdep.c (extract_arm_insn): Use
gdbarch_byte_order_for_code to read arm instruction.
Diffstat (limited to 'gdb/arm-tdep.c')
-rw-r--r-- | gdb/arm-tdep.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index 43520cc..9e632a7 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -13811,7 +13811,7 @@ extract_arm_insn (insn_decode_record *insn_record, uint32_t insn_size) return 1; insn_record->arm_insn = (uint32_t) extract_unsigned_integer (&buf[0], insn_size, - gdbarch_byte_order (insn_record->gdbarch)); + gdbarch_byte_order_for_code (insn_record->gdbarch)); return 0; } |