summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2001-07-12 13:01:17 +0000
committerPeter Wemm <peter@FreeBSD.org>2001-07-12 13:01:17 +0000
commitda81118c1b2d9b7ded2e8758a1772da18f0e612d (patch)
tree3756b0624baaf194918256797ac3195dbeb8d9d8 /gnu
parent28f74b20032ad53b13f355ee18193bafae230da3 (diff)
Notes
Diffstat (limited to 'gnu')
-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 78c8f9635eae..386f522b48c4 100644
--- a/gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c
+++ b/gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c
@@ -136,7 +136,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 >= 500022
+ 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);
}
@@ -166,7 +170,11 @@ extern void print_387_control_word (); /* i387-tdep.h */
extern void print_387_status_word ();
#define fpstate save87
+#if __FreeBSD_version >= 500022
+#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)