source: clfs-embedded/patches/gcc-4.6.0-uclibc-arm-softfloat-2.patch@ d445673c

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

Fixed GCC ARM soft float patch

Fixed an issue where applying the patch would end up with errors.
I don't think there was enough context in the patch file for the
patch program to determine what to do in the t-linux file.
Now providing extra context (5 lines).

  • Property mode set to 100644
File size: 2.2 KB
RevLine 
[dea8e25]1Submitted By: Andrew Bradford <bradfa@gmail.com>
[7f87fed]2Date: 2011-04-12
[dea8e25]3Initial Package Version: 4.6.0
[7f87fed]4Upstream Status: Modified From Buildroot (uClibc) Team
[dea8e25]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
[7f87fed]16diff -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} \
32diff -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
Note: See TracBrowser for help on using the repository browser.