Add support for ARM's NOREAD section flag.
authorMickael Guene <mickael.guene@st.com>
Tue, 22 Dec 2015 14:12:35 +0000 (14:12 +0000)
committerNick Clifton <nickc@redhat.com>
Tue, 22 Dec 2015 14:12:35 +0000 (14:12 +0000)
commitac4c9b0459fe89f2b84bf8b18a3bf86bf569b7d1
treecc76d51d940c65bd0986f73e55a447f12b65652d
parent6d265cb4a956310d2cae231ac63a37e11fe376e1
Add support for ARM's NOREAD section flag.

include/elf
     * arm.h: Add arm SHF_ARM_NOREAD section flag.

bfd  * bfd-in2.h: Regenerate.
     * section.c: Add SEC_ELF_NOREAD.
     * elf32-arm.c (elf32_arm_post_process_headers): Only set
     PF_X attribute if a segment only contains section with
     SHF_ARM_NOREAD flag.
     (elf32_arm_fake_sections): Add SEC_ELF_NOREAD conversion.
     (elf32_arm_section_flags): New function to convert SHF_ARM_NOREAD
     to bfd flag.
     (elf32_arm_lookup_section_flags): New function to allow
     INPUT_SECTION_FLAGS directive with SHF_ARM_NOREAD flag.
     (elf32_arm_special_sections): Add special sections array
     to catch section prefix by '.text.noread' pattern.

ld/testsuite
     * ld-arm/arm-elf.exp: New tests.
     * ld-arm/thumb1-input-section-flag-match.d: New
     * ld-arm/thumb1-input-section-flag-match.s: New
     * ld-arm/thumb1-noread-not-present-mixing-two-section.d: New
     * ld-arm/thumb1-noread-not-present-mixing-two-section.s: New
     * ld-arm/thumb1-noread-present-one-section.d: New
     * ld-arm/thumb1-noread-present-one-section.s: New
     * ld-arm/thumb1-noread-present-two-section.d: New
     * ld-arm/thumb1-noread-present-two-section.s: New

binutils
* readelf.c (get_elf_section_flags): Add support for ARM specific
section flags.
20 files changed:
bfd/ChangeLog
bfd/bfd-in2.h
bfd/elf32-arm.c
bfd/section.c
binutils/ChangeLog
binutils/readelf.c
include/ChangeLog
include/elf/ChangeLog
include/elf/arm.h
ld/testsuite/ChangeLog
ld/testsuite/ld-arm/arm-elf.exp
ld/testsuite/ld-arm/arm_noread.ld [new file with mode: 0644]
ld/testsuite/ld-arm/thumb1-input-section-flag-match.d [new file with mode: 0644]
ld/testsuite/ld-arm/thumb1-input-section-flag-match.s [new file with mode: 0644]
ld/testsuite/ld-arm/thumb1-noread-not-present-mixing-two-section.d [new file with mode: 0644]
ld/testsuite/ld-arm/thumb1-noread-not-present-mixing-two-section.s [new file with mode: 0644]
ld/testsuite/ld-arm/thumb1-noread-present-one-section.d [new file with mode: 0644]
ld/testsuite/ld-arm/thumb1-noread-present-one-section.s [new file with mode: 0644]
ld/testsuite/ld-arm/thumb1-noread-present-two-section.d [new file with mode: 0644]
ld/testsuite/ld-arm/thumb1-noread-present-two-section.s [new file with mode: 0644]
This page took 0.027327 seconds and 4 git commands to generate.