From ac4c9b0459fe89f2b84bf8b18a3bf86bf569b7d1 Mon Sep 17 00:00:00 2001 From: Mickael Guene Date: Tue, 22 Dec 2015 14:12:35 +0000 Subject: 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. --- bfd/section.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bfd/section.c') diff --git a/bfd/section.c b/bfd/section.c index 247d98a..1a78c11 100644 --- a/bfd/section.c +++ b/bfd/section.c @@ -361,6 +361,9 @@ CODE_FRAGMENT . when memory read flag isn't set. *} .#define SEC_COFF_NOREAD 0x40000000 . +. {* Indicate that section has the no read flag set. *} +.#define SEC_ELF_NOREAD 0x80000000 +. . {* End of section flags. *} . . {* Some internal packed boolean fields. *} -- cgit v1.1