From: Kevin Buettner Date: Sat, 13 Jun 2009 04:23:34 +0000 (+0000) Subject: * dwarf2read.c (dwarf2_psymtab_to_symtab): Propagate X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b2ab525c1e826490dfcbcdb9b9e81f5f5d03b0cf;p=binutils-gdb.git * dwarf2read.c (dwarf2_psymtab_to_symtab): Propagate `has_section_at_zero' flag from stripped objfile to separate, debug info only, objfile. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 26c7b2a4455..a6c1a8bf27a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2009-06-12 Kevin Buettner + + * dwarf2read.c (dwarf2_psymtab_to_symtab): Propagate + `has_section_at_zero' flag from stripped objfile to separate, + debug info only, objfile. + 2009-06-12 Pedro Alves * exec.h (section_table_xfer_memory_partial): Improve description, diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 6da8f4ed9ef..849b2afc071 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -2541,6 +2541,19 @@ dwarf2_psymtab_to_symtab (struct partial_symtab *pst) dwarf2_per_objfile = objfile_data (pst->objfile, dwarf2_objfile_data_key); + /* If this psymtab is constructed from a debug-only objfile, the + has_section_at_zero flag will not necessarily be correct. We + can get the correct value for this flag by looking at the data + associated with the (presumably stripped) associated objfile. */ + if (pst->objfile->separate_debug_objfile_backlink) + { + struct dwarf2_per_objfile *dpo_backlink + = objfile_data (pst->objfile->separate_debug_objfile_backlink, + dwarf2_objfile_data_key); + dwarf2_per_objfile->has_section_at_zero + = dpo_backlink->has_section_at_zero; + } + psymtab_to_symtab_1 (pst); /* Finish up the debug error message. */