source: clfs-embedded/patches/gcc-4.6.0-uclibc-arm-softfloat-1.patch @ dea8e25

Last change on this file since dea8e25 was dea8e25, checked in by Andrew Bradford <bradfa@…>, 13 years ago

Created patch to enable softfloat on ARM w/ uClibc

Original taken from Buildroot team's GCC 4.5.2 patch. Wouldn't apply
cleanly to GCC 4.6.0 so modified slightly.
Enables a bunch of assembly routines to do soft floating point that
aren't enabled by default but are required to be in libgcc for uClibc.

  • Property mode set to 100644
File size: 2.0 KB
Line 
1Submitted By: Andrew Bradford <bradfa@gmail.com>
2Date: 2011-04-05
3Initial Package Version: 4.6.0
4Upstream Status: From Buildroot Team
5Origin: http://git.buildroot.net/buildroot/tree/toolchain/gcc/4.5.2/810-arm-softfloat-libgcc.patch
6Description: 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
16diff -Naur gcc-4.6.0.orig/gcc/config/arm/linux-elf.h gcc-4.6.0/gcc/config/arm/li
17nux-elf.h
18--- gcc-4.6.0.orig/gcc/config/arm/linux-elf.h   2011-04-05 05:58:33.000000000 -0
19400
20+++ gcc-4.6.0/gcc/config/arm/linux-elf.h        2011-04-05 05:59:28.000000000 -0
21400
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 
31diff -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
Note: See TracBrowser for help on using the repository browser.