From aa1707204662f78a2ef55e65430bc3b3a239e2b1 Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Mon, 28 Jan 2013 17:49:40 +0000 Subject: [PATCH] * dwarf.c (display_gdb_index): Handle .gdb_index version 8. --- binutils/ChangeLog | 4 ++++ binutils/dwarf.c | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) 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 + + * dwarf.c (display_gdb_index): Handle .gdb_index version 8. + 2013-01-28 Robert Schiele * 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); -- 2.7.4