x86: Remove empty X86_FEATURE_1_AND property
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 17 Aug 2018 10:54:05 +0000 (03:54 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 17 Aug 2018 10:54:16 +0000 (03:54 -0700)
commitbfb1e8c15a6b7d02cd0b9a124d01722a07ebf09a
treeca561553a9b38085c41dd850e2678b209c860c90
parent2ecae92e2372102ac0fa774fce4c4c0d6f8c85f5
x86: Remove empty X86_FEATURE_1_AND property

There is no need to generate .note.gnu.property section with empty
X86_FEATURE_1_AND property.  This patch adds fixup_gnu_properties
to ELF linker backend so that x86 backend can remove it.

bfd/

PR ld/23515
* elf-bfd.h (elf_backend_data): Add fixup_gnu_properties.
* elf-properties.c (_bfd_elf_link_setup_gnu_properties): Call
backend fixup_gnu_properties if it isn't NULL.  Discard
.note.gnu.property section if all properties have been removed.
* elfxx-target.h (elf_backend_fixup_gnu_properties): New.
(elfNN_bed): Initialize fixup_gnu_properties.
* elfxx-x86.c (_bfd_x86_elf_link_fixup_gnu_properties): New
function.
* elfxx-x86.h (_bfd_x86_elf_link_fixup_gnu_properties): New
prototype.
(elf_backend_fixup_gnu_properties): New.

ld/

PR ld/23515
* testsuite/ld-i386/ibt-plt-2a.d: Updated.
* testsuite/ld-i386/ibt-plt-2b.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2a-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2a.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2b-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2b.d: Likewise.
13 files changed:
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elf-properties.c
bfd/elfxx-target.h
bfd/elfxx-x86.c
bfd/elfxx-x86.h
ld/ChangeLog
ld/testsuite/ld-i386/ibt-plt-2a.d
ld/testsuite/ld-i386/ibt-plt-2b.d
ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d
ld/testsuite/ld-x86-64/ibt-plt-2a.d
ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d
ld/testsuite/ld-x86-64/ibt-plt-2b.d