From ef05b84d9701bffb68429a698e48c393a344369e Mon Sep 17 00:00:00 2001 From: tromey Date: Thu, 3 Mar 2011 17:33:38 +0000 Subject: [PATCH] PR gdb/12538: * dwarf2read.c (process_psymtab_comp_unit): Handle case where DW_STRING is NULL. --- gdb/ChangeLog | 6 ++++++ gdb/dwarf2read.c | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 285c01be8f..6a26ea4143 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2011-03-03 Tom Tromey + + PR gdb/12538: + * dwarf2read.c (process_psymtab_comp_unit): Handle case where + DW_STRING is NULL. + 2011-03-03 Michael Snyder * tui/tui-winsource.c (tui_update_source_window_as_is): Initialize diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index a255eefd53..d12028f617 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -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, -- 2.11.0