diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d0465623ff..678a00787e 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2017-04-11 H.J. Lu + + * elf-properties.c (_bfd_elf_parse_gnu_properties): Ignore + processor-specific properties with generic ELF target vector. + 2017-04-10 Qing Zhao * elf32-sparc.c (elf_backend_fixup_symbol): New. diff --git a/bfd/elf-properties.c b/bfd/elf-properties.c index a0456f8df9..04ef53625a 100644 --- a/bfd/elf-properties.c +++ b/bfd/elf-properties.c @@ -113,7 +113,15 @@ bad_size: if (type >= GNU_PROPERTY_LOPROC) { - if (type < GNU_PROPERTY_LOUSER && bed->parse_gnu_properties) + if (bed->elf_machine_code == EM_NONE) + { + /* Ignore processor-specific properties with generic ELF + target vector. They should be handled by the matching + ELF target vector. */ + goto next; + } + else if (type < GNU_PROPERTY_LOUSER + && bed->parse_gnu_properties) { enum elf_property_kind kind = bed->parse_gnu_properties (abfd, type, ptr, datasz);