summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-4.7/arm-nolibfloat.patch
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2012-02-23 19:14:58 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-04-26 14:48:49 +0100
commit3f8fee75e598ad0994acc5da0a612e6eca4f35f6 (patch)
treeecb67530d31f8c65aad0f37aca9052b0bed0da8e /meta/recipes-devtools/gcc/gcc-4.7/arm-nolibfloat.patch
parent7159dad19f8cfd3e7e95523da63e91370744da7f (diff)
downloadopenembedded-core-3f8fee75e598ad0994acc5da0a612e6eca4f35f6.tar.gz
gcc-4.7: Add recipes
Add new recipes for gcc-4_7-branch right now gcc 4.7.0 is latest release from this branch Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.7/arm-nolibfloat.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.7/arm-nolibfloat.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.7/arm-nolibfloat.patch b/meta/recipes-devtools/gcc/gcc-4.7/arm-nolibfloat.patch
new file mode 100644
index 0000000000..901f014ed7
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.7/arm-nolibfloat.patch
@@ -0,0 +1,40 @@
+Upstream-Status: Pending
+
+# Dimitry Andric <dimitry@andric.com>, 2004-05-01
+#
+# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
+# anymore. (The required functions are now in libgcc.)
+#
+# Fixes errors like
+# arm-softfloat-linux-gnu/3.4.0/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lfloat
+# collect2: ld returned 1 exit status
+# make[2]: *** [arm-softfloat-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/iconvdata/ISO8859-1.so] Error 1
+# when building glibc-2.3.3 with gcc-3.4.0 for arm-softfloat
+
+Index: trunk/gcc/config/arm/linux-elf.h
+===================================================================
+--- trunk.orig/gcc/config/arm/linux-elf.h 2012-02-22 12:04:30.644385926 -0800
++++ trunk/gcc/config/arm/linux-elf.h 2012-02-22 12:04:30.764385931 -0800
+@@ -57,7 +57,7 @@
+ %{shared:-lc} \
+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+
+-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+
+ #define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+
+Index: trunk/libgcc/config/arm/t-linux
+===================================================================
+--- trunk.orig/libgcc/config/arm/t-linux 2012-02-22 12:11:48.372407121 -0800
++++ trunk/libgcc/config/arm/t-linux 2012-02-22 12:13:19.868411588 -0800
+@@ -1,6 +1,8 @@
+ LIB1ASMSRC = arm/lib1funcs.S
+ LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
+- _arm_addsubdf3 _arm_addsubsf3
++ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
++ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
++ _fixsfsi _fixunssfsi _floatdidf _floatundidf _floatdisf _floatundisf
+
+ # Just for these, we omit the frame pointer since it makes such a big
+ # difference.