[oe-commits] Khem Raj : gcc-4.5: Fix asm out of range errors seen on thumb when using -O1

git version control git at git.openembedded.org
Thu Oct 7 19:46:42 UTC 2010


Module: openembedded.git
Branch: master
Commit: 8e1eef82a09c14668a125c720cfcd354bbeb42cf
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=8e1eef82a09c14668a125c720cfcd354bbeb42cf

Author: Khem Raj <raj.khem at gmail.com>
Date:   Thu Oct  7 12:45:36 2010 -0700

gcc-4.5: Fix asm out of range errors seen on thumb when using -O1

Signed-off-by: Khem Raj <raj.khem at gmail.com>

---

 recipes/gcc/gcc-4.5.inc                            |    3 +-
 .../gcc-4.5/thumb-asm-out-of-range-pr43961.patch   |   21 ++++++++++++++++++++
 2 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/recipes/gcc/gcc-4.5.inc b/recipes/gcc/gcc-4.5.inc
index 36d12ec..0fe53b4 100644
--- a/recipes/gcc/gcc-4.5.inc
+++ b/recipes/gcc/gcc-4.5.inc
@@ -8,7 +8,7 @@ DEPENDS = "mpfr gmp libmpc libelf"
 NATIVEDEPS = "mpfr-native gmp-native libmpc-native"
 
 
-INC_PR = "r12"
+INC_PR = "r13"
 
 SRCREV = "164562"
 PV = "4.5"
@@ -119,6 +119,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH} \
 	   file://linaro/gcc-4.5-linaro-r99398.patch \
 	   file://gcc-vmovl-PR45805.patch \
 	   file://gcc-scalar-widening-pr45847.patch \
+	   file://thumb-asm-out-of-range-pr43961.patch \
 	  "
 
 SRC_URI_append_mips64 = " file://mips64-nomultilib.patch"
diff --git a/recipes/gcc/gcc-4.5/thumb-asm-out-of-range-pr43961.patch b/recipes/gcc/gcc-4.5/thumb-asm-out-of-range-pr43961.patch
new file mode 100644
index 0000000..ec7e823
--- /dev/null
+++ b/recipes/gcc/gcc-4.5/thumb-asm-out-of-range-pr43961.patch
@@ -0,0 +1,21 @@
+gcc/
+
+2010-06-22  Mikael Pettersson  <mikpe at it.uu.se>
+
+	PR target/43961
+	* config/arm/arm.h (ADDR_VEC_ALIGN): Describe added
+	alignment for Thumb-1 compressed switch tables.
+
+--- gcc-4.6-20100619/gcc/config/arm/arm.h.~1~	2010-06-16 20:02:58.000000000 +0200
++++ gcc-4.6-20100619/gcc/config/arm/arm.h	2010-06-22 14:03:52.000000000 +0200
+@@ -2320,7 +2320,8 @@ extern int making_const_table;
+     } while (0)
+ 
+ /* Jump table alignment is explicit in ASM_OUTPUT_CASE_LABEL.  */
+-#define ADDR_VEC_ALIGN(JUMPTABLE) 0
++#define ADDR_VEC_ALIGN(JUMPTABLE)	\
++  ((TARGET_THUMB && GET_MODE (PATTERN (JUMPTABLE)) == SImode) ? 2 : 0)
+ 
+ /* This is how to output a label which precedes a jumptable.  Since
+    Thumb instructions are 2 bytes, we may need explicit alignment here.  */
+





More information about the Openembedded-commits mailing list