diff options
author | Fred Fish <fnf@specifix.com> | 1996-01-04 07:23:24 +0000 |
---|---|---|
committer | Fred Fish <fnf@specifix.com> | 1996-01-04 07:23:24 +0000 |
commit | e33aefba5a547a6f61c436b47ff3a73ee275e886 (patch) | |
tree | 23b93961384a8856690ae0369e89d56bd1bb7fe5 /gdb | |
parent | 1aa265574776be3097eb7d8f66d73649858897b2 (diff) | |
download | gdb-e33aefba5a547a6f61c436b47ff3a73ee275e886.zip gdb-e33aefba5a547a6f61c436b47ff3a73ee275e886.tar.gz gdb-e33aefba5a547a6f61c436b47ff3a73ee275e886.tar.bz2 |
* 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')
-rw-r--r-- | gdb/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/config/i386/tm-i386.h | 7 | ||||
-rw-r--r-- | gdb/i386v4-nat.c | 12 |
3 files changed, 21 insertions, 7 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9c2afac..bb86178 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +Wed Jan 3 23:13:53 1996 Fred Fish <fnf@cygnus.com> + + * 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. + Wed Jan 3 19:49:54 1996 steve chamberlain <sac@slash.cygnus.com> * config/i386/tm-win32.h (IN_SOLIB_CALL_TRAMPOLINE): New. diff --git a/gdb/config/i386/tm-i386.h b/gdb/config/i386/tm-i386.h index 819735c..8f8090b 100644 --- a/gdb/config/i386/tm-i386.h +++ b/gdb/config/i386/tm-i386.h @@ -1,5 +1,5 @@ /* Macro definitions for GDB on an Intel i[345]86. - Copyright (C) 1995 Free Software Foundation, Inc. + Copyright (C) 1995, 1996 Free Software Foundation, Inc. This file is part of GDB. @@ -115,10 +115,9 @@ extern int i386_skip_prologue PARAMS ((int)); #define FPC_REGNUM 25 /* 80387 control register */ /* Total amount of space needed to store our copies of the machine's register - state, the array `registers'. Default is 16 i*86 registers and 8 floating - point registers. */ + state, the array `registers'. */ -#define REGISTER_BYTES (16*4 + 8*10) +#define REGISTER_BYTES ((NUM_REGS - NUM_FREGS)*4 + NUM_FREGS*10) /* Index within `registers' of the first byte of the space for register N. */ diff --git a/gdb/i386v4-nat.c b/gdb/i386v4-nat.c index 2de8407..1f1d38b 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)) { |