diff options
author | Doug Evans <dje@google.com> | 2013-01-28 17:49:40 +0000 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2013-01-28 17:49:40 +0000 |
commit | aa1707204662f78a2ef55e65430bc3b3a239e2b1 (patch) | |
tree | 7a5a791ddc5e82fe2cac65584b0a2352ab879880 /binutils | |
parent | 0c9573f43c0d0f0611b8a4dab3fb0bf680c0350e (diff) | |
download | gdb-aa1707204662f78a2ef55e65430bc3b3a239e2b1.zip gdb-aa1707204662f78a2ef55e65430bc3b3a239e2b1.tar.gz gdb-aa1707204662f78a2ef55e65430bc3b3a239e2b1.tar.bz2 |
* dwarf.c (display_gdb_index): Handle .gdb_index version 8.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 4 | ||||
-rw-r--r-- | binutils/dwarf.c | 6 |
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); |