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

@@ -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);