diff options
author | Doug Evans <dje@google.com> | 2010-12-08 18:04:08 +0000 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2010-12-08 18:04:08 +0000 |
commit | d4637a04714af3e034b0b3b680980832e9764300 (patch) | |
tree | 79c4577f419c29864d3bf3b10fbc03e914846e1d | |
parent | 1ef75ecca6ee904e9c312f9941515326c5ef7649 (diff) | |
download | gdb-d4637a04714af3e034b0b3b680980832e9764300.zip gdb-d4637a04714af3e034b0b3b680980832e9764300.tar.gz gdb-d4637a04714af3e034b0b3b680980832e9764300.tar.bz2 |
* symfile.h (quick_symbol_functions): Clarify usage of
expand_symtabs_with_filename.
* dwarf2read.c (dw2_expand_symtabs_with_filename): Only iterate over
comp units, ignore type units.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/dwarf2read.c | 9 | ||||
-rw-r--r-- | gdb/symfile.h | 5 |
3 files changed, 16 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 17d67af..5b89470 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2010-12-08 Doug Evans <dje@google.com> + * symfile.h (quick_symbol_functions): Clarify usage of + expand_symtabs_with_filename. + * dwarf2read.c (dw2_expand_symtabs_with_filename): Only iterate over + comp units, ignore type units. + * dwarf2read.c (dw2_expand_symtabs_with_filename): Use FILENAME_CMP. 2010-12-07 Doug Evans <dje@google.com> diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 82cde1b..8801fb1 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -2323,8 +2323,13 @@ dw2_expand_symtabs_with_filename (struct objfile *objfile, int i; dw2_setup (objfile); - for (i = 0; i < (dwarf2_per_objfile->n_comp_units - + dwarf2_per_objfile->n_type_comp_units); ++i) + + /* We don't need to consider type units here. + This is only called for examining code, e.g. expand_line_sal. + There can be an order of magnitude (or more) more type units + than comp units, and we avoid them if we can. */ + + for (i = 0; i < dwarf2_per_objfile->n_comp_units; ++i) { int j; struct dwarf2_per_cu_data *per_cu = dw2_get_cu (i); diff --git a/gdb/symfile.h b/gdb/symfile.h index e989d5c..297c181 100644 --- a/gdb/symfile.h +++ b/gdb/symfile.h @@ -209,7 +209,10 @@ struct quick_symbol_functions void (*expand_all_symtabs) (struct objfile *objfile); /* Read all symbol tables associated with OBJFILE which have the - file name FILENAME. */ + file name FILENAME. + This is for the purposes of examining code only, e.g., expand_line_sal. + The routine may ignore debug info that is known to not be useful with + code, e.g., DW_TAG_type_unit for dwarf debug info. */ void (*expand_symtabs_with_filename) (struct objfile *objfile, const char *filename); |