summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/binutils
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2001-08-15 02:42:27 +0000
committerPeter Wemm <peter@FreeBSD.org>2001-08-15 02:42:27 +0000
commit0150c67f11929463354d0874a02072ca51e15496 (patch)
treeb78e2cdf2ceb1730a59d3ed05048cfbe8766551b /gnu/usr.bin/binutils
parent75c2d83136b6772479852c52ef9e040726df4eb5 (diff)
Notes
Diffstat (limited to 'gnu/usr.bin/binutils')
-rw-r--r--gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c b/gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c
index 14f202c0193f..c0291cba553f 100644
--- a/gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c
+++ b/gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c
@@ -135,7 +135,11 @@ fetch_core_registers (core_reg_sect, core_reg_size, which, reg_addr)
error ("Register %s not found in core file.", gdb_register_names[bad_reg]);
}
+#if __FreeBSD_version >= 440000
+ addr = offsetof (struct user, u_pcb) + offsetof (struct pcb, pcb_save);
+#else
addr = offsetof (struct user, u_pcb) + offsetof (struct pcb, pcb_savefpu);
+#endif
memcpy (&pcb_savefpu, core_reg_sect + addr, sizeof pcb_savefpu);
}
@@ -165,7 +169,11 @@ extern void print_387_control_word (); /* i387-tdep.h */
extern void print_387_status_word ();
#define fpstate save87
+#if __FreeBSD_version >= 440000
+#define U_FPSTATE(u) u.u_pcb.pcb_save.sv_87
+#else
#define U_FPSTATE(u) u.u_pcb.pcb_savefpu
+#endif
static void
i387_to_double (from, to)