diff options
Diffstat (limited to 'devel/gdb/files/commit-c5cb74e')
-rw-r--r-- | devel/gdb/files/commit-c5cb74e | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/devel/gdb/files/commit-c5cb74e b/devel/gdb/files/commit-c5cb74e new file mode 100644 index 000000000000..6bbae88055e0 --- /dev/null +++ b/devel/gdb/files/commit-c5cb74e @@ -0,0 +1,22 @@ +diff --git gdb/amd64fbsd-tdep.c gdb/amd64fbsd-tdep.c +index 2d49cdf..abb0cab 100644 +--- gdb/amd64fbsd-tdep.c ++++ gdb/amd64fbsd-tdep.c +@@ -37,12 +37,16 @@ + static CORE_ADDR + amd64fbsd_sigcontext_addr (struct frame_info *this_frame) + { ++ struct gdbarch *gdbarch = get_frame_arch (this_frame); ++ enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); + CORE_ADDR sp; ++ gdb_byte buf[8]; + + /* The `struct sigcontext' (which really is an `ucontext_t' on + FreeBSD/amd64) lives at a fixed offset in the signal frame. See + <machine/sigframe.h>. */ +- sp = frame_unwind_register_unsigned (this_frame, AMD64_RSP_REGNUM); ++ get_frame_register (this_frame, AMD64_RSP_REGNUM, buf); ++ sp = extract_unsigned_integer (buf, 8, byte_order); + return sp + 16; + } + |