Add support for an ARM specific 'y' section attribute flag to mark the section as...
authorMickael Guene <mickael.guene@st.com>
Wed, 20 Jan 2016 12:53:50 +0000 (12:53 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 20 Jan 2016 12:53:50 +0000 (12:53 +0000)
commit91f68a68f992e3f6c3da26c616b5257230bd1eec
tree9e549da0d8aaacafb6231069425241f003357a14
parentbe56871ee8f65c51b9eee611532ed036a71a72e0
Add support for an ARM specific 'y' section attribute flag to mark the section as NOREAD.

bfd/ChangeLog:
      * elf32-arm.c ((elf32_arm_special_sections): Remove catch of noread
      section using '.text.noread' pattern.

gas/ChangeLog:
      * config/obj-elf.c (obj_elf_change_section) : Allow arm section with
      SHF_ARM_NOREAD section flag.
      * config/tc-arm.h (md_elf_section_letter) : Implement this hook to
      handle letter 'y'.
     (arm_elf_section_letter) : Declare it.
      * config/tc-arm.c (arm_elf_section_letter): Handle letter 'y' to set
      SHF_ARM_NOREAD section flag.
      * doc/c-arm.texi (ARM section attribute 'y'): Document it.

gas/testsuite/ChangeLog:
      * gas/arm/section-execute-only.s: New test case.
      * gas/arm/section-execute-only.d: Expected output.

ld/testsuite/ChangeLog:
      * ld-arm/thumb1-noread-not-present-mixing-two-section.s: Add 'y'
      attribute usage.
      * ld-arm/thumb1-noread-present-one-section.s: Likewise.
      * ld-arm/thumb1-noread-present-two-section.s: Likewise.
      * ld-arm/thumb1-input-section-flag-match.s: Likewise.

binutils/ChangeLog:
      * readelf.c (get_elf_section_flags): Display y letter for section
      with SHF_ARM_NOREAD section flag in readelf section output.
      (process_section_headers): Add y letter in readelf section output
      key mapping for ARM architecture.
18 files changed:
bfd/ChangeLog
bfd/elf32-arm.c
binutils/ChangeLog
binutils/doc/binutils.texi
binutils/objdump.c
binutils/readelf.c
gas/ChangeLog
gas/config/obj-elf.c
gas/config/tc-arm.c
gas/config/tc-arm.h
gas/doc/c-arm.texi
gas/testsuite/gas/arm/section-execute-only.d [new file with mode: 0644]
gas/testsuite/gas/arm/section-execute-only.s [new file with mode: 0644]
ld/ChangeLog
ld/testsuite/ld-arm/thumb1-input-section-flag-match.s
ld/testsuite/ld-arm/thumb1-noread-not-present-mixing-two-section.s
ld/testsuite/ld-arm/thumb1-noread-present-one-section.s
ld/testsuite/ld-arm/thumb1-noread-present-two-section.s