Read instruction with byte_order_for_code
authorYao Qi <yao.qi@linaro.org>
Wed, 13 Jan 2016 16:15:31 +0000 (16:15 +0000)
committerYao Qi <yao.qi@linaro.org>
Wed, 13 Jan 2016 16:15:31 +0000 (16:15 +0000)
When reading instruction, we should use byte_order_for_code instead
of byte_order.

gdb:

2016-01-13  Yao Qi  <yao.qi@linaro.org>

* arch/arm-get-next-pcs.c (arm_get_next_pcs_raw): Use
byte_order_for_code to read instruction.

gdb/ChangeLog
gdb/arch/arm-get-next-pcs.c

index e0719641e89fe4d9cefe3e26b5cef6c33be5ce5a..a590a9f2519874093161a2d119fbd22a32c1d2c0 100644 (file)
@@ -1,3 +1,8 @@
+2016-01-13  Yao Qi  <yao.qi@linaro.org>
+
+       * arch/arm-get-next-pcs.c (arm_get_next_pcs_raw): Use
+       byte_order_for_code to read instruction.
+
 2016-01-13  Pedro Alves  <palves@redhat.com>
 
        * NEWS: Mention $_gthread.
index aba45e3f79f59d3ae1562dd0d75ec34f0dfa4cc5..137df1d30ec0f6f078bef7715a1d16f59f5f6cd3 100644 (file)
@@ -644,6 +644,7 @@ static VEC (CORE_ADDR) *
 arm_get_next_pcs_raw (struct arm_get_next_pcs *self, CORE_ADDR pc)
 {
   int byte_order = self->byte_order;
+  int byte_order_for_code = self->byte_order_for_code;
   unsigned long pc_val;
   unsigned long this_instr = 0;
   unsigned long status;
@@ -652,7 +653,7 @@ arm_get_next_pcs_raw (struct arm_get_next_pcs *self, CORE_ADDR pc)
   VEC (CORE_ADDR) *next_pcs = NULL;
 
   pc_val = (unsigned long) pc;
-  this_instr = self->ops->read_mem_uint (pc, 4, byte_order);
+  this_instr = self->ops->read_mem_uint (pc, 4, byte_order_for_code);
 
   status = regcache_raw_get_unsigned (regcache, ARM_PS_REGNUM);
   nextpc = (CORE_ADDR) (pc_val + 4);   /* Default case */