2002-06-27 Kevin Buettner <kevinb@redhat.com>

* dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
	DWARF2 formats.
This commit is contained in:
Alan Modra 2002-06-27 11:51:42 +00:00
parent feee612b24
commit 91a4d5692a
2 changed files with 17 additions and 16 deletions

View File

@ -1,3 +1,8 @@
2002-06-27 Kevin Buettner <kevinb@redhat.com>
* dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
DWARF2 formats.
2002-06-27 Alan Modra <amodra@bigpond.net.au>
* cpu-powerpc.c: Comment on ordering of arch_info.
@ -20,8 +25,8 @@
* config.bfd (powerpc-*-aix5*): Only create a selvecs for
aix5coff64_vec if 64-bit bfd support has been enabled.
(powerpc64-*-aix5*): Only define if 64-bit bfd support has
been enabled.
(powerpc64-*-aix5*): Only define if 64-bit bfd support has
been enabled.
* targets.c (_bfd_target_vector[]): Only include
aix5coff64_vec if 64-bit bfd support has been enabled.

View File

@ -981,26 +981,22 @@ decode_line_info (unit, stash)
line_ptr = stash->dwarf_line_buffer + unit->line_offset;
/* Read in the prologue. */
if (unit->addr_size == 4)
{
lh.total_length = read_4_bytes (abfd, line_ptr);
line_ptr += 4;
offset_size = 4;
}
else
{
BFD_ASSERT (unit->addr_size == 8);
lh.total_length = read_8_bytes (abfd, line_ptr);
line_ptr += 8;
offset_size = 8;
}
lh.total_length = read_4_bytes (abfd, line_ptr);
line_ptr += 4;
offset_size = 4;
if (lh.total_length == 0xffffffff)
{
lh.total_length = read_8_bytes (abfd, line_ptr);
line_ptr += 8;
offset_size = 8;
}
else if (lh.total_length == 0 && unit->addr_size == 8)
{
/* Handle (non-standard) 64-bit DWARF2 formats. */
lh.total_length = read_4_bytes (abfd, line_ptr);
line_ptr += 4;
offset_size = 8;
}
line_end = line_ptr + lh.total_length;
lh.version = read_2_bytes (abfd, line_ptr);
line_ptr += 2;