aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Schauer <Peter.Schauer@mytum.de>1994-02-04 09:19:35 +0000
committerPeter Schauer <Peter.Schauer@mytum.de>1994-02-04 09:19:35 +0000
commit4386eff2d12dc946403cc01998dfdcb1d19676c8 (patch)
tree8f3a259d0e4f91844aebd8ea5611ede9a6b8a0bc
parentcbc174e7abb4e8b38281aacadb21aa929fade447 (diff)
downloadgdb-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/ChangeLog6
-rw-r--r--gdb/dwarfread.c13
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,