* dwarf2.c (read_rangelist): Use read_address to read low_pc and
high_pc in order to properly sign-extend VMAs.
This commit is contained in:
parent
5efc7cd2d6
commit
13d72a148e
2 changed files with 10 additions and 14 deletions
|
@ -1,3 +1,8 @@
|
|||
2009-01-29 Adam Nemet <anemet@caviumnetworks.com>
|
||||
|
||||
* dwarf2.c (read_rangelist): Use read_address to read low_pc and
|
||||
high_pc in order to properly sign-extend VMAs.
|
||||
|
||||
2009-01-29 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
Mark Shinwell <shinwell@codesourcery.com>
|
||||
Catherine Moore <clm@codesourcery.com>
|
||||
|
|
19
bfd/dwarf2.c
19
bfd/dwarf2.c
|
@ -1803,20 +1803,11 @@ read_rangelist (struct comp_unit *unit, struct arange *arange, bfd_uint64_t offs
|
|||
bfd_vma low_pc;
|
||||
bfd_vma high_pc;
|
||||
|
||||
if (unit->addr_size == 4)
|
||||
{
|
||||
low_pc = read_4_bytes (unit->abfd, ranges_ptr);
|
||||
ranges_ptr += 4;
|
||||
high_pc = read_4_bytes (unit->abfd, ranges_ptr);
|
||||
ranges_ptr += 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
low_pc = read_8_bytes (unit->abfd, ranges_ptr);
|
||||
ranges_ptr += 8;
|
||||
high_pc = read_8_bytes (unit->abfd, ranges_ptr);
|
||||
ranges_ptr += 8;
|
||||
}
|
||||
low_pc = read_address (unit, ranges_ptr);
|
||||
ranges_ptr += unit->addr_size;
|
||||
high_pc = read_address (unit, ranges_ptr);
|
||||
ranges_ptr += unit->addr_size;
|
||||
|
||||
if (low_pc == 0 && high_pc == 0)
|
||||
break;
|
||||
if (low_pc == -1UL && high_pc != -1UL)
|
||||
|
|
Loading…
Reference in a new issue