[binutils-gdb] Remove support for creating ARM NOREAD sections.

Nick Clifton nickc@sourceware.org
Thu Feb 4 11:58:00 GMT 2016


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=39306124611b7c5a0bb12cba253364723fc1c5ee

commit 39306124611b7c5a0bb12cba253364723fc1c5ee
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Feb 4 11:57:57 2016 +0000

    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.

Diff:
---
 gas/ChangeLog                                      | 10 ++++++++
 gas/config/obj-elf.c                               |  9 -------
 gas/config/tc-arm.c                                | 10 --------
 gas/config/tc-arm.h                                |  3 ---
 gas/doc/c-arm.texi                                 | 12 ---------
 gas/testsuite/gas/arm/section-execute-only.d       | 27 -------------------
 gas/testsuite/gas/arm/section-execute-only.s       | 30 ----------------------
 ld/ChangeLog                                       | 12 +++++++++
 ld/testsuite/ld-arm/arm-elf.exp                    | 12 ---------
 .../ld-arm/thumb1-input-section-flag-match.d       |  6 -----
 .../ld-arm/thumb1-input-section-flag-match.s       | 18 -------------
 .../thumb1-noread-not-present-mixing-two-section.d |  5 ----
 .../thumb1-noread-not-present-mixing-two-section.s | 18 -------------
 .../ld-arm/thumb1-noread-present-one-section.d     |  5 ----
 .../ld-arm/thumb1-noread-present-one-section.s     |  9 -------
 .../ld-arm/thumb1-noread-present-two-section.d     |  5 ----
 .../ld-arm/thumb1-noread-present-two-section.s     | 19 --------------
 17 files changed, 22 insertions(+), 188 deletions(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index e64617c..f62990a 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,15 @@
 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
 	* config/tc-msp430.c (msp430_operands): Remove case 7.  Use case 2
 	to handle encoding of RRUX instruction.
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index 6d6d5f3..f4726ff 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -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);
@@ -678,11 +674,6 @@ obj_elf_change_section (const char *name,
 	    /* 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
 	    {
 	      if (group_name == NULL)
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 055e525..be6436e 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -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)
 {
diff --git a/gas/config/tc-arm.h b/gas/config/tc-arm.h
index 749629c..319b2c2 100644
--- a/gas/config/tc-arm.h
+++ b/gas/config/tc-arm.h
@@ -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);
diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi
index 886b024..8679424 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -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
diff --git a/gas/testsuite/gas/arm/section-execute-only.d b/gas/testsuite/gas/arm/section-execute-only.d
deleted file mode 100644
index d45a132..0000000
--- a/gas/testsuite/gas/arm/section-execute-only.d
+++ /dev/null
@@ -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
diff --git a/gas/testsuite/gas/arm/section-execute-only.s b/gas/testsuite/gas/arm/section-execute-only.s
deleted file mode 100644
index 9d5ffc6..0000000
--- a/gas/testsuite/gas/arm/section-execute-only.s
+++ /dev/null
@@ -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
-
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 54e169b..584a8dd 100644
--- a/ld/ChangeLog
+++ b/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
diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp
index 258a3ea..a2082a8 100644
--- a/ld/testsuite/ld-arm/arm-elf.exp
+++ b/ld/testsuite/ld-arm/arm-elf.exp
@@ -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*"] } {
diff --git a/ld/testsuite/ld-arm/thumb1-input-section-flag-match.d b/ld/testsuite/ld-arm/thumb1-input-section-flag-match.d
deleted file mode 100644
index e25a4f4..0000000
--- a/ld/testsuite/ld-arm/thumb1-input-section-flag-match.d
+++ /dev/null
@@ -1,6 +0,0 @@
-#...
-Program Headers:
-#...
-  LOAD           0x000000 0x00000000 0x00000000 0x08002 0x08002 R E 0x10000
-  LOAD           0x010000 0x00800000 0x00800000 0x00002 0x00002   E 0x10000
-#...
diff --git a/ld/testsuite/ld-arm/thumb1-input-section-flag-match.s b/ld/testsuite/ld-arm/thumb1-input-section-flag-match.s
deleted file mode 100644
index 6f1ad62..0000000
--- a/ld/testsuite/ld-arm/thumb1-input-section-flag-match.s
+++ /dev/null
@@ -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
diff --git a/ld/testsuite/ld-arm/thumb1-noread-not-present-mixing-two-section.d b/ld/testsuite/ld-arm/thumb1-noread-not-present-mixing-two-section.d
deleted file mode 100644
index 9150576..0000000
--- a/ld/testsuite/ld-arm/thumb1-noread-not-present-mixing-two-section.d
+++ /dev/null
@@ -1,5 +0,0 @@
-#...
-Program Headers:
-#...
-  LOAD           0x000000 0x00000000 0x00000000 0x08004 0x08004 R E 0x10000
-#...
diff --git a/ld/testsuite/ld-arm/thumb1-noread-not-present-mixing-two-section.s b/ld/testsuite/ld-arm/thumb1-noread-not-present-mixing-two-section.s
deleted file mode 100644
index 5b14873..0000000
--- a/ld/testsuite/ld-arm/thumb1-noread-not-present-mixing-two-section.s
+++ /dev/null
@@ -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
diff --git a/ld/testsuite/ld-arm/thumb1-noread-present-one-section.d b/ld/testsuite/ld-arm/thumb1-noread-present-one-section.d
deleted file mode 100644
index 1faf40c..0000000
--- a/ld/testsuite/ld-arm/thumb1-noread-present-one-section.d
+++ /dev/null
@@ -1,5 +0,0 @@
-#...
-Program Headers:
-#...
-  LOAD           0x000000 0x00000000 0x00000000 0x08002 0x08002   E 0x10000
-#...
diff --git a/ld/testsuite/ld-arm/thumb1-noread-present-one-section.s b/ld/testsuite/ld-arm/thumb1-noread-present-one-section.s
deleted file mode 100644
index 203cfd5..0000000
--- a/ld/testsuite/ld-arm/thumb1-noread-present-one-section.s
+++ /dev/null
@@ -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
diff --git a/ld/testsuite/ld-arm/thumb1-noread-present-two-section.d b/ld/testsuite/ld-arm/thumb1-noread-present-two-section.d
deleted file mode 100644
index 365cab0..0000000
--- a/ld/testsuite/ld-arm/thumb1-noread-present-two-section.d
+++ /dev/null
@@ -1,5 +0,0 @@
-#...
-Program Headers:
-#...
-  LOAD           0x000000 0x00000000 0x00000000 0x08004 0x08004   E 0x10000
-#...
diff --git a/ld/testsuite/ld-arm/thumb1-noread-present-two-section.s b/ld/testsuite/ld-arm/thumb1-noread-present-two-section.s
deleted file mode 100644
index 245ab25..0000000
--- a/ld/testsuite/ld-arm/thumb1-noread-present-two-section.s
+++ /dev/null
@@ -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



More information about the Binutils-cvs mailing list