X-Git-Url: http://drtracing.org/?a=blobdiff_plain;ds=sidebyside;f=gdb%2Farm-linux-tdep.c;h=20419cbb249a607aa364c07edaa4867f01821d6a;hb=e17a4113357102b55cfa5b80557d590a46a43300;hp=dc72ee14f55c71a37600ac448c9cc10edb651dae;hpb=5af949e350b923403600c1da34774b49a77c925c;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c index dc72ee14f5..20419cbb24 100644 --- a/gdb/arm-linux-tdep.c +++ b/gdb/arm-linux-tdep.c @@ -284,8 +284,10 @@ arm_linux_sigreturn_init (const struct tramp_frame *self, struct trad_frame_cache *this_cache, CORE_ADDR func) { + struct gdbarch *gdbarch = get_frame_arch (this_frame); + enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); CORE_ADDR sp = get_frame_register_unsigned (this_frame, ARM_SP_REGNUM); - ULONGEST uc_flags = read_memory_unsigned_integer (sp, 4); + ULONGEST uc_flags = read_memory_unsigned_integer (sp, 4, byte_order); if (uc_flags == ARM_NEW_SIGFRAME_MAGIC) arm_linux_sigtramp_cache (this_frame, this_cache, func, @@ -302,8 +304,10 @@ arm_linux_rt_sigreturn_init (const struct tramp_frame *self, struct trad_frame_cache *this_cache, CORE_ADDR func) { + struct gdbarch *gdbarch = get_frame_arch (this_frame); + enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); CORE_ADDR sp = get_frame_register_unsigned (this_frame, ARM_SP_REGNUM); - ULONGEST pinfo = read_memory_unsigned_integer (sp, 4); + ULONGEST pinfo = read_memory_unsigned_integer (sp, 4, byte_order); if (pinfo == sp + ARM_OLD_RT_SIGFRAME_SIGINFO) arm_linux_sigtramp_cache (this_frame, this_cache, func, @@ -368,6 +372,8 @@ arm_linux_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs_buf, size_t len) { + struct gdbarch *gdbarch = get_regcache_arch (regcache); + enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); const gdb_byte *gregs = gregs_buf; int regno; CORE_ADDR reg_pc; @@ -392,9 +398,9 @@ arm_linux_supply_gregset (const struct regset *regset, { reg_pc = extract_unsigned_integer (gregs + INT_REGISTER_SIZE * ARM_PC_REGNUM, - INT_REGISTER_SIZE); - reg_pc = gdbarch_addr_bits_remove (get_regcache_arch (regcache), reg_pc); - store_unsigned_integer (pc_buf, INT_REGISTER_SIZE, reg_pc); + INT_REGISTER_SIZE, byte_order); + reg_pc = gdbarch_addr_bits_remove (gdbarch, reg_pc); + store_unsigned_integer (pc_buf, INT_REGISTER_SIZE, byte_order, reg_pc); regcache_raw_supply (regcache, ARM_PC_REGNUM, pc_buf); } }