[archer-tromey-dwz-multifile-rebase] Fix DWARF files reading (Tom Tromey).
This commit is contained in:
parent
5387893eab
commit
e7f1c832a7
@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectArcher
|
|||||||
http://sourceware.org/gdb/wiki/ArcherBranchManagement
|
http://sourceware.org/gdb/wiki/ArcherBranchManagement
|
||||||
|
|
||||||
GIT snapshot:
|
GIT snapshot:
|
||||||
commit f07a2a24c493eebc9df6b7c9ca8c7fe0813aaffd
|
commit b478323cbd38598902fa2efb1794192d7ba627b1
|
||||||
|
|
||||||
branch `archer' - the merge of branches:
|
branch `archer' - the merge of branches:
|
||||||
archer-jankratochvil-vla
|
archer-jankratochvil-vla
|
||||||
@ -1501,7 +1501,7 @@ index e9d06a3..bfa6776 100644
|
|||||||
/* Compile a DWARF location expression to an agent expression.
|
/* Compile a DWARF location expression to an agent expression.
|
||||||
|
|
||||||
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
||||||
index 52288e8..447dc25 100644
|
index 52288e8..603b669 100644
|
||||||
--- a/gdb/dwarf2read.c
|
--- a/gdb/dwarf2read.c
|
||||||
+++ b/gdb/dwarf2read.c
|
+++ b/gdb/dwarf2read.c
|
||||||
@@ -64,20 +64,12 @@
|
@@ -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 *
|
static struct dwarf2_per_cu_data *
|
||||||
dwarf2_find_containing_comp_unit (sect_offset offset,
|
dwarf2_find_containing_comp_unit (sect_offset offset,
|
||||||
@ -3575,8 +3575,9 @@ index 52288e8..447dc25 100644
|
|||||||
- >= offset.sect_off)
|
- >= offset.sect_off)
|
||||||
+ mid_cu = dwarf2_per_objfile->all_comp_units[mid];
|
+ mid_cu = dwarf2_per_objfile->all_comp_units[mid];
|
||||||
+ cu_off = &mid_cu->offset;
|
+ cu_off = &mid_cu->offset;
|
||||||
+ if (mid_cu->is_dwz >= offset_in_dwz
|
+ if (mid_cu->is_dwz > offset_in_dwz
|
||||||
+ && cu_off->sect_off >= offset.sect_off)
|
+ || (mid_cu->is_dwz == offset_in_dwz
|
||||||
|
+ && cu_off->sect_off >= offset.sect_off))
|
||||||
high = mid;
|
high = mid;
|
||||||
else
|
else
|
||||||
low = mid + 1;
|
low = mid + 1;
|
||||||
@ -3593,7 +3594,7 @@ index 52288e8..447dc25 100644
|
|||||||
error (_("Dwarf Error: could not find partial DIE containing "
|
error (_("Dwarf Error: could not find partial DIE containing "
|
||||||
"offset 0x%lx [in module %s]"),
|
"offset 0x%lx [in module %s]"),
|
||||||
(long) offset.sect_off, bfd_get_filename (objfile->obfd));
|
(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);
|
&& 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
|
/* Set the type associated with DIE to TYPE. Save it in CU's hash
|
||||||
table if necessary. For convenience, return TYPE.
|
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 dwarf2_per_cu_offset_and_type **slot, ofs;
|
||||||
struct objfile *objfile = cu->objfile;
|
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
|
/* For Ada types, make sure that the gnat-specific data is always
|
||||||
initialized (if not already set). There are a few types where
|
initialized (if not already set). There are a few types where
|
||||||
we should not be doing so, because the type-specific area is
|
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, "");
|
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)
|
for (ix = 0; ix < dwarf2_per_objfile->n_comp_units; ++ix)
|
||||||
VEC_free (dwarf2_per_cu_ptr,
|
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)
|
if (data->dwo_files)
|
||||||
free_dwo_files (data->dwo_files, objfile);
|
free_dwo_files (data->dwo_files, objfile);
|
||||||
|
5
gdb.spec
5
gdb.spec
@ -35,7 +35,7 @@ Version: 7.4.50.%{snap}
|
|||||||
|
|
||||||
# The release always contains a leading reserved number, start it at 1.
|
# 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.
|
# `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
|
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain
|
||||||
Group: Development/Debuggers
|
Group: Development/Debuggers
|
||||||
@ -1352,6 +1352,9 @@ fi
|
|||||||
%endif # 0%{!?el5:1} || "%{_target_cpu}" == "noarch"
|
%endif # 0%{!?el5:1} || "%{_target_cpu}" == "noarch"
|
||||||
|
|
||||||
%changelog
|
%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
|
* 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).
|
- Fix build-id-core-loads internal error (BZ 837870).
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user