+2016-02-04 Nick Clifton <nickc@redhat.com>
+
+ * config/obj-elf.c (obj_elf_change_section): Remove support for
+ ARM NOREAD sections.
+ * config/tc-arm.c (arm_elf_section_letter): Delete.
+ * config/tc-arm.h (md_elf_section_letter): Delete.
+ * doc/c-arm.texi (ARM Section Attribute): Delete section.
+ * testsuite/gas/arm/section-execute-only.d: Delete.
+ * testsuite/gas/arm/section-execute-only.s: Delete.
+
2016-02-04 Nick Clifton <nickc@redhat.com>
PR target/19561
#include "elf/nios2.h"
#endif
-#ifdef TC_ARM
-#include "elf/arm.h"
-#endif
-
static void obj_elf_line (int);
static void obj_elf_size (int);
static void obj_elf_type (int);
|| ssect->type == SHT_PREINIT_ARRAY))
/* RX init/fini arrays can and should have the "awx" attributes set. */
;
-#endif
-#ifdef TC_ARM
- else if (attr == (SHF_EXECINSTR | SHF_ARM_NOREAD | SHF_ALLOC))
- /* ARM can have code section with SHF_ARM_NOREAD attribute. */
- ;
#endif
else
{
#endif /* defined (OBJ_ELF) || defined (OBJ_COFF) */
#ifdef OBJ_ELF
-bfd_vma
-arm_elf_section_letter (int letter, char **ptrmsg)
-{
- if (letter == 'y')
- return SHF_ARM_NOREAD;
-
- *ptrmsg = _("unrecognized .section attribute: want a,e,w,x,y,M,S,G,T");
- return -1;
-}
-
const char *
elf32_arm_target_format (void)
{
#define tc_frob_fake_label(S) arm_frob_label (S)
#ifdef OBJ_ELF
-#define md_elf_section_letter arm_elf_section_letter
-extern bfd_vma arm_elf_section_letter (int, char **);
-
#define md_end arm_md_end
extern void arm_md_end (void);
bfd_boolean arm_is_eabi (void);
* ARM Opcodes:: Opcodes
* ARM Mapping Symbols:: Mapping Symbols
* ARM Unwinding Tutorial:: Unwinding
-* ARM Section Attribute:: Section Attribute
@end menu
@node ARM Options
information, you may consult the @cite{Exception Handling ABI for the
ARM Architecture} available from @uref{http://infocenter.arm.com}.
-@node ARM Section Attribute
-@section Section Attribute
-
-@cindex ARM section attribute
-@table @code
-@item y
-This letter specifies a text section with NOREAD attribute for
-hardware that supports execute-only memory region. If not supported
-by hardware a section with this attribute will be treated as normal
-text section.
-@end table
+++ /dev/null
-# name: test executable-only section attribute
-# as:
-# readelf: -t
-# This test is only valid on EABI based ports.
-# target: *-*-*eabi* *-*-nacl*
-There are 10 section headers, starting at offset 0x16c:
-
-Section Headers:
- \[Nr\] Name
- Type Addr Off Size ES Lk Inf Al
- Flags
- \[ 0\]
- NULL 00000000 000000 000000 00 0 0 0
- \[00000000\]:
- \[ 1\] .text
- PROGBITS 00000000 000034 000000 00 0 0 2
- \[00000006\]: ALLOC, EXEC
- \[ 2\] .data
- PROGBITS 00000000 000034 000000 00 0 0 1
- \[00000003\]: WRITE, ALLOC
- \[ 3\] .bss
- NOBITS 00000000 000034 000000 00 0 0 1
- \[00000003\]: WRITE, ALLOC
- \[ 4\] .text.foo
- PROGBITS 00000000 000034 000010 00 0 0 4
- \[20000006\]: ALLOC, EXEC, ARM_NOREAD
-#pass
+++ /dev/null
- .syntax unified
- .cpu cortex-m3
- .fpu softvfp
- .eabi_attribute 20, 1
- .eabi_attribute 21, 1
- .eabi_attribute 23, 3
- .eabi_attribute 24, 1
- .eabi_attribute 25, 1
- .eabi_attribute 26, 1
- .eabi_attribute 30, 2
- .eabi_attribute 34, 1
- .eabi_attribute 18, 4
- .thumb
- .section .text.foo,"axy",%progbits
- .align 2
- .global foo
- .thumb
- .thumb_func
- .type foo, %function
-foo:
- @ args = 0, pretend = 0, frame = 0
- @ frame_needed = 0, uses_anonymous_args = 0
- @ link register save eliminated.
- movs r0, #1
- movs r1, #1
- movw r2, #257
- movs r3, #1
- b madd
- .size foo, .-foo
-
+2016-02-04 Nick Clifton <nickc@redhat.com>
+
+ * testsuite/ld-arm/arm-elf.exp: Remove ARM NOREAD section tests.
+ * testsuite/ld-arm/thumb1-input-section-flag-match.d: Delete.
+ * testsuite/ld-arm/thumb1-input-section-flag-match.s: Delete.
+ * testsuite/ld-arm/thumb1-noread-not-present-mixing-two-section.d: Delete.
+ * testsuite/ld-arm/thumb1-noread-not-present-mixing-two-section.s: Delete.
+ * testsuite/ld-arm/thumb1-noread-present-one-section.d: Delete.
+ * testsuite/ld-arm/thumb1-noread-present-one-section.s: Delete.
+ * testsuite/ld-arm/thumb1-noread-present-two-section.d: Delete.
+ * testsuite/ld-arm/thumb1-noread-present-two-section.s: Delete.
+
2016-02-03 H.J. Lu <hongjiu.lu@intel.com>
PR gas/19520
{"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"}
}
if { ![istarget "arm*-*-nacl*"] } {
+++ /dev/null
-#...
-Program Headers:
-#...
- LOAD 0x000000 0x00000000 0x00000000 0x08002 0x08002 R E 0x10000
- LOAD 0x010000 0x00800000 0x00800000 0x00002 0x00002 E 0x10000
-#...
+++ /dev/null
- .text
- .section .text.fetchonly,"axy",%progbits
- .arch armv6s-m
- .syntax unified
- .global _start
- .thumb_func
- .type _start, %function
-_start:
- bx lr
-
- .text
- .arch armv6s-m
- .syntax unified
- .global foo
- .thumb_func
- .type foo, %function
-foo:
- bx lr
+++ /dev/null
-#...
-Program Headers:
-#...
- LOAD 0x000000 0x00000000 0x00000000 0x08004 0x08004 R E 0x10000
-#...
+++ /dev/null
- .text
- .section .text.noread,"axy",%progbits
- .arch armv6s-m
- .syntax unified
- .global _start
- .thumb_func
- .type _start, %function
-_start:
- bx lr
-
- .text
- .arch armv6s-m
- .syntax unified
- .global foo
- .thumb_func
- .type foo, %function
-foo:
- bx lr
+++ /dev/null
-#...
-Program Headers:
-#...
- LOAD 0x000000 0x00000000 0x00000000 0x08002 0x08002 E 0x10000
-#...
+++ /dev/null
- .text
- .section .text.fetchonly,"axy",%progbits
- .arch armv6s-m
- .syntax unified
- .global _start
- .thumb_func
- .type _start, %function
-_start:
- bx lr
+++ /dev/null
-#...
-Program Headers:
-#...
- LOAD 0x000000 0x00000000 0x00000000 0x08004 0x08004 E 0x10000
-#...
+++ /dev/null
- .text
- .section .text.fetchonly.first,"axy",%progbits
- .arch armv6s-m
- .syntax unified
- .global _start
- .thumb_func
- .type _start, %function
-_start:
- bx lr
-
- .text
- .section .text.fetchonly.second,"axy",%progbits
- .arch armv6s-m
- .syntax unified
- .global foo
- .thumb_func
- .type foo, %function
-foo:
- bx lr