aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2010-09-24 16:11:46 +0000
committerTom Tromey <tromey@redhat.com>2010-09-24 16:11:46 +0000
commit4b5246aacb9c434034c9b0dc83bef1239aa55451 (patch)
tree7521ceb7fd4da2a4f5518b8fd3b3e847e9bffcdf
parent2a7d6a257ff5db0136fef833d498644ea57bf285 (diff)
downloadgdb-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/ChangeLog6
-rw-r--r--gdb/dwarf2read.c29
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);
}