diff options
| -rw-r--r-- | libdw/ChangeLog | 6 | ||||
| -rw-r--r-- | libdw/dwarf_formref_die.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/libdw/ChangeLog b/libdw/ChangeLog index 12df9bbe..ae266d4e 100644 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@ -1,3 +1,9 @@ +2013-04-10 Mark Wielaard <[email protected]> + + * dwarf_formref_die.c (dwarf_formref_die): Reference size is only + equal to address size when we have a DW_FORM_ref_addr for DWARF + version 2. + 2013-03-25 Mark Wielaard <[email protected]> * dwarf_getsrclines.c (dwarf_getsrclines): Mark highest address as diff --git a/libdw/dwarf_formref_die.c b/libdw/dwarf_formref_die.c index f0701270..b1af2abf 100644 --- a/libdw/dwarf_formref_die.c +++ b/libdw/dwarf_formref_die.c @@ -50,7 +50,7 @@ dwarf_formref_die (attr, result) { /* This has an absolute offset. */ - uint8_t ref_size = (cu->version == 2 + uint8_t ref_size = (cu->version == 2 && attr->form == DW_FORM_ref_addr ? cu->address_size : cu->offset_size); |
