diff options
author | Peter Schauer <Peter.Schauer@mytum.de> | 1994-02-04 09:19:35 +0000 |
---|---|---|
committer | Peter Schauer <Peter.Schauer@mytum.de> | 1994-02-04 09:19:35 +0000 |
commit | 4386eff2d12dc946403cc01998dfdcb1d19676c8 (patch) | |
tree | 8f3a259d0e4f91844aebd8ea5611ede9a6b8a0bc | |
parent | cbc174e7abb4e8b38281aacadb21aa929fade447 (diff) | |
download | gdb-4386eff2d12dc946403cc01998dfdcb1d19676c8.zip gdb-4386eff2d12dc946403cc01998dfdcb1d19676c8.tar.gz gdb-4386eff2d12dc946403cc01998dfdcb1d19676c8.tar.bz2 |
* dwarfread.c (process_dies): Skip nested TAG_compile_unit DIEs.
* dwarfread.c (add_partial_symbol): Do not enter opaque aggregate
definitions into the psymtab.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/dwarfread.c | 13 |
2 files changed, 17 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0fa4071..a43aa2c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +Fri Feb 4 01:14:20 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * dwarfread.c (process_dies): Skip nested TAG_compile_unit DIEs. + * dwarfread.c (add_partial_symbol): Do not enter opaque aggregate + definitions into the psymtab. + Thu Feb 3 12:38:58 1994 Jim Kingdon (kingdon@lioth.cygnus.com) * m68k-stub.c: Treat mc68332 like mc68020 most places. Provide diff --git a/gdb/dwarfread.c b/gdb/dwarfread.c index 956fb7e..be67651 100644 --- a/gdb/dwarfread.c +++ b/gdb/dwarfread.c @@ -1,5 +1,5 @@ /* DWARF debugging format support for GDB. - Copyright (C) 1991, 1992 Free Software Foundation, Inc. + Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc. Written by Fred Fish at Cygnus Support. Portions based on dbxread.c, mipsread.c, coffread.c, and dwarfread.c from a Data General SVR4 gdb port. @@ -1997,7 +1997,13 @@ process_dies (thisdie, enddie, objfile) switch (di.die_tag) { case TAG_compile_unit: - read_file_scope (&di, thisdie, nextdie, objfile); + /* Skip Tag_compile_unit if we are already inside a compilation + unit, we are unable to handle nested compilation units + properly (FIXME). */ + if (current_subfile == NULL) + read_file_scope (&di, thisdie, nextdie, objfile); + else + nextdie = thisdie + di.die_length; break; case TAG_global_subroutine: case TAG_subroutine: @@ -2618,6 +2624,9 @@ add_partial_symbol (dip, objfile) case TAG_structure_type: case TAG_union_type: case TAG_enumeration_type: + /* Do not add opaque aggregate definitions to the psymtab. */ + if (!dip -> has_at_byte_size) + break; ADD_PSYMBOL_TO_LIST (dip -> at_name, strlen (dip -> at_name), STRUCT_NAMESPACE, LOC_TYPEDEF, objfile -> static_psymbols, |