aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2013-01-28 17:49:40 +0000
committerDoug Evans <dje@google.com>2013-01-28 17:49:40 +0000
commitaa1707204662f78a2ef55e65430bc3b3a239e2b1 (patch)
tree7a5a791ddc5e82fe2cac65584b0a2352ab879880 /binutils
parent0c9573f43c0d0f0611b8a4dab3fb0bf680c0350e (diff)
downloadfsf-binutils-gdb-aa1707204662f78a2ef55e65430bc3b3a239e2b1.zip
fsf-binutils-gdb-aa1707204662f78a2ef55e65430bc3b3a239e2b1.tar.gz
fsf-binutils-gdb-aa1707204662f78a2ef55e65430bc3b3a239e2b1.tar.bz2
* dwarf.c (display_gdb_index): Handle .gdb_index version 8.
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog4
-rw-r--r--binutils/dwarf.c6
2 files changed, 9 insertions, 1 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 8aae283..7b30f4e 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,7 @@
+2013-01-28 Doug Evans <dje@google.com>
+
+ * dwarf.c (display_gdb_index): Handle .gdb_index version 8.
+
2013-01-28 Robert Schiele <rschiele@gmail.com>
* objcopy.c (parse_flags): Add merge and strings section flags.
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 41c63e2..2d107a3 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -5721,7 +5721,7 @@ display_gdb_index (struct dwarf_section *section,
/* Prior versions are obsolete, and future versions may not be
backwards compatible. */
- if (version < 3 || version > 7)
+ if (version < 3 || version > 8)
{
warn (_("Unsupported version %lu.\n"), (unsigned long) version);
return 0;
@@ -5734,6 +5734,10 @@ display_gdb_index (struct dwarf_section *section,
warn (_("Version 5 does not include inlined functions.\n"));
if (version < 7)
warn (_("Version 6 does not include symbol attributes.\n"));
+ /* Version 7 indices generated by Gold have bad type unit references,
+ PR binutils/15021. But we don't know if the index was generated by
+ Gold or not, so to avoid worrying users with gdb-generated indices
+ we say nothing for version 7 here. */
cu_list_offset = byte_get_little_endian (start + 4, 4);
tu_list_offset = byte_get_little_endian (start + 8, 4);