aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-arm/arm-elf.exp
diff options
context:
space:
mode:
authorMickael Guene <mickael.guene@st.com>2015-12-22 14:12:35 +0000
committerNick Clifton <nickc@redhat.com>2015-12-22 14:12:35 +0000
commitac4c9b0459fe89f2b84bf8b18a3bf86bf569b7d1 (patch)
treecc76d51d940c65bd0986f73e55a447f12b65652d /ld/testsuite/ld-arm/arm-elf.exp
parent6d265cb4a956310d2cae231ac63a37e11fe376e1 (diff)
downloadbinutils-ac4c9b0459fe89f2b84bf8b18a3bf86bf569b7d1.zip
binutils-ac4c9b0459fe89f2b84bf8b18a3bf86bf569b7d1.tar.gz
binutils-ac4c9b0459fe89f2b84bf8b18a3bf86bf569b7d1.tar.bz2
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.
Diffstat (limited to 'ld/testsuite/ld-arm/arm-elf.exp')
-rw-r--r--ld/testsuite/ld-arm/arm-elf.exp12
1 files changed, 12 insertions, 0 deletions
diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp
index 23c9e57..a970dba 100644
--- a/ld/testsuite/ld-arm/arm-elf.exp
+++ b/ld/testsuite/ld-arm/arm-elf.exp
@@ -299,6 +299,18 @@ set armelftests_nonacl {
{"TLS shared library gdesc local" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" "" {tls-lib-loc.s}
{{objdump -fdw tls-lib-loc.d} {objdump -Rw tls-lib-loc.r}}
"tls-lib-loc.so"}
+ {"PF_R not present when one noread section" "-static -T arm.ld" "" "" {thumb1-noread-present-one-section.s}
+ {{readelf -l thumb1-noread-present-one-section.d}}
+ "thumb1-noread-present-one-section"}
+ {"PF_R not present when two noread sections" "-static -T arm.ld" "" "" {thumb1-noread-present-two-section.s}
+ {{readelf -l thumb1-noread-present-two-section.d}}
+ "thumb1-noread-present-two-section"}
+ {"PF_R present when mixing noread section with read section" "-static -T arm.ld" "" "" {thumb1-noread-not-present-mixing-two-section.s}
+ {{readelf -l thumb1-noread-not-present-mixing-two-section.d}}
+ "thumb1-noread-not-present-mixing-two-section"}
+ {"Match SHF_ARM_NOREAD with INPUT_SECTION_FLAGS directive" "-static -T arm_noread.ld" "" "" {thumb1-input-section-flag-match.s}
+ {{readelf -l thumb1-input-section-flag-match.d}}
+ "thumb1-noread-not-present-mixing-two-section"}
}
run_ld_link_tests $armelftests_common