diff options
-rw-r--r-- | gdb/amd64-fbsd-nat.c | 28 | ||||
-rw-r--r-- | gdb/amd64-fbsd-tdep.c | 6 | ||||
-rw-r--r-- | gdb/amd64-tdep.h | 2 | ||||
-rw-r--r-- | gdb/i386-fbsd-nat.c | 26 | ||||
-rw-r--r-- | gdb/i386-fbsd-tdep.c | 8 | ||||
-rw-r--r-- | gdb/i386-tdep.h | 2 |
6 files changed, 0 insertions, 72 deletions
diff --git a/gdb/amd64-fbsd-nat.c b/gdb/amd64-fbsd-nat.c index 376e1ff..3c79a40 100644 --- a/gdb/amd64-fbsd-nat.c +++ b/gdb/amd64-fbsd-nat.c @@ -278,32 +278,4 @@ Please report this to <bug-gdb@gnu.org>."), } SC_RBP_OFFSET = offset; - -#ifdef KERN_PROC_SIGTRAMP - /* Normally signal frames are detected via amd64fbsd_sigtramp_p. - However, FreeBSD 9.2 through 10.1 do not include the page holding - the signal code in core dumps. These releases do provide a - kern.proc.sigtramp.<pid> sysctl that returns the location of the - signal trampoline for a running process. We fetch the location - of the current (gdb) process and use this to identify signal - frames in core dumps from these releases. Note that this only - works for core dumps of 64-bit (FreeBSD/amd64) processes and does - not handle core dumps of 32-bit (FreeBSD/i386) processes. */ - { - int mib[4]; - struct kinfo_sigtramp kst; - size_t len; - - mib[0] = CTL_KERN; - mib[1] = KERN_PROC; - mib[2] = KERN_PROC_SIGTRAMP; - mib[3] = getpid (); - len = sizeof (kst); - if (sysctl (mib, 4, &kst, &len, NULL, 0) == 0) - { - amd64fbsd_sigtramp_start_addr = (uintptr_t) kst.ksigtramp_start; - amd64fbsd_sigtramp_end_addr = (uintptr_t) kst.ksigtramp_end; - } - } -#endif } diff --git a/gdb/amd64-fbsd-tdep.c b/gdb/amd64-fbsd-tdep.c index 93edbc4..647d9d7 100644 --- a/gdb/amd64-fbsd-tdep.c +++ b/gdb/amd64-fbsd-tdep.c @@ -117,10 +117,6 @@ static int amd64fbsd_r_reg_offset[] = -1 /* %gs */ }; -/* Location of the signal trampoline. */ -CORE_ADDR amd64fbsd_sigtramp_start_addr; -CORE_ADDR amd64fbsd_sigtramp_end_addr; - /* From <machine/signal.h>. */ int amd64fbsd_sc_reg_offset[] = { @@ -245,8 +241,6 @@ amd64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) amd64_target_description (X86_XSTATE_SSE_MASK, true)); tdep->sigtramp_p = amd64fbsd_sigtramp_p; - 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); diff --git a/gdb/amd64-tdep.h b/gdb/amd64-tdep.h index 0ffa742..cdc1d6f 100644 --- a/gdb/amd64-tdep.h +++ b/gdb/amd64-tdep.h @@ -145,8 +145,6 @@ extern int amd64nbsd_r_reg_offset[]; extern int amd64obsd_r_reg_offset[]; /* Variables exported from amd64-fbsd-tdep.c. */ -extern CORE_ADDR amd64fbsd_sigtramp_start_addr; -extern CORE_ADDR amd64fbsd_sigtramp_end_addr; extern int amd64fbsd_sc_reg_offset[]; #endif /* amd64-tdep.h */ diff --git a/gdb/i386-fbsd-nat.c b/gdb/i386-fbsd-nat.c index 61717c6..75fe5e7 100644 --- a/gdb/i386-fbsd-nat.c +++ b/gdb/i386-fbsd-nat.c @@ -182,30 +182,4 @@ _initialize_i386fbsd_nat () /* Support debugging kernel virtual memory images. */ bsd_kvm_add_target (i386fbsd_supply_pcb); - -#ifdef KERN_PROC_SIGTRAMP - /* Normally signal frames are detected via i386fbsd_sigtramp_p. - However, FreeBSD 9.2 through 10.1 do not include the page holding - the signal code in core dumps. These releases do provide a - kern.proc.sigtramp.<pid> sysctl that returns the location of the - signal trampoline for a running process. We fetch the location - of the current (gdb) process and use this to identify signal - frames in core dumps from these releases. */ - { - int mib[4]; - struct kinfo_sigtramp kst; - size_t len; - - mib[0] = CTL_KERN; - mib[1] = KERN_PROC; - mib[2] = KERN_PROC_SIGTRAMP; - mib[3] = getpid (); - len = sizeof (kst); - if (sysctl (mib, 4, &kst, &len, NULL, 0) == 0) - { - i386fbsd_sigtramp_start_addr = (uintptr_t) kst.ksigtramp_start; - i386fbsd_sigtramp_end_addr = (uintptr_t) kst.ksigtramp_end; - } - } -#endif } diff --git a/gdb/i386-fbsd-tdep.c b/gdb/i386-fbsd-tdep.c index 8c19b44..c3f02d1 100644 --- a/gdb/i386-fbsd-tdep.c +++ b/gdb/i386-fbsd-tdep.c @@ -122,10 +122,6 @@ static int i386fbsd_r_reg_offset[] = 2 * 4, 1 * 4, 0 * 4, 18 * 4 /* %ds, %es, %fs, %gs */ }; -/* Sigtramp routine location. */ -CORE_ADDR i386fbsd_sigtramp_start_addr; -CORE_ADDR i386fbsd_sigtramp_end_addr; - /* From <machine/signal.h>. */ int i386fbsd_sc_reg_offset[] = { @@ -292,10 +288,6 @@ i386fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) tdep->sigtramp_p = i386fbsd_sigtramp_p; - /* FreeBSD uses a different memory layout. */ - tdep->sigtramp_start = i386fbsd_sigtramp_start_addr; - tdep->sigtramp_end = i386fbsd_sigtramp_end_addr; - /* FreeBSD has a more complete `struct sigcontext'. */ tdep->sc_reg_offset = i386fbsd_sc_reg_offset; tdep->sc_num_regs = ARRAY_SIZE (i386fbsd_sc_reg_offset); diff --git a/gdb/i386-tdep.h b/gdb/i386-tdep.h index 5889933..62d94da 100644 --- a/gdb/i386-tdep.h +++ b/gdb/i386-tdep.h @@ -472,8 +472,6 @@ extern int i386_mpx_enabled (void); /* Functions and variables exported from i386-bsd-tdep.c. */ extern void i386bsd_init_abi (struct gdbarch_info, struct gdbarch *); -extern CORE_ADDR i386fbsd_sigtramp_start_addr; -extern CORE_ADDR i386fbsd_sigtramp_end_addr; extern CORE_ADDR i386obsd_sigtramp_start_addr; extern CORE_ADDR i386obsd_sigtramp_end_addr; extern int i386fbsd_sc_reg_offset[]; |