summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-4.7/arm-nolibfloat.patch
blob: 901f014ed7882c1cfaae991e35097894731a7900 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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.