Module Name:    src
Committed By:   matt
Date:           Sun Feb  5 17:40:48 UTC 2012

Modified Files:
        src/external/gpl3/gdb/dist/gdb: nbsd-thread.c vaxbsd-nat.c

Log Message:
Deal with vax defining [an empty] struct fpreg;
Add supply_gregset and fill_gregset for nbsd-thread.c to vaxbsd-nat.c


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/gdb/dist/gdb/nbsd-thread.c
cvs rdiff -u -r1.3 -r1.4 src/external/gpl3/gdb/dist/gdb/vaxbsd-nat.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/gdb/dist/gdb/nbsd-thread.c
diff -u src/external/gpl3/gdb/dist/gdb/nbsd-thread.c:1.8 src/external/gpl3/gdb/dist/gdb/nbsd-thread.c:1.9
--- src/external/gpl3/gdb/dist/gdb/nbsd-thread.c:1.8	Wed Jan 25 16:48:44 2012
+++ src/external/gpl3/gdb/dist/gdb/nbsd-thread.c	Sun Feb  5 17:40:48 2012
@@ -42,10 +42,11 @@
 #include "observer.h"
 
 #include <machine/reg.h>
-#ifndef __sh3__
-#define HAVE_FPREGS
-#else
+#ifdef __sh3__
 struct fpreg { };
+#elif defined(__vax__)
+#else
+#define HAVE_FPREGS
 #endif
 
 #ifndef HAVE_GREGSET_T

Index: src/external/gpl3/gdb/dist/gdb/vaxbsd-nat.c
diff -u src/external/gpl3/gdb/dist/gdb/vaxbsd-nat.c:1.3 src/external/gpl3/gdb/dist/gdb/vaxbsd-nat.c:1.4
--- src/external/gpl3/gdb/dist/gdb/vaxbsd-nat.c:1.3	Sun Jan 22 20:27:28 2012
+++ src/external/gpl3/gdb/dist/gdb/vaxbsd-nat.c	Sun Feb  5 17:40:48 2012
@@ -31,6 +31,10 @@
 #include "vax-tdep.h"
 #include "inf-ptrace.h"
 
+#ifndef HAVE_GREGSET_T
+typedef struct reg gregset_t;
+#endif
+
 /* Supply the general-purpose registers stored in GREGS to REGCACHE.  */
 
 static void
@@ -60,6 +64,24 @@ vaxbsd_collect_gregset (const struct reg
     }
 }
 
+void
+supply_gregset (struct regcache *regcache, const gregset_t *gregs)
+{
+  if (ptrace (PT_SETREGS, PIDGET (inferior_ptid),
+	      (PTRACE_TYPE_ARG3) gregs, TIDGET (inferior_ptid)) == -1)
+    perror_with_name (_("Couldn't write registers"));
+}
+
+void
+fill_gregset (const struct regcache *regcache, gregset_t *gregs, int regnum)
+{
+  if (ptrace (PT_GETREGS, PIDGET (inferior_ptid),
+	      (PTRACE_TYPE_ARG3) gregs, TIDGET (inferior_ptid)) == -1)
+    perror_with_name (_("Couldn't get registers"));
+}
+
+
+/* Support for debugging kernel virtual memory images.  */
 
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers.  */
@@ -68,13 +90,11 @@ static void
 vaxbsd_fetch_inferior_registers (struct target_ops *ops,
 				 struct regcache *regcache, int regnum)
 {
-  struct reg regs;
+  gregset_t gregs;
 
-  if (ptrace (PT_GETREGS, PIDGET (inferior_ptid),
-	      (PTRACE_TYPE_ARG3) &regs, TIDGET (inferior_ptid)) == -1)
-    perror_with_name (_("Couldn't get registers"));
+  fill_gregset (regcache, &gregs, regnum);
 
-  vaxbsd_supply_gregset (regcache, &regs);
+  vaxbsd_supply_gregset (regcache, &gregs);
 }
 
 /* Store register REGNUM back into the inferior.  If REGNUM is -1, do
@@ -84,22 +104,16 @@ static void
 vaxbsd_store_inferior_registers (struct target_ops *ops,
 				 struct regcache *regcache, int regnum)
 {
-  struct reg regs;
+  gregset_t gregs;
 
-  if (ptrace (PT_GETREGS, PIDGET (inferior_ptid),
-	      (PTRACE_TYPE_ARG3) &regs, TIDGET (inferior_ptid)) == -1)
-    perror_with_name (_("Couldn't get registers"));
+  fill_gregset (regcache, &gregs, regnum);
 
-  vaxbsd_collect_gregset (regcache, &regs, regnum);
+  vaxbsd_collect_gregset (regcache, &gregs, regnum);
 
-  if (ptrace (PT_SETREGS, PIDGET (inferior_ptid),
-	      (PTRACE_TYPE_ARG3) &regs, TIDGET (inferior_ptid)) == -1)
-    perror_with_name (_("Couldn't write registers"));
+  supply_gregset (regcache, &gregs);
 }
 
 
-/* Support for debugging kernel virtual memory images.  */
-
 #include <sys/types.h>
 #include <machine/pcb.h>
 

Reply via email to