aboutsummaryrefslogtreecommitdiff
path: root/gdb/arm-tdep.c
diff options
context:
space:
mode:
authorVictor Kamensky <victor.kamensky@linaro.org>2014-11-02 13:28:35 -0800
committerVictor Kamensky <victor.kamensky@linaro.org>2014-11-02 13:29:45 -0800
commit2959fed98cf1b1fd32516194619a5edbdf6a41a3 (patch)
treede4d8efd0474d3ba34c416a281229c6506949dce /gdb/arm-tdep.c
parent6ce8c98020188a7585c24db289191c5c10371e58 (diff)
downloadgdb-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.c2
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;
}