aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2002-09-20 07:28:54 +0000
committerNick Clifton <nickc@redhat.com>2002-09-20 07:28:54 +0000
commit759365550adde37c0e94b0109b128e41bc65418d (patch)
tree4e05d7d03f150cb977c1f7ed10477bb4510532fe
parent9f269a7285fd80b4c191305994b0af006c3fa1f5 (diff)
downloadgdb-759365550adde37c0e94b0109b128e41bc65418d.zip
gdb-759365550adde37c0e94b0109b128e41bc65418d.tar.gz
gdb-759365550adde37c0e94b0109b128e41bc65418d.tar.bz2
(_bfd_dwarf2_find_nearest_line): If address length is zero, set it to 8 for
(non-standard) 64-bit DWARF2 formats (e.g. IRIX64).
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/dwarf2.c7
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);