aboutsummaryrefslogtreecommitdiff
path: root/gdb/gregset.h
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@vmware.com>2000-05-26 23:22:41 +0000
committerMichael Snyder <msnyder@vmware.com>2000-05-26 23:22:41 +0000
commitc60c0f5f8841d467149bdf0980bd17fb1246ca51 (patch)
tree1ea824d589d4ac0b2e5f62c5f9963a9867d9e803 /gdb/gregset.h
parenta799cbe2740f55a797085b0c67b69eaae6745940 (diff)
downloadgdb-c60c0f5f8841d467149bdf0980bd17fb1246ca51.zip
gdb-c60c0f5f8841d467149bdf0980bd17fb1246ca51.tar.gz
gdb-c60c0f5f8841d467149bdf0980bd17fb1246ca51.tar.bz2
2000-05-26 Michael Snyder <msnyder@seadog.cygnus.com>
* gregset.h: New file. Typedefs for gdb_gregset_t and gdb_fpregset_t, prototypes for supply_gregset and friends. * procfs.c: Include gregset.h. Delete local prototypes for supply_gregset etc., and local typedef gdb_gregset_t etc. * sol-thread.c: Include gregset.h, delete local prototypes, add appropriate casts to gdb_gregset_t. * uw-thread.c, lin-thread.c, core-sol2.c, core-regset.c, sparc-tdep.c, ptx4-nat.c, ppc-linux-nat.c, mipsv4-nat.c, m88k-nat.c, m68klinux-nat.c, m68k-tdep.c, irix5-nat.c, irix4-nat.c, ia64-linux-nat.c, i386v4-nat.c, cxux-nat.c, arm-linux-nat.c, alpha-nat.c: Include gregset.h. * config/nm-linux.h: Define GDB_GREGSET_T, GDB_FPREGET_T. * config/sparc/tm-sun4sol2.h: Ditto.
Diffstat (limited to 'gdb/gregset.h')
-rw-r--r--gdb/gregset.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/gdb/gregset.h b/gdb/gregset.h
new file mode 100644
index 0000000..3a85397
--- /dev/null
+++ b/gdb/gregset.h
@@ -0,0 +1,50 @@
+/* Interface for functions using gregset and fpregset types.
+ Copyright (C) 2000 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#ifndef GDB_GREGSET_T
+#define GDB_GREGSET_T gregset_t
+#endif
+
+#ifndef GDB_FPREGSET_T
+#define GDB_FPREGSET_T fpregset_t
+#endif
+
+typedef GDB_GREGSET_T gdb_gregset_t;
+typedef GDB_FPREGSET_T gdb_fpregset_t;
+
+/* A gregset is a data structure supplied by the native OS containing
+ the general register values of the debugged process. Usually this
+ includes integer registers and control registers. An fpregset is a
+ data structure containing the floating point registers. These data
+ structures were originally a part of the /proc interface, but have
+ been borrowed or copied by other GDB targets, eg. Linux. */
+
+/* Copy register values from the native target gregset / fpregset
+ into GDB's internal register cache. */
+
+extern void supply_gregset (gdb_gregset_t *gregs);
+extern void supply_fpregset (gdb_fpregset_t *fpregs);
+
+/* Copy register values from GDB's register cache into
+ the native target gregset / fpregset. If regno is -1,
+ copy all the registers. */
+
+extern void fill_gregset (gdb_gregset_t *gregs, int regno);
+extern void fill_fpregset (gdb_fpregset_t *fpregs, int regno);