summaryrefslogtreecommitdiff
path: root/devel/gdb/files/patch-gdb-i386fbsd-nat.c
diff options
context:
space:
mode:
Diffstat (limited to 'devel/gdb/files/patch-gdb-i386fbsd-nat.c')
-rw-r--r--devel/gdb/files/patch-gdb-i386fbsd-nat.c68
1 files changed, 68 insertions, 0 deletions
diff --git a/devel/gdb/files/patch-gdb-i386fbsd-nat.c b/devel/gdb/files/patch-gdb-i386fbsd-nat.c
new file mode 100644
index 000000000000..f77a87532ba3
--- /dev/null
+++ b/devel/gdb/files/patch-gdb-i386fbsd-nat.c
@@ -0,0 +1,68 @@
+--- gdb/i386fbsd-nat.c.orig 2010-01-01 02:31:36.000000000 -0500
++++ gdb/i386fbsd-nat.c 2010-10-22 13:57:48.705926000 -0400
+@@ -24,6 +24,7 @@
+ #include "target.h"
+
+ #include <sys/types.h>
++#include <sys/procfs.h>
+ #include <sys/ptrace.h>
+ #include <sys/sysctl.h>
+
+@@ -81,6 +82,49 @@
+ }
+
+
++/* Transfering the registers between GDB, inferiors and core files. */
++
++/* Fill GDB's register array with the general-purpose register values
++ in *GREGSETP. */
++
++void
++supply_gregset (struct regcache *regcache, const gregset_t *gregsetp)
++{
++ i386bsd_supply_gregset (regcache, gregsetp);
++}
++
++/* Fill register REGNUM (if it is a general-purpose register) in
++ *GREGSETPS with the value in GDB's register array. If REGNUM is -1,
++ do this for all registers. */
++
++void
++fill_gregset (struct regcache *regcache, gregset_t *gregsetp, int regnum)
++{
++ i386bsd_collect_gregset (regcache, gregsetp, regnum);
++}
++
++#include "i387-tdep.h"
++
++/* Fill GDB's register array with the floating-point register values
++ in *FPREGSETP. */
++
++void
++supply_fpregset (struct regcache *regcache, const fpregset_t *fpregsetp)
++{
++ i387_supply_fsave (regcache, -1, fpregsetp);
++}
++
++/* Fill register REGNUM (if it is a floating-point register) in
++ *FPREGSETP with the value in GDB's register array. If REGNUM is -1,
++ do this for all registers. */
++
++void
++fill_fpregset (struct regcache *regcache, fpregset_t *fpregsetp, int regnum)
++{
++ i387_collect_fsave (regcache, regnum, fpregsetp);
++}
++
++
+ /* Support for debugging kernel virtual memory images. */
+
+ #include <sys/types.h>
+@@ -141,7 +185,6 @@
+ #endif /* HAVE_PT_GETDBREGS */
+
+
+- t->to_resume = i386fbsd_resume;
+ t->to_pid_to_exec_file = fbsd_pid_to_exec_file;
+ t->to_find_memory_regions = fbsd_find_memory_regions;
+ t->to_make_corefile_notes = fbsd_make_corefile_notes;