summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@redhat.com>2006-04-04 21:53:45 +0000
committerDavid S. Miller <davem@redhat.com>2006-04-04 21:53:45 +0000
commita839a99ecfb5c4d8af50d0ffb49ab9df99066877 (patch)
tree068259be1b24a4f67712354e690c774a9d3f97f9
parentb10dc0430f3aba4ca698e5bedd304db418cc4e94 (diff)
downloadgdb-a839a99ecfb5c4d8af50d0ffb49ab9df99066877.tar.gz
* config/linux.mh (NATDEPFILES): Remove sparc-sol2-nat.o
* config/linux64.h (NATDEPFILES): Likewise * sparc-linux-nat.c (supply_gregset, supply_fpregset, fill_gregset, fill_fpregset): New. * sparc64-linux-nat.c (supply_gregset, supply_fpregset, fill_gregset, fill_fpregset): New.
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/config/sparc/linux.mh2
-rw-r--r--gdb/config/sparc/linux64.mh2
-rw-r--r--gdb/sparc-linux-nat.c31
-rw-r--r--gdb/sparc64-linux-nat.c29
5 files changed, 71 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 39dc4bcde3f..c9e9f75a4e1 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,12 @@
+2006-04-04 David S. Miller <davem@davemloft.net>
+
+ * config/linux.mh (NATDEPFILES): Remove sparc-sol2-nat.o
+ * config/linux64.h (NATDEPFILES): Likewise
+ * sparc-linux-nat.c (supply_gregset, supply_fpregset, fill_gregset,
+ fill_fpregset): New.
+ * sparc64-linux-nat.c (supply_gregset, supply_fpregset, fill_gregset,
+ fill_fpregset): New.
+
2006-04-04 Andreas Schwab <schwab@suse.de>
* Makefile.in (elf_common_h): Define.
diff --git a/gdb/config/sparc/linux.mh b/gdb/config/sparc/linux.mh
index 04943814902..b640a92612b 100644
--- a/gdb/config/sparc/linux.mh
+++ b/gdb/config/sparc/linux.mh
@@ -1,6 +1,6 @@
# Host: GNU/Linux SPARC
NAT_FILE= nm-linux.h
-NATDEPFILES= sparc-nat.o sparc-sol2-nat.o sparc-linux-nat.o \
+NATDEPFILES= sparc-nat.o sparc-linux-nat.o \
corelow.o core-regset.o fork-child.o inf-ptrace.o \
proc-service.o linux-thread-db.o \
gcore.o linux-nat.o linux-fork.o
diff --git a/gdb/config/sparc/linux64.mh b/gdb/config/sparc/linux64.mh
index 59dfbf0ac72..195940cd75a 100644
--- a/gdb/config/sparc/linux64.mh
+++ b/gdb/config/sparc/linux64.mh
@@ -1,6 +1,6 @@
# Host: GNU/Linux UltraSPARC
NAT_FILE= nm-linux.h
-NATDEPFILES= sparc-nat.o sparc64-nat.o sparc-sol2-nat.o sparc64-linux-nat.o \
+NATDEPFILES= sparc-nat.o sparc64-nat.o sparc64-linux-nat.o \
corelow.o core-regset.o \
fork-child.o inf-ptrace.o \
proc-service.o linux-thread-db.o \
diff --git a/gdb/sparc-linux-nat.c b/gdb/sparc-linux-nat.c
index a234402fd78..87da3f1cd8d 100644
--- a/gdb/sparc-linux-nat.c
+++ b/gdb/sparc-linux-nat.c
@@ -20,10 +20,41 @@
Boston, MA 02110-1301, USA. */
#include "defs.h"
+#include "regcache.h"
+
+#include <sys/procfs.h>
+#include "gregset.h"
+
+#include "sparc-tdep.h"
+#include "sparc-nat.h"
#include "inferior.h"
#include "target.h"
#include "linux-nat.h"
+void
+supply_gregset (prgregset_t *gregs)
+{
+ sparc32_supply_gregset (sparc_gregset, current_regcache, -1, gregs);
+}
+
+void
+supply_fpregset (prfpregset_t *fpregs)
+{
+ sparc32_supply_fpregset (current_regcache, -1, fpregs);
+}
+
+void
+fill_gregset (prgregset_t *gregs, int regnum)
+{
+ sparc32_collect_gregset (sparc_gregset, current_regcache, regnum, gregs);
+}
+
+void
+fill_fpregset (prfpregset_t *fpregs, int regnum)
+{
+ sparc32_collect_fpregset (current_regcache, regnum, fpregs);
+}
+
void _initialialize_sparc_linux_nat (void);
void
diff --git a/gdb/sparc64-linux-nat.c b/gdb/sparc64-linux-nat.c
index 730d4f9b3f8..9dc9a6cde5a 100644
--- a/gdb/sparc64-linux-nat.c
+++ b/gdb/sparc64-linux-nat.c
@@ -20,8 +20,13 @@
Boston, MA 02110-1301, USA. */
#include "defs.h"
+#include "regcache.h"
+
+#include <sys/procfs.h>
+#include "gregset.h"
#include "sparc64-tdep.h"
+#include "sparc-tdep.h"
#include "sparc-nat.h"
#include "inferior.h"
#include "target.h"
@@ -41,6 +46,30 @@ static const struct sparc_gregset sparc64_linux_ptrace_gregset =
};
+void
+supply_gregset (prgregset_t *gregs)
+{
+ sparc64_supply_gregset (sparc_gregset, current_regcache, -1, gregs);
+}
+
+void
+supply_fpregset (prfpregset_t *fpregs)
+{
+ sparc64_supply_fpregset (current_regcache, -1, fpregs);
+}
+
+void
+fill_gregset (prgregset_t *gregs, int regnum)
+{
+ sparc64_collect_gregset (sparc_gregset, current_regcache, regnum, gregs);
+}
+
+void
+fill_fpregset (prfpregset_t *fpregs, int regnum)
+{
+ sparc64_collect_fpregset (current_regcache, regnum, fpregs);
+}
+
/* Provide a prototype to silence -Wmissing-prototypes. */
void _initialize_sparc64_linux_nat (void);