mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-28 15:18:37 +08:00
* breakpoint.c (delete_command): Skip internal breakpoints when
all breakpoints are requested. * stabsread.c (define_symbol): Record parameter types from Sunpro function stabs in the TYPE_FIELDS of the function type.
This commit is contained in:
@ -1,3 +1,11 @@
|
|||||||
|
Fri May 1 09:29:56 1998 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
|
||||||
|
|
||||||
|
* breakpoint.c (delete_command): Skip internal breakpoints when
|
||||||
|
all breakpoints are requested.
|
||||||
|
|
||||||
|
* stabsread.c (define_symbol): Record parameter types from Sunpro
|
||||||
|
function stabs in the TYPE_FIELDS of the function type.
|
||||||
|
|
||||||
Thu Apr 30 15:59:54 1998 Jason Molenda (crash@bugshack.cygnus.com)
|
Thu Apr 30 15:59:54 1998 Jason Molenda (crash@bugshack.cygnus.com)
|
||||||
|
|
||||||
* Makefile.in (config-check-targets, config-check-hosts): Removed.
|
* Makefile.in (config-check-targets, config-check-hosts): Removed.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Support routines for decoding "stabs" debugging information format.
|
/* Support routines for decoding "stabs" debugging information format.
|
||||||
Copyright 1986, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 1997
|
Copyright 1986, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 1998
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GDB.
|
This file is part of GDB.
|
||||||
@ -1616,18 +1616,47 @@ define_symbol (valu, string, desc, type, objfile)
|
|||||||
/* fall into process_prototype_types */
|
/* fall into process_prototype_types */
|
||||||
|
|
||||||
process_prototype_types:
|
process_prototype_types:
|
||||||
/* Sun acc puts declared types of arguments here. We don't care
|
/* Sun acc puts declared types of arguments here. */
|
||||||
about their actual types (FIXME -- we should remember the whole
|
|
||||||
function prototype), but the list may define some new types
|
|
||||||
that we have to remember, so we must scan it now. */
|
|
||||||
if (*p == ';')
|
if (*p == ';')
|
||||||
{
|
{
|
||||||
TYPE_FLAGS (SYMBOL_TYPE (sym)) |= TYPE_FLAG_PROTOTYPED;
|
struct type *ftype = SYMBOL_TYPE (sym);
|
||||||
|
int nsemi = 0;
|
||||||
|
int nparams = 0;
|
||||||
|
char *p1 = p;
|
||||||
|
|
||||||
while (*p == ';') {
|
/* Obtain a worst case guess for the number of arguments
|
||||||
p++;
|
by counting the semicolons. */
|
||||||
read_type (&p, objfile);
|
while (*p1)
|
||||||
}
|
{
|
||||||
|
if (*p1++ == ';')
|
||||||
|
nsemi++;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Allocate parameter information fields and fill them in. */
|
||||||
|
TYPE_FIELDS (ftype) = (struct field *)
|
||||||
|
TYPE_ALLOC (ftype, nsemi * sizeof (struct field));
|
||||||
|
while (*p++ == ';')
|
||||||
|
{
|
||||||
|
struct type *ptype;
|
||||||
|
|
||||||
|
/* A type number of zero indicates the start of varargs.
|
||||||
|
FIXME: GDB currently ignores vararg functions. */
|
||||||
|
if (p[0] == '0' && p[1] == '\0')
|
||||||
|
break;
|
||||||
|
ptype = read_type (&p, objfile);
|
||||||
|
|
||||||
|
/* The Sun compilers mark integer arguments, which should
|
||||||
|
be promoted to the width of the calling conventions, with
|
||||||
|
a type which references itself. This type is turned into
|
||||||
|
a TYPE_CODE_VOID type by read_type, and we have to turn
|
||||||
|
it back into builtin_type_int here.
|
||||||
|
FIXME: Do we need a new builtin_type_promoted_int_arg ? */
|
||||||
|
if (TYPE_CODE (ptype) == TYPE_CODE_VOID)
|
||||||
|
ptype = builtin_type_int;
|
||||||
|
TYPE_FIELD_TYPE (ftype, nparams++) = ptype;
|
||||||
|
}
|
||||||
|
TYPE_NFIELDS (ftype) = nparams;
|
||||||
|
TYPE_FLAGS (ftype) |= TYPE_FLAG_PROTOTYPED;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user