diff options
Diffstat (limited to 'recipes/gcc/gcc-4.2.4/ep93xx/arm-crunch-eabi-mvf0-scratch-ieee754.patch')
-rw-r--r-- | recipes/gcc/gcc-4.2.4/ep93xx/arm-crunch-eabi-mvf0-scratch-ieee754.patch | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/recipes/gcc/gcc-4.2.4/ep93xx/arm-crunch-eabi-mvf0-scratch-ieee754.patch b/recipes/gcc/gcc-4.2.4/ep93xx/arm-crunch-eabi-mvf0-scratch-ieee754.patch new file mode 100644 index 0000000000..0a8f1845ec --- /dev/null +++ b/recipes/gcc/gcc-4.2.4/ep93xx/arm-crunch-eabi-mvf0-scratch-ieee754.patch @@ -0,0 +1,85 @@ +Don't try to copy results into an FPA register when compiling for Maverick + +Index: gcc-4.2.4/gcc/config/arm/ieee754-df.S +=================================================================== +--- gcc-4.2.4.orig/gcc/config/arm/ieee754-df.S 2009-08-09 15:43:45.000000000 +0100 ++++ gcc-4.2.4/gcc/config/arm/ieee754-df.S 2009-08-09 15:43:45.000000000 +0100 +@@ -451,12 +451,12 @@ + ARM_FUNC_ALIAS aeabi_ul2d floatundidf + + orrs r2, r0, r1 +-#if !defined (__VFP_FP__) && !defined(__SOFTFP__) ++#if !defined (__VFP_FP__) && !defined (__MAVERICK__) && !defined(__SOFTFP__) + mvfeqd f0, #0.0 + #endif + RETc(eq) + +-#if !defined (__VFP_FP__) && !defined(__SOFTFP__) ++#if !defined (__VFP_FP__) && !defined (__MAVERICK__) && !defined(__SOFTFP__) + @ For hard FPA code we want to return via the tail below so that + @ we can return the result in f0 as well as in r0/r1 for backwards + @ compatibility. +@@ -473,12 +473,12 @@ + ARM_FUNC_ALIAS aeabi_l2d floatdidf + + orrs r2, r0, r1 +-#if !defined (__VFP_FP__) && !defined(__SOFTFP__) ++#if !defined (__VFP_FP__) && !defined (__MAVERICK__) && !defined(__SOFTFP__) + mvfeqd f0, #0.0 + #endif + RETc(eq) + +-#if !defined (__VFP_FP__) && !defined(__SOFTFP__) ++#if !defined (__VFP_FP__) && !defined (__MAVERICK__) && !defined(__SOFTFP__) + @ For hard FPA code we want to return via the tail below so that + @ we can return the result in f0 as well as in r0/r1 for backwards + @ compatibility. +@@ -522,7 +522,7 @@ + add r4, r4, r2 + b LSYM(Lad_p) + +-#if !defined (__VFP_FP__) && !defined(__SOFTFP__) ++#if !defined (__VFP_FP__) && !defined (__MAVERICK__) && !defined(__SOFTFP__) + + @ Legacy code expects the result to be returned in f0. Copy it + @ there as well. +Index: gcc-4.2.4/gcc/config/arm/ieee754-sf.S +=================================================================== +--- gcc-4.2.4.orig/gcc/config/arm/ieee754-sf.S 2005-08-06 14:26:35.000000000 +0100 ++++ gcc-4.2.4/gcc/config/arm/ieee754-sf.S 2009-08-09 15:43:45.000000000 +0100 +@@ -301,7 +301,7 @@ + ARM_FUNC_ALIAS aeabi_ul2f floatundisf + + orrs r2, r0, r1 +-#if !defined (__VFP_FP__) && !defined(__SOFTFP__) ++#if !defined (__VFP_FP__) && !defined (__MAVERICK__) && !defined(__SOFTFP__) + mvfeqs f0, #0.0 + #endif + RETc(eq) +@@ -313,7 +313,7 @@ + ARM_FUNC_ALIAS aeabi_l2f floatdisf + + orrs r2, r0, r1 +-#if !defined (__VFP_FP__) && !defined(__SOFTFP__) ++#if !defined (__VFP_FP__) && !defined (__MAVERICK__) && !defined(__SOFTFP__) + mvfeqs f0, #0.0 + #endif + RETc(eq) +@@ -323,7 +323,7 @@ + rsbs al, al, #0 + rsc ah, ah, #0 + 1: +-#if !defined (__VFP_FP__) && !defined(__SOFTFP__) ++#if !defined (__VFP_FP__) && !defined (__MAVERICK__) && !defined(__SOFTFP__) + @ For hard FPA code we want to return via the tail below so that + @ we can return the result in f0 as well as in r0 for backwards + @ compatibility. +@@ -384,7 +384,7 @@ + biceq r0, r0, ip, lsr #31 + RET + +-#if !defined (__VFP_FP__) && !defined(__SOFTFP__) ++#if !defined (__VFP_FP__) && !defined (__MAVERICK__) && !defined(__SOFTFP__) + + LSYM(f0_ret): + str r0, [sp, #-4]! |