summaryrefslogtreecommitdiff
path: root/gdb/i386v4-nat.c
diff options
context:
space:
mode:
authorFred Fish <fnf@specifix.com>1996-01-04 07:23:24 +0000
committerFred Fish <fnf@specifix.com>1996-01-04 07:23:24 +0000
commite33aefba5a547a6f61c436b47ff3a73ee275e886 (patch)
tree23b93961384a8856690ae0369e89d56bd1bb7fe5 /gdb/i386v4-nat.c
parent1aa265574776be3097eb7d8f66d73649858897b2 (diff)
downloadbinutils-gdb-e33aefba5a547a6f61c436b47ff3a73ee275e886.tar.gz
* i386v4-nat.c (supply_gregset, fill_gregset): Subtract NUM_FREGS
from NUM_REGS to get number of general registers that we care about. Update copyright to 1996. * config/i386/tm-i386.h (REGISTER_BYTES): Define in terms of number of general regs and number of floating point regs. Update copyright to 1996.
Diffstat (limited to 'gdb/i386v4-nat.c')
-rw-r--r--gdb/i386v4-nat.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/gdb/i386v4-nat.c b/gdb/i386v4-nat.c
index 2de84073a85..1f1d38b7eaf 100644
--- a/gdb/i386v4-nat.c
+++ b/gdb/i386v4-nat.c
@@ -1,5 +1,5 @@
/* Native-dependent code for SVR4 Unix running on i386's, for GDB.
- Copyright 1988, 1989, 1991, 1992 Free Software Foundation, Inc.
+ Copyright 1988, 1989, 1991, 1992, 1996 Free Software Foundation, Inc.
This file is part of GDB.
@@ -75,6 +75,12 @@ static int regmap[] =
};
+/* FIXME: These routine absolutely depends upon (NUM_REGS - NUM_FREGS)
+ being less than or equal to the number of registers that can be stored
+ in a gregset_t. Note that with the current scheme there will typically
+ be more registers actually stored in a gregset_t that what we know
+ about. This is bogus and should be fixed. */
+
/* Given a pointer to a general register set in /proc format (gregset_t *),
unpack the register contents and supply them as gdb's idea of the current
register values. */
@@ -87,7 +93,7 @@ supply_gregset (gregsetp)
register greg_t *regp = (greg_t *) gregsetp;
extern int regmap[];
- for (regi = 0 ; regi < NUM_REGS ; regi++)
+ for (regi = 0 ; regi < (NUM_REGS - NUM_FREGS) ; regi++)
{
supply_register (regi, (char *) (regp + regmap[regi]));
}
@@ -103,7 +109,7 @@ fill_gregset (gregsetp, regno)
extern char registers[];
extern int regmap[];
- for (regi = 0 ; regi < NUM_REGS ; regi++)
+ for (regi = 0 ; regi < (NUM_REGS - NUM_FREGS) ; regi++)
{
if ((regno == -1) || (regno == regi))
{