]> git.pld-linux.org Git - packages/gdb.git/blame - gdb-gdbindex-bigendian.patch
- updated (performance fixes).
[packages/gdb.git] / gdb-gdbindex-bigendian.patch
CommitLineData
51a5ef0f
PS
1http://sourceware.org/ml/gdb-patches/2010-09/msg00434.html
2http://sourceware.org/ml/gdb-cvs/2010-09/msg00155.html
3
4### src/gdb/ChangeLog 2010/09/24 14:47:52 1.12202
5### src/gdb/ChangeLog 2010/09/24 16:11:44 1.12203
6## -1,3 +1,9 @@
7+2010-09-24 Tom Tromey <tromey@redhat.com>
8+
9+ * dwarf2read.c (dw2_expand_symtabs_matching): Add missing
10+ MAYBE_SWAPs.
11+ (dw2_map_symbol_names): Likewise.
12+
13 2010-09-24 Sami Wagiaalla <swagiaal@redhat.com>
14
15 * valops.c (find_oload_champ_namespace_loop): replace incorrect
16--- src/gdb/dwarf2read.c 2010/09/22 19:22:44 1.460
17+++ src/gdb/dwarf2read.c 2010/09/24 16:11:46 1.461
e5178960 18@@ -2382,10 +2382,12 @@
51a5ef0f
PS
19 {
20 int i;
21 offset_type iter;
22+ struct mapped_index *index;
23
24 dw2_setup (objfile);
25 if (!dwarf2_per_objfile->index_table)
26 return;
27+ index = dwarf2_per_objfile->index_table;
28
e5178960
PS
29 for (i = 0; i < (dwarf2_per_objfile->n_comp_units
30 + dwarf2_per_objfile->n_type_comp_units); ++i)
51a5ef0f
PS
31@@ -2411,28 +2413,24 @@
32 }
33 }
34
35- for (iter = 0;
36- iter < dwarf2_per_objfile->index_table->index_table_slots;
37- ++iter)
38+ for (iter = 0; iter < index->index_table_slots; ++iter)
39 {
40 offset_type idx = 2 * iter;
41 const char *name;
42 offset_type *vec, vec_len, vec_idx;
43
44- if (dwarf2_per_objfile->index_table->index_table[idx] == 0
45- && dwarf2_per_objfile->index_table->index_table[idx + 1] == 0)
46+ if (index->index_table[idx] == 0 && index->index_table[idx + 1] == 0)
47 continue;
48
49- name = (dwarf2_per_objfile->index_table->constant_pool
50- + dwarf2_per_objfile->index_table->index_table[idx]);
51+ name = index->constant_pool + MAYBE_SWAP (index->index_table[idx]);
52
53 if (! (*name_matcher) (name, data))
54 continue;
55
56 /* The name was matched, now expand corresponding CUs that were
57 marked. */
58- vec = (offset_type *) (dwarf2_per_objfile->index_table->constant_pool
59- + dwarf2_per_objfile->index_table->index_table[idx + 1]);
60+ vec = (offset_type *) (index->constant_pool
61+ + MAYBE_SWAP (index->index_table[idx + 1]));
62 vec_len = MAYBE_SWAP (vec[0]);
63 for (vec_idx = 0; vec_idx < vec_len; ++vec_idx)
64 {
65@@ -2476,25 +2474,24 @@
66 void *data)
67 {
68 offset_type iter;
69+ struct mapped_index *index;
70+
71 dw2_setup (objfile);
72
73 if (!dwarf2_per_objfile->index_table)
74 return;
75+ index = dwarf2_per_objfile->index_table;
76
77- for (iter = 0;
78- iter < dwarf2_per_objfile->index_table->index_table_slots;
79- ++iter)
80+ for (iter = 0; iter < index->index_table_slots; ++iter)
81 {
82 offset_type idx = 2 * iter;
83 const char *name;
84 offset_type *vec, vec_len, vec_idx;
85
86- if (dwarf2_per_objfile->index_table->index_table[idx] == 0
87- && dwarf2_per_objfile->index_table->index_table[idx + 1] == 0)
88+ if (index->index_table[idx] == 0 && index->index_table[idx + 1] == 0)
89 continue;
90
91- name = (dwarf2_per_objfile->index_table->constant_pool
92- + dwarf2_per_objfile->index_table->index_table[idx]);
93+ name = (index->constant_pool + MAYBE_SWAP (index->index_table[idx]));
94
95 (*fun) (name, data);
96 }
This page took 0.076401 seconds and 4 git commands to generate.