* mipsread.c (parse_symbol, parse_procedure): Re-do the way that

.gdbinfo. symbols are created.  Move creation from parse_procedure
to parse_symbol, where it is fairly easy to grow the symtab.  This
also fixes a symtab trashing bug on all mips-based systems.
* (got_numargs, lookup_numargs, free_numargs):  Delete.  Not
needed anymore.
* tm-mips.h, tm-iris3.h, mips-tdep.c, mipsread.c:  Re-do struct
mips_extra_func_info, and all the PROC_xxx macros that look at it.
This commit is contained in:
Stu Grossman
1992-03-31 01:21:01 +00:00
parent d26b50b794
commit d1bb1d4170
4 changed files with 65 additions and 110 deletions

View File

@@ -1,5 +1,5 @@
/* Target machine description for SGI Iris under Irix, for GDB.
Copyright 1990, 1991 Free Software Foundation, Inc.
Copyright 1990, 1991, 1992 Free Software Foundation, Inc.
This file is part of GDB.
@@ -17,6 +17,12 @@ 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifndef LANGUAGE_C
#define LANGUAGE_C
#endif
#include <sym.h>
#include <symconst.h>
#define TARGET_BYTE_ORDER BIG_ENDIAN
/* Floating point is IEEE compliant */
@@ -296,20 +302,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
mipsread.c (ab)uses this to save memory */
typedef struct mips_extra_func_info {
unsigned long adr; /* memory address of start of procedure */
long isym; /* pointer to procedure symbol */
long pad2; /* iline: start of line number entries*/
long regmask; /* save register mask */
long regoffset; /* save register offset */
long numargs; /* number of args to procedure (was iopt) */
long fregmask; /* save floating point register mask */
long fregoffset; /* save floating point register offset */
long framesize; /* frameoffset: frame size */
short framereg; /* frame pointer register */
short pcreg; /* offset or reg of return pc */
long lnLow; /* lowest line in the procedure */
long lnHigh; /* highest line in the procedure */
long pad3; /* cbLineOffset: byte offset for this procedure from the fd base */
PDR pdr; /* Procedure descriptor record */
} *mips_extra_func_info_t;
#define EXTRA_FRAME_INFO \