Similar to r239870 and r239872, teach the other binutils tools about the

DW_FORM_flag_present dwarf attribute, so they do not print errors or
warnings on files that contain it.  (This attribute can be emitted by
newer versions of clang and gcc.)

MFC after:	1 week
This commit is contained in:
Dimitry Andric 2013-03-27 19:21:36 +00:00
parent cd05a36e54
commit 9333231988
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=248802
2 changed files with 9 additions and 0 deletions

View File

@ -633,6 +633,9 @@ read_attribute_value (struct attribute *attr,
attr->u.val = read_1_byte (abfd, info_ptr);
info_ptr += 1;
break;
case DW_FORM_flag_present:
attr->u.val = 1;
break;
case DW_FORM_sdata:
attr->u.sval = read_signed_leb128 (abfd, info_ptr, &bytes_read);
info_ptr += bytes_read;

View File

@ -557,6 +557,7 @@ get_FORM_name (unsigned long form)
case DW_FORM_ref8: return "DW_FORM_ref8";
case DW_FORM_ref_udata: return "DW_FORM_ref_udata";
case DW_FORM_indirect: return "DW_FORM_indirect";
case DW_FORM_flag_present: return "DW_FORM_flag_present";
default:
{
static char buffer[100];
@ -969,6 +970,10 @@ read_and_display_attr_value (unsigned long attribute,
data += offset_size;
break;
case DW_FORM_flag_present:
uvalue = 1;
break;
case DW_FORM_ref1:
case DW_FORM_flag:
case DW_FORM_data1:
@ -1030,6 +1035,7 @@ read_and_display_attr_value (unsigned long attribute,
printf (" %#lx", uvalue);
break;
case DW_FORM_flag_present:
case DW_FORM_flag:
case DW_FORM_data1:
case DW_FORM_data2: