mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-19 07:13:40 +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:
parent
03f3bfdb7a
commit
a871ab927b
@ -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)
|
||||
|
||||
* Makefile.in (config-check-targets, config-check-hosts): Removed.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* 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.
|
||||
|
||||
This file is part of GDB.
|
||||
@ -1616,18 +1616,47 @@ define_symbol (valu, string, desc, type, objfile)
|
||||
/* fall into process_prototype_types */
|
||||
|
||||
process_prototype_types:
|
||||
/* Sun acc puts declared types of arguments here. We don't care
|
||||
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. */
|
||||
/* Sun acc puts declared types of arguments here. */
|
||||
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 == ';') {
|
||||
p++;
|
||||
read_type (&p, objfile);
|
||||
}
|
||||
/* Obtain a worst case guess for the number of arguments
|
||||
by counting the semicolons. */
|
||||
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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user