diff options
author | Tom Tromey <tromey@redhat.com> | 2010-09-24 16:11:46 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2010-09-24 16:11:46 +0000 |
commit | 4b5246aacb9c434034c9b0dc83bef1239aa55451 (patch) | |
tree | 7521ceb7fd4da2a4f5518b8fd3b3e847e9bffcdf | |
parent | 2a7d6a257ff5db0136fef833d498644ea57bf285 (diff) | |
download | gdb-4b5246aacb9c434034c9b0dc83bef1239aa55451.zip gdb-4b5246aacb9c434034c9b0dc83bef1239aa55451.tar.gz gdb-4b5246aacb9c434034c9b0dc83bef1239aa55451.tar.bz2 |
* dwarf2read.c (dw2_expand_symtabs_matching): Add missing
MAYBE_SWAPs.
(dw2_map_symbol_names): Likewise.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/dwarf2read.c | 29 |
2 files changed, 19 insertions, 16 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 38117e1..97dcaac 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2010-09-24 Tom Tromey <tromey@redhat.com> + + * dwarf2read.c (dw2_expand_symtabs_matching): Add missing + MAYBE_SWAPs. + (dw2_map_symbol_names): Likewise. + 2010-09-24 Sami Wagiaalla <swagiaal@redhat.com> * valops.c (find_oload_champ_namespace_loop): replace incorrect diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 8a87b7b..c407b10 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -2382,10 +2382,12 @@ dw2_expand_symtabs_matching (struct objfile *objfile, { int i; offset_type iter; + struct mapped_index *index; dw2_setup (objfile); if (!dwarf2_per_objfile->index_table) return; + index = dwarf2_per_objfile->index_table; for (i = 0; i < (dwarf2_per_objfile->n_comp_units + dwarf2_per_objfile->n_type_comp_units); ++i) @@ -2411,28 +2413,24 @@ dw2_expand_symtabs_matching (struct objfile *objfile, } } - for (iter = 0; - iter < dwarf2_per_objfile->index_table->index_table_slots; - ++iter) + for (iter = 0; iter < index->index_table_slots; ++iter) { offset_type idx = 2 * iter; const char *name; offset_type *vec, vec_len, vec_idx; - if (dwarf2_per_objfile->index_table->index_table[idx] == 0 - && dwarf2_per_objfile->index_table->index_table[idx + 1] == 0) + if (index->index_table[idx] == 0 && index->index_table[idx + 1] == 0) continue; - name = (dwarf2_per_objfile->index_table->constant_pool - + dwarf2_per_objfile->index_table->index_table[idx]); + name = index->constant_pool + MAYBE_SWAP (index->index_table[idx]); if (! (*name_matcher) (name, data)) continue; /* The name was matched, now expand corresponding CUs that were marked. */ - vec = (offset_type *) (dwarf2_per_objfile->index_table->constant_pool - + dwarf2_per_objfile->index_table->index_table[idx + 1]); + vec = (offset_type *) (index->constant_pool + + MAYBE_SWAP (index->index_table[idx + 1])); vec_len = MAYBE_SWAP (vec[0]); for (vec_idx = 0; vec_idx < vec_len; ++vec_idx) { @@ -2476,25 +2474,24 @@ dw2_map_symbol_names (struct objfile *objfile, void *data) { offset_type iter; + struct mapped_index *index; + dw2_setup (objfile); if (!dwarf2_per_objfile->index_table) return; + index = dwarf2_per_objfile->index_table; - for (iter = 0; - iter < dwarf2_per_objfile->index_table->index_table_slots; - ++iter) + for (iter = 0; iter < index->index_table_slots; ++iter) { offset_type idx = 2 * iter; const char *name; offset_type *vec, vec_len, vec_idx; - if (dwarf2_per_objfile->index_table->index_table[idx] == 0 - && dwarf2_per_objfile->index_table->index_table[idx + 1] == 0) + if (index->index_table[idx] == 0 && index->index_table[idx + 1] == 0) continue; - name = (dwarf2_per_objfile->index_table->constant_pool - + dwarf2_per_objfile->index_table->index_table[idx]); + name = (index->constant_pool + MAYBE_SWAP (index->index_table[idx])); (*fun) (name, data); } |