Check unit->addr_size to read in the proper number of prologue bytes.

This commit is contained in:
Nick Clifton 2002-06-25 19:10:00 +00:00
parent 72cec14173
commit dae2dd0d26
2 changed files with 21 additions and 4 deletions

View file

@ -1,9 +1,15 @@
2002-06-25 Jason Eckhardt <jle@rice.edu>
* dwarf2.c (decode_line_info): Check unit->addr_size
to read in the proper number of prologue bytes.
2002-06-25 Nick Clifton <nickc@cambridge.redhat.com>
* 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.
been enabled.
* targets.c (_bfd_target_vector[]): Only include
aix5coff64_vec if 64-bit bfd support has been enabled.

View file

@ -981,9 +981,20 @@ decode_line_info (unit, stash)
line_ptr = stash->dwarf_line_buffer + unit->line_offset;
/* Read in the prologue. */
lh.total_length = read_4_bytes (abfd, line_ptr);
line_ptr += 4;
offset_size = 4;
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;
}
if (lh.total_length == 0xffffffff)
{
lh.total_length = read_8_bytes (abfd, line_ptr);