[oe-commits] Khem Raj : gcc-4.5: Fix the bswapsi libgcc infinite loop at -Os

git version control git at git.openembedded.org
Tue Jun 22 15:44:15 UTC 2010


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 89f404095309d9ff8a54e2d1c75baba21b845de1
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=89f404095309d9ff8a54e2d1c75baba21b845de1

Author: Khem Raj <raj.khem at gmail.com>
Date:   Tue Jun 22 08:43:28 2010 -0700

gcc-4.5: Fix the bswapsi libgcc infinite loop at -Os

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

---

 recipes/gcc/gcc-4.5.inc                |    3 ++-
 recipes/gcc/gcc-4.5/arm-bswapsi2.patch |   13 +++++++++++++
 2 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/recipes/gcc/gcc-4.5.inc b/recipes/gcc/gcc-4.5.inc
index cb41e7e..181db33 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 = "r3"
+INC_PR = "r4"
 
 SRCREV = "160764"
 PV = "4.5"
@@ -29,6 +29,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH} \
 	   file://cache-amnesia.patch \
 	   file://gcc-flags-for-build.patch \
 	   file://libstdc++-emit-__cxa_end_cleanup-in-text.patch \
+	   file://arm-bswapsi2.patch \
 	  "
 
 # Language Overrides
diff --git a/recipes/gcc/gcc-4.5/arm-bswapsi2.patch b/recipes/gcc/gcc-4.5/arm-bswapsi2.patch
new file mode 100644
index 0000000..7ac61a6
--- /dev/null
+++ b/recipes/gcc/gcc-4.5/arm-bswapsi2.patch
@@ -0,0 +1,13 @@
+Index: gcc-4.5/gcc/config/arm/arm.md
+===================================================================
+--- gcc-4.5.orig/gcc/config/arm/arm.md	2010-06-17 09:13:07.000000000 -0700
++++ gcc-4.5/gcc/config/arm/arm.md	2010-06-22 08:08:45.397212002 -0700
+@@ -11267,7 +11267,7 @@
+ (define_expand "bswapsi2"
+   [(set (match_operand:SI 0 "s_register_operand" "=r")
+   	(bswap:SI (match_operand:SI 1 "s_register_operand" "r")))]
+-"TARGET_EITHER"
++"TARGET_EITHER && (arm_arch6 && !optimize_size)"
+ "
+   if (!arm_arch6)
+     {





More information about the Openembedded-commits mailing list