[archer-tromey-dwz-multifile-rebase] Fix DWARF files reading (Tom Tromey).

This commit is contained in:
Jan Kratochvil 2012-07-06 19:30:32 +02:00
parent 5387893eab
commit e7f1c832a7
2 changed files with 14 additions and 10 deletions

View File

@ -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);

View File

@ -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 <jan.kratochvil@redhat.com> - 7.4.50.20120703-11.fc18
- [archer-tromey-dwz-multifile-rebase] Fix DWARF files reading (Tom Tromey).
* Fri Jul 6 2012 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.4.50.20120703-10.fc18
- Fix build-id-core-loads internal error (BZ 837870).