gcc-4.5: added thumb2 build patch
authorEnrico Scholz <enrico.scholz@sigma-chemnitz.de>
Tue, 8 Feb 2011 01:25:38 +0000 (01:25 +0000)
committerKhem Raj <raj.khem@gmail.com>
Thu, 24 Feb 2011 02:55:20 +0000 (18:55 -0800)
Fix for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43999 and is
required to build gcc for Thumb2 only architectures (e.g. Cortex-M3).

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
recipes/gcc/gcc-4.5.inc
recipes/gcc/gcc-4.5/arm-lib1funcs.as-fix-mismatch-between-conditions-of-an-IT-block.patch [new file with mode: 0755]

index d2f5937..0239a29 100644 (file)
@@ -8,7 +8,7 @@ DEPENDS = "mpfr gmp libmpc libelf"
 NATIVEDEPS = "mpfr-native gmp-native libmpc-native"
 
 
-INC_PR = "r31"
+INC_PR = "r32"
 
 SRCREV = "170123"
 PV = "4.5"
@@ -32,6 +32,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH} \
           file://Makefile.in.patch \
           file://gcc-armv4-pass-fix-v4bx-to-ld.patch \
           file://sh4-multilib.patch \
+          file://arm-lib1funcs.as-fix-mismatch-between-conditions-of-an-IT-block.patch \
           file://linaro/gcc-4.5-linaro-r99297.patch \
           file://linaro/gcc-4.5-linaro-r99298.patch \
           file://linaro/gcc-4.5-linaro-r99299.patch \
diff --git a/recipes/gcc/gcc-4.5/arm-lib1funcs.as-fix-mismatch-between-conditions-of-an-IT-block.patch b/recipes/gcc/gcc-4.5/arm-lib1funcs.as-fix-mismatch-between-conditions-of-an-IT-block.patch
new file mode 100755 (executable)
index 0000000..39c90e7
--- /dev/null
@@ -0,0 +1,18 @@
+Fix for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43999
+
+http://patchwork.ozlabs.org/patch/72260/ is the patch that made into
+upstream gcc
+
+diff --git a/gcc/config/arm/lib1funcs.asm b/gcc/config/arm/lib1funcs.asm
+index 085e690..2e76c01 100644
+--- a/gcc/config/arm/lib1funcs.asm
++++ b/gcc/config/arm/lib1funcs.asm
+@@ -641,7 +641,7 @@ pc         .req    r15
+       subhs   \dividend, \dividend, \divisor, lsr #3
+       orrhs   \result,   \result,   \curbit,  lsr #3
+       cmp     \dividend, #0                   @ Early termination?
+-      do_it   hs, t
++      do_it   ne, t
+       movnes  \curbit,   \curbit,  lsr #4     @ No, any more bits to do?
+       movne   \divisor,  \divisor, lsr #4
+       bne     1b