summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>2010-04-17 15:34:25 +0000
committerrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>2010-04-17 15:34:25 +0000
commitb61d50b69f955fb9f2e18631676cbb83e56f222d (patch)
tree09377ffdcae03300a7a994b1d96b0edc65ccf809
parentf39b90606c3c2bbaa6c975a629a4d2633198fb66 (diff)
downloadppe42-gcc-b61d50b69f955fb9f2e18631676cbb83e56f222d.tar.gz
ppe42-gcc-b61d50b69f955fb9f2e18631676cbb83e56f222d.zip
* arm/bpabi.S: Add EABI alignment attributes to objects.
* arm/bpabi-v6m.S: Likewise. * arm/crti.asm: Likewise. * arm/crtn.asm: Likewise. * arm/lib1funcs.asm: Likewise. * arm/libunwind.S: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158470 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/arm/bpabi-v6m.S10
-rw-r--r--gcc/config/arm/bpabi.S10
-rw-r--r--gcc/config/arm/crti.asm9
-rw-r--r--gcc/config/arm/crtn.asm10
-rw-r--r--gcc/config/arm/lib1funcs.asm4
-rw-r--r--gcc/config/arm/libunwind.S10
7 files changed, 60 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 700faedc68d..3653f88a75e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,14 @@
2010-04-17 Richard Earnshaw <rearnsha@arm.com>
+ * arm/bpabi.S: Add EABI alignment attributes to objects.
+ * arm/bpabi-v6m.S: Likewise.
+ * arm/crti.asm: Likewise.
+ * arm/crtn.asm: Likewise.
+ * arm/lib1funcs.asm: Likewise.
+ * arm/libunwind.S: Likewise.
+
+2010-04-17 Richard Earnshaw <rearnsha@arm.com>
+
* arm-protos.h (tune_params): New structure.
* arm.c (current_tune): New variable.
(arm_constant_limit): Delete.
diff --git a/gcc/config/arm/bpabi-v6m.S b/gcc/config/arm/bpabi-v6m.S
index 75d50d967a7..db1d0ed2529 100644
--- a/gcc/config/arm/bpabi-v6m.S
+++ b/gcc/config/arm/bpabi-v6m.S
@@ -22,6 +22,16 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#ifdef __ARM_EABI__
+/* Some attributes that are common to all routines in this file. */
+ /* Tag_ABI_align_needed: This code does not require 8-byte
+ alignment from the caller. */
+ /* .eabi_attribute 24, 0 -- default setting. */
+ /* Tag_ABI_align_preserved: This code preserves 8-byte
+ alignment in any callee. */
+ .eabi_attribute 25, 1
+#endif /* __ARM_EABI__ */
+
#ifdef L_aeabi_lcmp
FUNC_START aeabi_lcmp
diff --git a/gcc/config/arm/bpabi.S b/gcc/config/arm/bpabi.S
index ccc569e9821..10e0f95654d 100644
--- a/gcc/config/arm/bpabi.S
+++ b/gcc/config/arm/bpabi.S
@@ -22,6 +22,16 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#ifdef __ARM_EABI__
+/* Some attributes that are common to all routines in this file. */
+ /* Tag_ABI_align_needed: This code does not require 8-byte
+ alignment from the caller. */
+ /* .eabi_attribute 24, 0 -- default setting. */
+ /* Tag_ABI_align_preserved: This code preserves 8-byte
+ alignment in any callee. */
+ .eabi_attribute 25, 1
+#endif /* __ARM_EABI__ */
+
#ifdef L_aeabi_lcmp
ARM_FUNC_START aeabi_lcmp
diff --git a/gcc/config/arm/crti.asm b/gcc/config/arm/crti.asm
index 310d7840dee..bda56c56fe8 100644
--- a/gcc/config/arm/crti.asm
+++ b/gcc/config/arm/crti.asm
@@ -35,6 +35,15 @@
#else
#define TYPE(x)
#endif
+#ifdef __ARM_EABI__
+/* Some attributes that are common to all routines in this file. */
+ /* Tag_ABI_align_needed: This code does not require 8-byte
+ alignment from the caller. */
+ /* .eabi_attribute 24, 0 -- default setting. */
+ /* Tag_ABI_align_preserved: This code preserves 8-byte
+ alignment in any callee. */
+ .eabi_attribute 25, 1
+#endif /* __ARM_EABI__ */
# Note - this macro is complemented by the FUNC_END macro
# in crtn.asm. If you change this macro you must also change
diff --git a/gcc/config/arm/crtn.asm b/gcc/config/arm/crtn.asm
index 006b7d5260a..e4d59803ad1 100644
--- a/gcc/config/arm/crtn.asm
+++ b/gcc/config/arm/crtn.asm
@@ -26,6 +26,16 @@
.previous
#endif
+#ifdef __ARM_EABI__
+/* Some attributes that are common to all routines in this file. */
+ /* Tag_ABI_align_needed: This code does not require 8-byte
+ alignment from the caller. */
+ /* .eabi_attribute 24, 0 -- default setting. */
+ /* Tag_ABI_align_preserved: This code preserves 8-byte
+ alignment in any callee. */
+ .eabi_attribute 25, 1
+#endif /* __ARM_EABI__ */
+
# This file just makes sure that the .fini and .init sections do in
# fact return. Users may put any desired instructions in those sections.
# This file is the last thing linked into any executable.
diff --git a/gcc/config/arm/lib1funcs.asm b/gcc/config/arm/lib1funcs.asm
index cd64da35860..34aa23e6979 100644
--- a/gcc/config/arm/lib1funcs.asm
+++ b/gcc/config/arm/lib1funcs.asm
@@ -31,10 +31,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#ifdef __ARM_EABI__
/* Some attributes that are common to all routines in this file. */
- /* Tag_ABI_align8_needed: This code does not require 8-byte
+ /* Tag_ABI_align_needed: This code does not require 8-byte
alignment from the caller. */
/* .eabi_attribute 24, 0 -- default setting. */
- /* Tag_ABI_align8_preserved: This code preserves 8-byte
+ /* Tag_ABI_align_preserved: This code preserves 8-byte
alignment in any callee. */
.eabi_attribute 25, 1
#endif /* __ARM_EABI__ */
diff --git a/gcc/config/arm/libunwind.S b/gcc/config/arm/libunwind.S
index 800e7e0caa9..b04e41731fa 100644
--- a/gcc/config/arm/libunwind.S
+++ b/gcc/config/arm/libunwind.S
@@ -27,6 +27,16 @@
.previous
#endif
+#ifdef __ARM_EABI__
+/* Some attributes that are common to all routines in this file. */
+ /* Tag_ABI_align_needed: This code does not require 8-byte
+ alignment from the caller. */
+ /* .eabi_attribute 24, 0 -- default setting. */
+ /* Tag_ABI_align_preserved: This code preserves 8-byte
+ alignment in any callee. */
+ .eabi_attribute 25, 1
+#endif /* __ARM_EABI__ */
+
#ifndef __symbian__
#include "lib1funcs.asm"
OpenPOWER on IntegriCloud