From e7f1c832a7a82285a0a7e759e1c18cd5fd8c0ac8 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Fri, 6 Jul 2012 19:30:32 +0200 Subject: [PATCH] [archer-tromey-dwz-multifile-rebase] Fix DWARF files reading (Tom Tromey). --- gdb-archer.patch | 19 ++++++++++--------- gdb.spec | 5 ++++- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/gdb-archer.patch b/gdb-archer.patch index 0d15626..db9a9bb 100644 --- a/gdb-archer.patch +++ b/gdb-archer.patch @@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectArcher http://sourceware.org/gdb/wiki/ArcherBranchManagement GIT snapshot: -commit f07a2a24c493eebc9df6b7c9ca8c7fe0813aaffd +commit b478323cbd38598902fa2efb1794192d7ba627b1 branch `archer' - the merge of branches: archer-jankratochvil-vla @@ -1501,7 +1501,7 @@ index e9d06a3..bfa6776 100644 /* Compile a DWARF location expression to an agent expression. diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c -index 52288e8..447dc25 100644 +index 52288e8..603b669 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -64,20 +64,12 @@ @@ -3553,7 +3553,7 @@ index 52288e8..447dc25 100644 } } -@@ -17008,28 +17548,34 @@ dwarf2_per_cu_text_offset (struct dwarf2_per_cu_data *per_cu) +@@ -17008,28 +17548,35 @@ dwarf2_per_cu_text_offset (struct dwarf2_per_cu_data *per_cu) static struct dwarf2_per_cu_data * dwarf2_find_containing_comp_unit (sect_offset offset, @@ -3575,8 +3575,9 @@ index 52288e8..447dc25 100644 - >= offset.sect_off) + mid_cu = dwarf2_per_objfile->all_comp_units[mid]; + cu_off = &mid_cu->offset; -+ if (mid_cu->is_dwz >= offset_in_dwz -+ && cu_off->sect_off >= offset.sect_off) ++ if (mid_cu->is_dwz > offset_in_dwz ++ || (mid_cu->is_dwz == offset_in_dwz ++ && cu_off->sect_off >= offset.sect_off)) high = mid; else low = mid + 1; @@ -3593,7 +3594,7 @@ index 52288e8..447dc25 100644 error (_("Dwarf Error: could not find partial DIE containing " "offset 0x%lx [in module %s]"), (long) offset.sect_off, bfd_get_filename (objfile->obfd)); -@@ -17270,6 +17816,25 @@ per_cu_offset_and_type_eq (const void *item_lhs, const void *item_rhs) +@@ -17270,6 +17817,25 @@ per_cu_offset_and_type_eq (const void *item_lhs, const void *item_rhs) && ofs_lhs->offset.sect_off == ofs_rhs->offset.sect_off); } @@ -3619,7 +3620,7 @@ index 52288e8..447dc25 100644 /* Set the type associated with DIE to TYPE. Save it in CU's hash table if necessary. For convenience, return TYPE. -@@ -17294,6 +17859,8 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) +@@ -17294,6 +17860,8 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) struct dwarf2_per_cu_offset_and_type **slot, ofs; struct objfile *objfile = cu->objfile; @@ -3628,7 +3629,7 @@ index 52288e8..447dc25 100644 /* For Ada types, make sure that the gnat-specific data is always initialized (if not already set). There are a few types where we should not be doing so, because the type-specific area is -@@ -17471,53 +18038,13 @@ show_dwarf2_cmd (char *args, int from_tty) +@@ -17471,53 +18039,13 @@ show_dwarf2_cmd (char *args, int from_tty) cmd_show_list (show_dwarf2_cmdlist, from_tty, ""); } @@ -3683,7 +3684,7 @@ index 52288e8..447dc25 100644 for (ix = 0; ix < dwarf2_per_objfile->n_comp_units; ++ix) VEC_free (dwarf2_per_cu_ptr, -@@ -17527,6 +18054,9 @@ dwarf2_per_objfile_free (struct objfile *objfile, void *d) +@@ -17527,6 +18055,9 @@ dwarf2_per_objfile_free (struct objfile *objfile, void *d) if (data->dwo_files) free_dwo_files (data->dwo_files, objfile); diff --git a/gdb.spec b/gdb.spec index 05e641e..de96430 100644 --- a/gdb.spec +++ b/gdb.spec @@ -35,7 +35,7 @@ Version: 7.4.50.%{snap} # 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: 10%{?dist} +Release: 11%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain Group: Development/Debuggers @@ -1352,6 +1352,9 @@ fi %endif # 0%{!?el5:1} || "%{_target_cpu}" == "noarch" %changelog +* Fri Jul 6 2012 Jan Kratochvil - 7.4.50.20120703-11.fc18 +- [archer-tromey-dwz-multifile-rebase] Fix DWARF files reading (Tom Tromey). + * Fri Jul 6 2012 Jan Kratochvil - 7.4.50.20120703-10.fc18 - Fix build-id-core-loads internal error (BZ 837870).