[dea8e25] | 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
|
---|