diff options
Diffstat (limited to 'recipes-devtools/gcc/gcc-4.7/arm-nolibfloat.patch')
-rw-r--r-- | recipes-devtools/gcc/gcc-4.7/arm-nolibfloat.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/recipes-devtools/gcc/gcc-4.7/arm-nolibfloat.patch b/recipes-devtools/gcc/gcc-4.7/arm-nolibfloat.patch new file mode 100644 index 00000000..901f014e --- /dev/null +++ b/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. |