From: Nick Clifton Date: Tue, 10 Nov 2020 11:55:18 +0000 (+0000) Subject: Accept the DW_FORM_ref8 type when parsing DWARF types. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1f57314183549008c065ad2240598d2b0f0ff56b;p=binutils-gdb.git Accept the DW_FORM_ref8 type when parsing DWARF types. * dwarf.c (skip_attr_bytes): Correctly handle DW_FORM_ref8. (get_type_abbrev_from_form): Accept DW_FORM_ref8. --- diff --git a/binutils/dwarf.c b/binutils/dwarf.c index 58077447293..cf68ebaff7d 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -2025,6 +2025,21 @@ skip_attr_bytes (unsigned long form, break; case DW_FORM_ref8: + { + dwarf_vma high_bits; + + SAFE_BYTE_GET64 (data, &high_bits, &uvalue, end); + data += 8; + if (sizeof (uvalue) > 4) + uvalue += high_bits << 32; + else if (high_bits != 0) + { + /* FIXME: What to do ? */ + return NULL; + } + break; + } + case DW_FORM_data8: case DW_FORM_ref_sig8: data += 8; @@ -2115,6 +2130,7 @@ get_type_abbrev_from_form (unsigned long form, case DW_FORM_ref1: case DW_FORM_ref2: case DW_FORM_ref4: + case DW_FORM_ref8: case DW_FORM_ref_udata: if (uvalue + cu_offset > section->size) {