aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf-properties.c10
2 files changed, 14 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d046562..678a007 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2017-04-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-properties.c (_bfd_elf_parse_gnu_properties): Ignore
+ processor-specific properties with generic ELF target vector.
+
2017-04-10 Qing Zhao <qing.zhao@oracle.com>
* elf32-sparc.c (elf_backend_fixup_symbol): New.
diff --git a/bfd/elf-properties.c b/bfd/elf-properties.c
index a0456f8..04ef536 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);