Remove support for creating ARM NOREAD sections.

gas	* 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.

ld	* 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.
This commit is contained in:
Nick Clifton 2016-02-04 11:57:57 +00:00
parent c1d9289fef
commit 3930612461
17 changed files with 22 additions and 188 deletions

View File

@ -1,3 +1,13 @@
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

View File

@ -64,10 +64,6 @@
#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);
@ -677,11 +673,6 @@ obj_elf_change_section (const char *name,
|| 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
{

View File

@ -24094,16 +24094,6 @@ arm_fix_adjustable (fixS * fixP)
#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)
{

View File

@ -114,9 +114,6 @@ extern bfd_boolean tc_start_label_without_colon (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);

View File

@ -23,7 +23,6 @@
* ARM Opcodes:: Opcodes
* ARM Mapping Symbols:: Mapping Symbols
* ARM Unwinding Tutorial:: Unwinding
* ARM Section Attribute:: Section Attribute
@end menu
@node ARM Options
@ -1239,14 +1238,3 @@ know more about the object-file format used to represent unwind
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

View File

@ -1,27 +0,0 @@
# 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

View File

@ -1,30 +0,0 @@
.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

View File

@ -1,3 +1,15 @@
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

View File

@ -312,18 +312,6 @@ 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"}
}
if { ![istarget "arm*-*-nacl*"] } {

View File

@ -1,6 +0,0 @@
#...
Program Headers:
#...
LOAD 0x000000 0x00000000 0x00000000 0x08002 0x08002 R E 0x10000
LOAD 0x010000 0x00800000 0x00800000 0x00002 0x00002 E 0x10000
#...

View File

@ -1,18 +0,0 @@
.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

View File

@ -1,5 +0,0 @@
#...
Program Headers:
#...
LOAD 0x000000 0x00000000 0x00000000 0x08004 0x08004 R E 0x10000
#...

View File

@ -1,18 +0,0 @@
.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

View File

@ -1,5 +0,0 @@
#...
Program Headers:
#...
LOAD 0x000000 0x00000000 0x00000000 0x08002 0x08002 E 0x10000
#...

View File

@ -1,9 +0,0 @@
.text
.section .text.fetchonly,"axy",%progbits
.arch armv6s-m
.syntax unified
.global _start
.thumb_func
.type _start, %function
_start:
bx lr

View File

@ -1,5 +0,0 @@
#...
Program Headers:
#...
LOAD 0x000000 0x00000000 0x00000000 0x08004 0x08004 E 0x10000
#...

View File

@ -1,19 +0,0 @@
.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