mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-19 09:02:21 +00:00
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:
parent
c1d9289fef
commit
3930612461
@ -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
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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
|
@ -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
|
||||
|
12
ld/ChangeLog
12
ld/ChangeLog
@ -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
|
||||
|
@ -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*"] } {
|
||||
|
@ -1,6 +0,0 @@
|
||||
#...
|
||||
Program Headers:
|
||||
#...
|
||||
LOAD 0x000000 0x00000000 0x00000000 0x08002 0x08002 R E 0x10000
|
||||
LOAD 0x010000 0x00800000 0x00800000 0x00002 0x00002 E 0x10000
|
||||
#...
|
@ -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
|
@ -1,5 +0,0 @@
|
||||
#...
|
||||
Program Headers:
|
||||
#...
|
||||
LOAD 0x000000 0x00000000 0x00000000 0x08004 0x08004 R E 0x10000
|
||||
#...
|
@ -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
|
@ -1,5 +0,0 @@
|
||||
#...
|
||||
Program Headers:
|
||||
#...
|
||||
LOAD 0x000000 0x00000000 0x00000000 0x08002 0x08002 E 0x10000
|
||||
#...
|
@ -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
|
@ -1,5 +0,0 @@
|
||||
#...
|
||||
Program Headers:
|
||||
#...
|
||||
LOAD 0x000000 0x00000000 0x00000000 0x08004 0x08004 E 0x10000
|
||||
#...
|
@ -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
|
Loading…
x
Reference in New Issue
Block a user