1 | Submitted By: Andrew Bradford <bradfa@gmail.com>
|
---|
2 | Date: 2011-04-05
|
---|
3 | Initial Package Version: 4.6.0
|
---|
4 | Upstream Status: From Buildroot Team
|
---|
5 | Origin: http://git.buildroot.net/buildroot/tree/toolchain/gcc/4.5.2/810-arm-softfloat-libgcc.patch
|
---|
6 | Description: This patch configures GCC to produce the required asm functions
|
---|
7 | to enable soft floating point operation in libgcc for ARM systems
|
---|
8 | using uClibc. GCC will use the file gcc/config/arm/ieee754-df.S
|
---|
9 | where these routines are stored. This doesn't happen by default,
|
---|
10 | thus requiring this patch.
|
---|
11 |
|
---|
12 | Modified from the Buildroot team's original as it wouldn't apply
|
---|
13 | cleanly to GCC-4.6.0. Content is the same but with different
|
---|
14 | offsets.
|
---|
15 |
|
---|
16 | diff -Naur gcc-4.6.0.orig/gcc/config/arm/linux-elf.h gcc-4.6.0/gcc/config/arm/li
|
---|
17 | nux-elf.h
|
---|
18 | --- gcc-4.6.0.orig/gcc/config/arm/linux-elf.h 2011-04-05 05:58:33.000000000 -0
|
---|
19 | 400
|
---|
20 | +++ gcc-4.6.0/gcc/config/arm/linux-elf.h 2011-04-05 05:59:28.000000000 -0
|
---|
21 | 400
|
---|
22 | @@ -60,7 +60,7 @@
|
---|
23 | %{shared:-lc} \
|
---|
24 | %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
|
---|
25 |
|
---|
26 | -#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
|
---|
27 | +#define LIBGCC_SPEC "-lgcc"
|
---|
28 |
|
---|
29 | #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
---|
30 |
|
---|
31 | diff -Naur gcc-4.6.0.orig/gcc/config/arm/t-linux gcc-4.6.0/gcc/config/arm/t-linux
|
---|
32 | --- gcc-4.6.0.orig/gcc/config/arm/t-linux 2011-04-05 05:58:33.000000000 -0400
|
---|
33 | +++ gcc-4.6.0/gcc/config/arm/t-linux 2011-04-05 06:03:12.000000000 -0400
|
---|
34 | @@ -23,7 +23,11 @@
|
---|
35 |
|
---|
36 | LIB1ASMSRC = arm/lib1funcs.asm
|
---|
37 | LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
|
---|
38 | - _arm_addsubdf3 _arm_addsubsf3
|
---|
39 | + _arm_addsubdf3 _arm_addsubsf3 \
|
---|
40 | + _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
|
---|
41 | + _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
|
---|
42 | + _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
|
---|
43 | + _arm_fixsfsi _arm_fixunssfsi
|
---|
44 |
|
---|
45 | # MULTILIB_OPTIONS = mhard-float/msoft-float
|
---|
46 | # MULTILIB_DIRNAMES = hard-float soft-float
|
---|