From 442e4d9c87c24744b266abb5a616f90ac41b4378 Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Mon, 14 Jan 2013 10:39:33 +0000 Subject: [PATCH] gdb/ 2013-01-14 Yao Qi * dbxread.c (dbx_psymtab_to_symtab_1): Don't check PST is NULL. (dbx_psymtab_to_symtab): Likewise. * dwarf2read.c (dwarf2_psymtab_to_symtab): Likewise. * mdebugread.c (mdebug_psymtab_to_symtab): Likewise. * xcoffread.c (xcoff_psymtab_to_symtab_1): Likewise. --- gdb/ChangeLog | 8 ++++++ gdb/dbxread.c | 8 +----- gdb/dwarf2read.c | 70 +++++++++++++++++++++++------------------------- gdb/mdebugread.c | 5 +--- gdb/xcoffread.c | 5 +--- 5 files changed, 45 insertions(+), 51 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d9a2e456f5..2dbbc6a5f6 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2013-01-14 Yao Qi + + * dbxread.c (dbx_psymtab_to_symtab_1): Don't check PST is NULL. + (dbx_psymtab_to_symtab): Likewise. + * dwarf2read.c (dwarf2_psymtab_to_symtab): Likewise. + * mdebugread.c (mdebug_psymtab_to_symtab): Likewise. + * xcoffread.c (xcoff_psymtab_to_symtab_1): Likewise. + 2013-01-13 Jan Kratochvil * parse.c (parse_exp_in_context): New variable inner_chain. Call diff --git a/gdb/dbxread.c b/gdb/dbxread.c index ebe42377bb..16496d1d08 100644 --- a/gdb/dbxread.c +++ b/gdb/dbxread.c @@ -2406,9 +2406,6 @@ dbx_psymtab_to_symtab_1 (struct objfile *objfile, struct partial_symtab *pst) struct cleanup *old_chain; int i; - if (!pst) - return; - if (pst->readin) { fprintf_unfiltered (gdb_stderr, "Psymtab for %s already read in. " @@ -2455,7 +2452,7 @@ dbx_psymtab_to_symtab_1 (struct objfile *objfile, struct partial_symtab *pst) } /* Read in all of the symbols for a given psymtab for real. - Be verbose about it if the user wants that. */ + Be verbose about it if the user wants that. PST is not NULL. */ static void dbx_psymtab_to_symtab (struct objfile *objfile, struct partial_symtab *pst) @@ -2463,9 +2460,6 @@ dbx_psymtab_to_symtab (struct objfile *objfile, struct partial_symtab *pst) bfd *sym_bfd; struct cleanup *back_to = NULL; - if (!pst) - return; - if (pst->readin) { fprintf_unfiltered (gdb_stderr, "Psymtab for %s already read in. " diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index e2088f139d..7af89c608b 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -6405,52 +6405,50 @@ locate_pdi_sibling (const struct die_reader_specs *reader, return skip_children (reader, info_ptr); } -/* Expand this partial symbol table into a full symbol table. */ +/* Expand this partial symbol table into a full symbol table. PST is + not NULL. */ static void dwarf2_psymtab_to_symtab (struct objfile *objfile, struct partial_symtab *pst) { - if (pst != NULL) + if (pst->readin) { - if (pst->readin) + warning (_("bug: psymtab for %s is already read in."), + pst->filename); + } + else + { + if (info_verbose) { - warning (_("bug: psymtab for %s is already read in."), - pst->filename); + printf_filtered (_("Reading in symbols for %s..."), + pst->filename); + gdb_flush (gdb_stdout); } - else + + /* Restore our global data. */ + dwarf2_per_objfile = objfile_data (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 (objfile->separate_debug_objfile_backlink) { - if (info_verbose) - { - printf_filtered (_("Reading in symbols for %s..."), - pst->filename); - gdb_flush (gdb_stdout); - } + struct dwarf2_per_objfile *dpo_backlink + = objfile_data (objfile->separate_debug_objfile_backlink, + dwarf2_objfile_data_key); - /* Restore our global data. */ - dwarf2_per_objfile = objfile_data (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 (objfile->separate_debug_objfile_backlink) - { - struct dwarf2_per_objfile *dpo_backlink - = objfile_data (objfile->separate_debug_objfile_backlink, - dwarf2_objfile_data_key); - - dwarf2_per_objfile->has_section_at_zero - = dpo_backlink->has_section_at_zero; - } - - dwarf2_per_objfile->reading_partial_symbols = 0; - - psymtab_to_symtab_1 (pst); - - /* Finish up the debug error message. */ - if (info_verbose) - printf_filtered (_("done.\n")); + dwarf2_per_objfile->has_section_at_zero + = dpo_backlink->has_section_at_zero; } + + dwarf2_per_objfile->reading_partial_symbols = 0; + + psymtab_to_symtab_1 (pst); + + /* Finish up the debug error message. */ + if (info_verbose) + printf_filtered (_("done.\n")); } process_cu_includes (); diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c index 856ca9d7f4..2eb0536696 100644 --- a/gdb/mdebugread.c +++ b/gdb/mdebugread.c @@ -273,14 +273,11 @@ static char *mdebug_next_symbol_text (struct objfile *); /* Exported procedure: Builds a symtab from the PST partial one. Restores the environment in effect when PST was created, delegates most of the work to an ancillary procedure, and sorts - and reorders the symtab list at the end. */ + and reorders the symtab list at the end. PST is not NULL. */ static void mdebug_psymtab_to_symtab (struct objfile *objfile, struct partial_symtab *pst) { - if (!pst) - return; - if (info_verbose) { printf_filtered (_("Reading in symbols for %s..."), pst->filename); diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c index 9fe8621448..41aaf0201f 100644 --- a/gdb/xcoffread.c +++ b/gdb/xcoffread.c @@ -1855,14 +1855,11 @@ xcoff_psymtab_to_symtab_1 (struct objfile *objfile, struct partial_symtab *pst) } /* Read in all of the symbols for a given psymtab for real. - Be verbose about it if the user wants that. */ + Be verbose about it if the user wants that. PST is not NULL. */ static void xcoff_psymtab_to_symtab (struct objfile *objfile, struct partial_symtab *pst) { - if (!pst) - return; - if (pst->readin) { fprintf_unfiltered