From 9477009acccda579d8b6dd51a5f830ec7114be84 Mon Sep 17 00:00:00 2001 From: tromey Date: Fri, 24 Sep 2010 16:11:44 +0000 Subject: [PATCH] * dwarf2read.c (dw2_expand_symtabs_matching): Add missing MAYBE_SWAPs. (dw2_map_symbol_names): Likewise. --- gdb/ChangeLog | 6 ++++++ gdb/dwarf2read.c | 29 +++++++++++++---------------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 38117e1bad..97dcaac00c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2010-09-24 Tom Tromey + + * dwarf2read.c (dw2_expand_symtabs_matching): Add missing + MAYBE_SWAPs. + (dw2_map_symbol_names): Likewise. + 2010-09-24 Sami Wagiaalla * valops.c (find_oload_champ_namespace_loop): replace incorrect diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 8a87b7b029..c407b10e08 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); } -- 2.11.0