Enhance support for copying and stripping Solaris and ARM binaries.
authorNick Clifton <nickc@redhat.com>
Fri, 29 Apr 2016 08:24:42 +0000 (09:24 +0100)
committerNick Clifton <nickc@redhat.com>
Fri, 29 Apr 2016 08:24:42 +0000 (09:24 +0100)
commit5522f910cb539905d6adfdceab208ddfa5e84557
tree0e266a54bdd71c153b10e11319699d78350b6c33
parent2deb93c7a7708ed164e4b10afb9d6a885d4615c6
Enhance support for copying and stripping Solaris and ARM binaries.

PR 19938
bfd * elf-bfd.h (struct elf_backend_data): Rename
elf_backend_set_special_section_info_and_link to
elf_backend_copy_special_section_fields.
* elfxx-target.h: Likewise.
* elf.c (section_match): Ignore the SHF_INFO_LINK flag when
comparing section flags.
(copy_special_section_fields): New function.
(_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
Perform two scans over special sections.  The first one looks for
a direct mapping between the output section and an input section.
The second scan looks for a possible match based upon section
characteristics.
* elf32-arm.c (elf32_arm_copy_special_section_fields): New
function.  Handle setting the sh_link field of SHT_ARM_EXIDX
sections.
* elf32-i386.c (elf32_i386_set_special_info_link): Rename to
elf32_i386_copy_solaris_special_section_fields.
* elf32-sparc.c (elf32_sparc_set_special_section_info_link):
Rename to elf32_sparc_copy_solaris_special_section_fields.
* elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
elf64_x86_64_copy_solaris_special_section_fields.

binutils* readelf.c (get_solaris_segment_type): New function.
(get_segment_type): Call it.
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elf.c
bfd/elf32-arm.c
bfd/elf32-i386.c
bfd/elf32-sparc.c
bfd/elf64-x86-64.c
bfd/elfxx-target.h
binutils/ChangeLog
binutils/readelf.c