PR gdb/12538:
authorTom Tromey <tromey@redhat.com>
Thu, 3 Mar 2011 17:33:40 +0000 (17:33 +0000)
committerTom Tromey <tromey@redhat.com>
Thu, 3 Mar 2011 17:33:40 +0000 (17:33 +0000)
* dwarf2read.c (process_psymtab_comp_unit): Handle case where
DW_STRING is NULL.

gdb/ChangeLog
gdb/dwarf2read.c

index 285c01be8f1f0e4733bcd18eef9190b7904b27f4..6a26ea41431e58f269a8fa2eca14b92970ca634c 100644 (file)
@@ -1,3 +1,9 @@
+2011-03-03  Tom Tromey  <tromey@redhat.com>
+
+       PR gdb/12538:
+       * dwarf2read.c (process_psymtab_comp_unit): Handle case where
+       DW_STRING is NULL.
+
 2011-03-03  Michael Snyder  <msnyder@vmware.com>
 
        * tui/tui-winsource.c (tui_update_source_window_as_is): Initialize
index a255eefd5366de99dc43f07c6b7d4108d643099c..d12028f6175fc12c79c71a1f637df7f9f8f59990 100644 (file)
@@ -3191,6 +3191,7 @@ process_psymtab_comp_unit (struct objfile *objfile,
   struct attribute *attr;
   CORE_ADDR best_lowpc = 0, best_highpc = 0;
   struct die_reader_specs reader_specs;
+  const char *filename;
 
   init_one_comp_unit (&cu, objfile);
   back_to_inner = make_cleanup (free_stack_comp_unit, &cu);
@@ -3250,8 +3251,12 @@ process_psymtab_comp_unit (struct objfile *objfile,
 
   /* Allocate a new partial symbol table structure.  */
   attr = dwarf2_attr (comp_unit_die, DW_AT_name, &cu);
+  if (attr == NULL || !DW_STRING (attr))
+    filename = "";
+  else
+    filename = DW_STRING (attr);
   pst = start_psymtab_common (objfile, objfile->section_offsets,
-                             (attr != NULL) ? DW_STRING (attr) : "",
+                             filename,
                              /* TEXTLOW and TEXTHIGH are set below.  */
                              0,
                              objfile->global_psymbols.next,