+2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
+
+ * bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
+ (SEC_ELF_PURECODE): ... this.
+ * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
+ to SEC_ELF_NOREAD.
+ (elf32_arm_fake_sections): Likewise.
+ (elf_32_arm_section_flags): Likewise.
+ (elf_32_arm_lookup_section_flags): Likewise.
+ * section.c (SEC_ELF_NOREAD): Rename to ...
+ (SEC_ELF_PURECODE): ... this.
+
2016-07-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
* elf32-arm.c (using_thumb2_bl): New function.
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
+ /* Indicate that section has the purecode flag set. */
+#define SEC_ELF_PURECODE 0x80000000
/* End of section flags. */
}
/* Scan segment to set p_flags attribute if it contains only sections with
- SHF_ARM_NOREAD flag. */
+ SHF_ARM_PURECODE flag. */
for (m = elf_seg_map (abfd); m != NULL; m = m->next)
{
unsigned int j;
continue;
for (j = 0; j < m->count; j++)
{
- if (!(elf_section_flags (m->sections[j]) & SHF_ARM_NOREAD))
+ if (!(elf_section_flags (m->sections[j]) & SHF_ARM_PURECODE))
break;
}
if (j == m->count)
hdr->sh_flags |= SHF_LINK_ORDER;
}
- if (sec->flags & SEC_ELF_NOREAD)
- hdr->sh_flags |= SHF_ARM_NOREAD;
+ if (sec->flags & SEC_ELF_PURECODE)
+ hdr->sh_flags |= SHF_ARM_PURECODE;
return TRUE;
}
static bfd_boolean
elf32_arm_section_flags (flagword *flags, const Elf_Internal_Shdr * hdr)
{
- if (hdr->sh_flags & SHF_ARM_NOREAD)
- *flags |= SEC_ELF_NOREAD;
+ if (hdr->sh_flags & SHF_ARM_PURECODE)
+ *flags |= SEC_ELF_PURECODE;
return TRUE;
}
static flagword
elf32_arm_lookup_section_flags (char *flag_name)
{
- if (!strcmp (flag_name, "SHF_ARM_NOREAD"))
- return SHF_ARM_NOREAD;
+ if (!strcmp (flag_name, "SHF_ARM_PURECODE"))
+ return SHF_ARM_PURECODE;
return SEC_NO_FLAGS;
}
. 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
+. {* Indicate that section has the purecode flag set. *}
+.#define SEC_ELF_PURECODE 0x80000000
.
. {* End of section flags. *}
.
+2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
+
+ * objdump.c (dump_section_header): Rename SEC_ELF_NOREAD
+ to SEC_ELF_NOREAD.
+ * readelf.c (get_elf_section_flags): Rename ARM_NOREAD to
+ ARM_PURECODE and SHF_ARM_NOREAD to SHF_ARM_PURECODE.
+ (process_section_headers): Rename noread to purecode.
+
+ * section.c (SEC_ELF_NOREAD): Rename to ...
+ (SEC_ELF_PURECODE): ... this.
+
2016-07-01 Nick Clifton <nickc@redhat.com>
* prdbg.c (pr_enum_type): Use a buffer big enough to hold an
PF (SEC_COFF_NOREAD, "NOREAD");
}
else if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
- {
- /* Note - sections can have both the READONLY and NOREAD attributes
- set. In this case the NOREAD takes precedence, but we report both
- since the user may need to know that both bits are set. */
- PF (SEC_ELF_NOREAD, "NOREAD");
- }
+ PF (SEC_ELF_PURECODE, "PURECODE");
PF (SEC_THREAD_LOCAL, "THREAD_LOCAL");
PF (SEC_GROUP, "GROUP");
if (bfd_get_arch (abfd) == bfd_arch_mep)
/* 20 */ { STRING_COMMA_LEN ("COMPRESSED") },
/* ARM specific. */
/* 21 */ { STRING_COMMA_LEN ("ENTRYSECT") },
- /* 22 */ { STRING_COMMA_LEN ("ARM_NOREAD") },
+ /* 22 */ { STRING_COMMA_LEN ("ARM_PURECODE") },
/* 23 */ { STRING_COMMA_LEN ("COMDEF") }
};
switch (flag)
{
case SHF_ENTRYSECT: sindex = 21; break;
- case SHF_ARM_NOREAD: sindex = 22; break;
+ case SHF_ARM_PURECODE: sindex = 22; break;
case SHF_COMDEF: sindex = 23; break;
default: break;
}
&& flag == SHF_X86_64_LARGE)
*p = 'l';
else if (elf_header.e_machine == EM_ARM
- && flag == SHF_ARM_NOREAD)
+ && flag == SHF_ARM_PURECODE)
*p = 'y';
else if (flag & SHF_MASKOS)
{
|| elf_header.e_machine == EM_K1OM)
printf (_("l (large), "));
else if (elf_header.e_machine == EM_ARM)
- printf (_("y (noread), "));
+ printf (_("y (purecode), "));
printf ("p (processor specific)\n");
}
+2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
+
+ * include/elf/arm.h (SHF_ARM_NOREAD): Rename to ...
+ (SHF_ARM_PURECODE): ... this.
+
2016-07-01 Szabolcs Nagy <szabolcs.nagy@arm.com>
* opcode/aarch64.h (AARCH64_CPU_HAS_ALL_FEATURES): New.
/* ARM-specific values for sh_flags. */
#define SHF_ENTRYSECT 0x10000000 /* Section contains an entry point. */
-#define SHF_ARM_NOREAD 0x20000000 /* Section contains code that can be place on no read memory area. */
+#define SHF_ARM_PURECODE 0x20000000 /* Section contains only code and no data. */
#define SHF_COMDEF 0x80000000 /* Section may be multiply defined in the input to a link step. */
/* ARM-specific program header flags. */
+2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
+
+ * testsuite/ld-arm/arm_noread.ld: Renamed to ...
+ testsuite/ld-arm/arm_purecode.ld: ... this, and replaced
+ all noread's by purecode.
+
2016-07-05 Jan Beulich <jbeulich@suse.com>
* ldexp.c (exp_fold_tree_1): Set linker_def field based on
+++ /dev/null
-/* Script for ld testsuite. */
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-MEMORY
-{
- read_memory (rx) : ORIGIN = 0x00008000, LENGTH = 4M
- noread_memory (!rx) : ORIGIN = 0x00800000, LENGTH = 4M
-}
-SECTIONS
-{
- /* Read-only sections, merged into text segment: */
- PROVIDE (__executable_start = 0x8000); . = 0x8000;
- .text.noread :
- {
- INPUT_SECTION_FLAGS (SHF_ARM_NOREAD) *(.text*)
- } > noread_memory
- .text :
- {
- *(.before)
- *(.text)
- *(.after)
- *(.ARM.extab*)
- *(.glue_7)
- *(.v4_bx)
- } > read_memory
- .ARM.exidx : { *(.ARM.exidx*) }
- . = 0x9000;
- .got : { *(.got) *(.got.plt)}
- . = 0x12340000;
- .far : { *(.far) }
- .ARM.attribues 0 : { *(.ARM.atttributes) }
-}
--- /dev/null
+/* Script for ld testsuite. */
+OUTPUT_ARCH(arm)
+ENTRY(_start)
+MEMORY
+{
+ read_memory (rx) : ORIGIN = 0x00008000, LENGTH = 4M
+ purecode_memory (!rx) : ORIGIN = 0x00800000, LENGTH = 4M
+}
+SECTIONS
+{
+ /* Read-only sections, merged into text segment: */
+ PROVIDE (__executable_start = 0x8000); . = 0x8000;
+ .text.purecode :
+ {
+ INPUT_SECTION_FLAGS (SHF_ARM_PURECODE) *(.text*)
+ } > purecode_memory
+ .text :
+ {
+ *(.before)
+ *(.text)
+ *(.after)
+ *(.ARM.extab*)
+ *(.glue_7)
+ *(.v4_bx)
+ } > read_memory
+ .ARM.exidx : { *(.ARM.exidx*) }
+ . = 0x9000;
+ .got : { *(.got) *(.got.plt)}
+ . = 0x12340000;
+ .far : { *(.far) }
+ .ARM.attribues 0 : { *(.ARM.atttributes) }
+}