From 20ca7f0fe4a909d31c0c52d700e27a486a752110 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Sep 25 2010 17:06:27 +0000 Subject: - Fix .gdb_index for big-endian hosts (Tom Tromey). --- diff --git a/gdb-gdbindex-bigendian.patch b/gdb-gdbindex-bigendian.patch new file mode 100644 index 0000000..b03632f --- /dev/null +++ b/gdb-gdbindex-bigendian.patch @@ -0,0 +1,96 @@ +http://sourceware.org/ml/gdb-patches/2010-09/msg00434.html +http://sourceware.org/ml/gdb-cvs/2010-09/msg00155.html + +### src/gdb/ChangeLog 2010/09/24 14:47:52 1.12202 +### src/gdb/ChangeLog 2010/09/24 16:11:44 1.12203 +## -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 +--- src/gdb/dwarf2read.c 2010/09/22 19:22:44 1.460 ++++ src/gdb/dwarf2read.c 2010/09/24 16:11:46 1.461 +@@ -2248,10 +2248,12 @@ dw2_expand_symtabs_matching (struct objf + { + 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; ++i) + { +@@ -2411,28 +2413,24 @@ + } + } + +- 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 @@ + 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); + } diff --git a/gdb.spec b/gdb.spec index 59ad980..f639764 100644 --- a/gdb.spec +++ b/gdb.spec @@ -27,7 +27,7 @@ Version: 7.2 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 12%{?_with_upstream:.upstream}%{dist} +Release: 13%{?_with_upstream:.upstream}%{dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and GFDL and BSD and Public Domain Group: Development/Debuggers @@ -448,6 +448,9 @@ Patch509: gdb-bz592031-siginfo-lost-3of5.patch Patch510: gdb-bz592031-siginfo-lost-4of5.patch Patch511: gdb-bz592031-siginfo-lost-5of5.patch +# Fix .gdb_index for big-endian hosts (Tom Tromey). +Patch512: gdb-gdbindex-bigendian.patch + BuildRequires: ncurses-devel%{?_isa} texinfo gettext flex bison expat-devel%{?_isa} Requires: readline%{?_isa} BuildRequires: readline-devel%{?_isa} @@ -716,6 +719,7 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c %patch509 -p1 %patch510 -p1 %patch511 -p1 +%patch512 -p1 %patch393 -p1 %patch335 -p1 @@ -1100,6 +1104,9 @@ fi %endif %changelog +* Sat Sep 25 2010 Jan Kratochvil - 7.2-13.fc14 +- Fix .gdb_index for big-endian hosts (Tom Tromey). + * Sat Sep 25 2010 Jan Kratochvil - 7.2-12.fc14 - Fix lost siginfo_t in linux-nat (BZ 592031).