aboutsummaryrefslogtreecommitdiff
path: root/gdb/mdebugread.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/mdebugread.c')
-rw-r--r--gdb/mdebugread.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c
index 94d44f4..325afab 100644
--- a/gdb/mdebugread.c
+++ b/gdb/mdebugread.c
@@ -2490,6 +2490,13 @@ parse_partial_symbols (objfile, section_offsets)
cur_fdr = fh = debug_info->fdr + f_idx;
+ /* If a partial symbol table has already been read for this file,
+ don't make another one. This works around a problem with some
+ compilers that emit both DWARF and mdebug sections for a single
+ module. */
+ if (lookup_partial_symtab (fdr_name (fh)))
+ continue;
+
if (fh->csym == 0)
{
fdr_to_pst[f_idx].pst = NULL;