* dbxread.c (discarding_local_symbols_complaint): New complaint.
(process_one_symbol): Complain about discarding local symbols due to a misplaced N_LBRAC entry.
This commit is contained in:
parent
c432ba1a88
commit
1f077a3e7c
2 changed files with 24 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2002-05-10 Kevin Buettner <kevinb@redhat.com>
|
||||||
|
|
||||||
|
* dbxread.c (discarding_local_symbols_complaint): New complaint.
|
||||||
|
(process_one_symbol): Complain about discarding local symbols
|
||||||
|
due to a misplaced N_LBRAC entry.
|
||||||
|
|
||||||
2002-05-09 Elena Zannoni <ezannoni@redhat.com>
|
2002-05-09 Elena Zannoni <ezannoni@redhat.com>
|
||||||
|
|
||||||
From Daniel Berlin <dan@cgsoftware.com>
|
From Daniel Berlin <dan@cgsoftware.com>
|
||||||
|
|
|
@ -203,6 +203,9 @@ struct complaint repeated_header_complaint =
|
||||||
|
|
||||||
struct complaint unclaimed_bincl_complaint =
|
struct complaint unclaimed_bincl_complaint =
|
||||||
{"N_BINCL %s not in entries for any file, at symtab pos %d", 0, 0};
|
{"N_BINCL %s not in entries for any file, at symtab pos %d", 0, 0};
|
||||||
|
|
||||||
|
struct complaint discarding_local_symbols_complaint =
|
||||||
|
{"misplaced N_LBRAC entry; discarding local symbols which have no enclosing block", 0, 0};
|
||||||
|
|
||||||
/* find_text_range --- find start and end of loadable code sections
|
/* find_text_range --- find start and end of loadable code sections
|
||||||
|
|
||||||
|
@ -2881,7 +2884,21 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
|
||||||
/* Can only use new->locals as local symbols here if we're in
|
/* Can only use new->locals as local symbols here if we're in
|
||||||
gcc or on a machine that puts them before the lbrack. */
|
gcc or on a machine that puts them before the lbrack. */
|
||||||
if (!VARIABLES_INSIDE_BLOCK (desc, processing_gcc_compilation))
|
if (!VARIABLES_INSIDE_BLOCK (desc, processing_gcc_compilation))
|
||||||
local_symbols = new->locals;
|
{
|
||||||
|
if (local_symbols != NULL)
|
||||||
|
{
|
||||||
|
/* GCC development snapshots from March to December of
|
||||||
|
2000 would output N_LSYM entries after N_LBRAC
|
||||||
|
entries. As a consequence, these symbols are simply
|
||||||
|
discarded. Complain if this is the case. Note that
|
||||||
|
there are some compilers which legitimately put local
|
||||||
|
symbols within an LBRAC/RBRAC block; this complaint
|
||||||
|
might also help sort out problems in which
|
||||||
|
VARIABLES_INSIDE_BLOCK is incorrectly defined. */
|
||||||
|
complain (&discarding_local_symbols_complaint);
|
||||||
|
}
|
||||||
|
local_symbols = new->locals;
|
||||||
|
}
|
||||||
|
|
||||||
if (context_stack_depth
|
if (context_stack_depth
|
||||||
> !VARIABLES_INSIDE_BLOCK (desc, processing_gcc_compilation))
|
> !VARIABLES_INSIDE_BLOCK (desc, processing_gcc_compilation))
|
||||||
|
|
Loading…
Reference in a new issue