X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fia64-linux-tdep.c;h=838bc0bf0d2792d0a35c316c46f3ec7c54109c96;hb=9cce227f8cd3081662b208e0067b23547afa5a83;hp=3a86c96f74430768630b62959a5874b61ffe0b58;hpb=63807e1d0d57fe810b93dfef77291de153f02db4;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ia64-linux-tdep.c b/gdb/ia64-linux-tdep.c index 3a86c96f74..838bc0bf0d 100644 --- a/gdb/ia64-linux-tdep.c +++ b/gdb/ia64-linux-tdep.c @@ -50,14 +50,16 @@ ia64_linux_pc_in_sigtramp (CORE_ADDR pc) sigcontext structure. */ static CORE_ADDR -ia64_linux_sigcontext_register_address (CORE_ADDR sp, int regno) +ia64_linux_sigcontext_register_address (struct gdbarch *gdbarch, + CORE_ADDR sp, int regno) { + enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); char buf[8]; CORE_ADDR sigcontext_addr = 0; /* The address of the sigcontext area is found at offset 16 in the sigframe. */ read_memory (sp + 16, buf, 8); - sigcontext_addr = extract_unsigned_integer (buf, 8); + sigcontext_addr = extract_unsigned_integer (buf, 8, byte_order); if (IA64_GR0_REGNUM <= regno && regno <= IA64_GR31_REGNUM) return sigcontext_addr + 200 + 8 * (regno - IA64_GR0_REGNUM);