summaryrefslogtreecommitdiff
path: root/gdb/amd64fbsd-tdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/amd64fbsd-tdep.c')
-rw-r--r--gdb/amd64fbsd-tdep.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/gdb/amd64fbsd-tdep.c b/gdb/amd64fbsd-tdep.c
index 6814dd97e96..e4e02abb61c 100644
--- a/gdb/amd64fbsd-tdep.c
+++ b/gdb/amd64fbsd-tdep.c
@@ -28,7 +28,8 @@
#include "gdb_string.h"
-#include "x86-64-tdep.h"
+#include "amd64-tdep.h"
+#include "solib-svr4.h"
/* Support for signal handlers. */
@@ -43,7 +44,7 @@ amd64fbsd_sigcontext_addr (struct frame_info *next_frame)
/* 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 (next_frame, X86_64_RSP_REGNUM);
+ sp = frame_unwind_register_unsigned (next_frame, AMD64_RSP_REGNUM);
return sp + 16;
}
@@ -85,8 +86,8 @@ static int amd64fbsd_r_reg_offset[] =
};
/* Location of the signal trampoline. */
-CORE_ADDR amd64fbsd_sigtramp_start = 0x7fffffffffc0;
-CORE_ADDR amd64fbsd_sigtramp_end = 0x7fffffffffe0;
+CORE_ADDR amd64fbsd_sigtramp_start_addr = 0x7fffffffffc0;
+CORE_ADDR amd64fbsd_sigtramp_end_addr = 0x7fffffffffe0;
/* From <machine/signal.h>. */
int amd64fbsd_sc_reg_offset[] =
@@ -129,13 +130,17 @@ amd64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->gregset_num_regs = ARRAY_SIZE (amd64fbsd_r_reg_offset);
tdep->sizeof_gregset = 22 * 8;
- x86_64_init_abi (info, gdbarch);
+ amd64_init_abi (info, gdbarch);
- tdep->sigtramp_start = amd64fbsd_sigtramp_start;
- tdep->sigtramp_end = amd64fbsd_sigtramp_end;
+ tdep->sigtramp_start = amd64fbsd_sigtramp_start_addr;
+ tdep->sigtramp_end = amd64fbsd_sigtramp_end_addr;
tdep->sigcontext_addr = amd64fbsd_sigcontext_addr;
tdep->sc_reg_offset = amd64fbsd_sc_reg_offset;
tdep->sc_num_regs = ARRAY_SIZE (amd64fbsd_sc_reg_offset);
+
+ /* FreeBSD uses SVR4-style shared libraries. */
+ set_solib_svr4_fetch_link_map_offsets
+ (gdbarch, svr4_lp64_fetch_link_map_offsets);
}