diff options
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/dwarf2.c | 7 |
2 files changed, 13 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 8874b8c..1bb5aa5 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu> + + * dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is + zero, set it to 8 for (non-standard) 64-bit DWARF2 formats + (e.g. IRIX64). + 2002-09-19 Jakub Jelinek <jakub@redhat.com> * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index 9c5e7b8..1cdd461 100644 --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c @@ -1907,6 +1907,13 @@ _bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset, length = read_8_bytes (abfd, stash->info_ptr + 4); stash->info_ptr += 8; } + else if (length == 0) + { + /* Handle (non-standard) 64-bit DWARF2 formats. */ + offset_size = 8; + length = read_4_bytes (abfd, stash->info_ptr + 4); + stash->info_ptr += 4; + } } else length = read_8_bytes (abfd, stash->info_ptr); |