From: Nick Clifton Date: Tue, 25 Jun 2002 19:10:00 +0000 (+0000) Subject: Check unit->addr_size to read in the proper number of prologue bytes. X-Git-Tag: gprof-pre-ansify-2004-05-26~4024 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=75326bcc176ad9ad117f9a4181f20b3a13ead007;p=pf3gnuchains%2Fpf3gnuchains4x.git Check unit->addr_size to read in the proper number of prologue bytes. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a819c81c49..71c6cf956e 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,9 +1,15 @@ +2002-06-25 Jason Eckhardt + + * dwarf2.c (decode_line_info): Check unit->addr_size + to read in the proper number of prologue bytes. + 2002-06-25 Nick Clifton * 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. diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index e3b8e27370..008582e1ed 100644 --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c @@ -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);