aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf-properties.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-04-11 15:07:41 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-04-11 15:07:55 -0700
commit537616aaeb44bc698af9848987e7c8e96d550595 (patch)
tree72b931abdbff2b49acc13f5a5e80b38ea40e1ea9 /bfd/elf-properties.c
parentae0eee42821865ead8d391bb4f92bd2c136c6d43 (diff)
downloadgdb-537616aaeb44bc698af9848987e7c8e96d550595.zip
gdb-537616aaeb44bc698af9848987e7c8e96d550595.tar.gz
gdb-537616aaeb44bc698af9848987e7c8e96d550595.tar.bz2
Ignore processor-specific GNU program properties
Skip processor-specific GNU program properties with generic ELF target vector. They should be handled by the matching ELF target vector. * elf-properties.c (_bfd_elf_parse_gnu_properties): Ignore processor-specific properties with generic ELF target vector.
Diffstat (limited to 'bfd/elf-properties.c')
-rw-r--r--bfd/elf-properties.c10
1 files changed, 9 insertions, 1 deletions
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);