summaryrefslogtreecommitdiff
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
commit2733b663f32f4f695d04b69cceb13ac239a32803 (patch)
tree6b773fa328d3ef30dcc3968f58f1eaf3e720f917
parent98e55768134c27754a2e5a875c69306bf9d37ec3 (diff)
downloadgdb-2733b663f32f4f695d04b69cceb13ac239a32803.tar.gz
(_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 8874b8c1ef1..1bb5aa5991a 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 9c5e7b8d173..1cdd46156bb 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);