]> git.pld-linux.org Git - packages/gdb.git/blob - gdb-gdbindex-bigendian.patch
- updated (performance fixes).
[packages/gdb.git] / gdb-gdbindex-bigendian.patch
1 http://sourceware.org/ml/gdb-patches/2010-09/msg00434.html
2 http://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
18 @@ -2382,10 +2382,12 @@
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  
29    for (i = 0; i < (dwarf2_per_objfile->n_comp_units
30                    + dwarf2_per_objfile->n_type_comp_units); ++i)
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.646761 seconds and 3 git commands to generate.