[dea8e25] | 1 | Submitted By: Andrew Bradford <bradfa@gmail.com>
|
---|
[7f87fed] | 2 | Date: 2011-04-12
|
---|
[dea8e25] | 3 | Initial Package Version: 4.6.0
|
---|
[7f87fed] | 4 | Upstream Status: Modified From Buildroot (uClibc) Team
|
---|
[dea8e25] | 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 |
|
---|
[7f87fed] | 16 | diff -Nar '--unified=5' gcc-4.6.0.orig/gcc/config/arm/linux-elf.h gcc-4.6.0/gcc/config/arm/linux-elf.h
|
---|
| 17 | --- gcc-4.6.0.orig/gcc/config/arm/linux-elf.h 2011-04-12 05:59:31.000000000 -0400
|
---|
| 18 | +++ gcc-4.6.0/gcc/config/arm/linux-elf.h 2011-04-12 06:01:34.000000000 -0400
|
---|
| 19 | @@ -58,11 +58,11 @@
|
---|
| 20 | #define LIB_SPEC \
|
---|
| 21 | "%{pthread:-lpthread} \
|
---|
[dea8e25] | 22 | %{shared:-lc} \
|
---|
| 23 | %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
|
---|
| 24 |
|
---|
| 25 | -#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
|
---|
| 26 | +#define LIBGCC_SPEC "-lgcc"
|
---|
| 27 |
|
---|
| 28 | #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
---|
| 29 |
|
---|
[7f87fed] | 30 | #define LINUX_TARGET_LINK_SPEC "%{h*} \
|
---|
| 31 | %{static:-Bstatic} \
|
---|
| 32 | diff -Nar '--unified=5' gcc-4.6.0.orig/gcc/config/arm/t-linux gcc-4.6.0/gcc/config/arm/t-linux
|
---|
| 33 | --- gcc-4.6.0.orig/gcc/config/arm/t-linux 2011-04-12 05:59:31.000000000 -0400
|
---|
| 34 | +++ gcc-4.6.0/gcc/config/arm/t-linux 2011-04-12 06:03:02.000000000 -0400
|
---|
| 35 | @@ -21,11 +21,15 @@
|
---|
| 36 | # difference.
|
---|
| 37 | TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
|
---|
[dea8e25] | 38 |
|
---|
| 39 | LIB1ASMSRC = arm/lib1funcs.asm
|
---|
| 40 | LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
|
---|
[7f87fed] | 41 | - _arm_addsubdf3 _arm_addsubsf3
|
---|
| 42 | + _arm_addsubdf3 _arm_addsubsf3 \
|
---|
| 43 | + _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
|
---|
| 44 | + _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
|
---|
| 45 | + _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
|
---|
| 46 | + _arm_fixsfsi _arm_fixunssfsi
|
---|
[dea8e25] | 47 |
|
---|
| 48 | # MULTILIB_OPTIONS = mhard-float/msoft-float
|
---|
| 49 | # MULTILIB_DIRNAMES = hard-float soft-float
|
---|
[7f87fed] | 50 |
|
---|
| 51 | # EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o
|
---|