patches/gcc/4.4.4/390-arm-softfloat-libgcc.patch
author Daniel Price <daniel.price@gmail.com>
Tue Nov 20 16:59:17 2012 -0800 (2012-11-20)
changeset 3126 333d3e40cbd1
permissions -rw-r--r--
scripts: refine static linking check to better guide the user

The current mechanism to check if static linking is possible, and the mesage
displayed on failure, can be puzzling to the unsuspecting user.

Also, the current implementation is not using the existing infrastructure,
and is thus difficult to enhance with new tests.

So, switch to using the standard CT_DoExecLog infra, and use four tests to
check for the host compiler:
- check we can run it
- check it can build a trivial program
- check it can statically link that program
- check if it statically link with libstdc++

That should cover most of the problems. Hopefully.

(At the same time, fix a typo in a comment)

Signed-off-by: Daniel Price <daniel.price@gmail.com>
[yann.morin.1998@free.fr: split original patch for self-contained changes]
[yann.morin.1998@free.fr: use steps to better see gcc's output]
[yann.morin.1998@free.fr: commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <163f86b5216fc08c672a.1353459722@nipigon.dssd.com>
Patchwork-Id: 200536
bryanhundven@2201
     1
[PATCH] add the correct symbols to libgcc for uclibc arm softfloat
bryanhundven@2201
     2
bryanhundven@2201
     3
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
bryanhundven@2201
     4
---
bryanhundven@2201
     5
 gcc/config/arm/linux-elf.h |    2 +-
bryanhundven@2201
     6
 gcc/config/arm/t-linux     |    6 +++++-
bryanhundven@2201
     7
 2 files changed, 6 insertions(+), 2 deletions(-)
bryanhundven@2201
     8
bryanhundven@2201
     9
Index: gcc-4.4.0/gcc/config/arm/t-linux
bryanhundven@2201
    10
===================================================================
bryanhundven@2201
    11
--- gcc-4.4.0.orig/gcc/config/arm/t-linux
bryanhundven@2201
    12
+++ gcc-4.4.0/gcc/config/arm/t-linux
bryanhundven@2201
    13
@@ -4,7 +4,11 @@
bryanhundven@2201
    14
 
bryanhundven@2201
    15
 LIB1ASMSRC = arm/lib1funcs.asm
bryanhundven@2201
    16
 LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
bryanhundven@2201
    17
-	_arm_addsubdf3 _arm_addsubsf3
bryanhundven@2201
    18
+	_arm_addsubdf3 _arm_addsubsf3 \
bryanhundven@2201
    19
+	_arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
bryanhundven@2201
    20
+	_arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
bryanhundven@2201
    21
+	_arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
bryanhundven@2201
    22
+	_arm_fixsfsi _arm_fixunssfsi
bryanhundven@2201
    23
 
bryanhundven@2201
    24
 # MULTILIB_OPTIONS = mhard-float/msoft-float
bryanhundven@2201
    25
 # MULTILIB_DIRNAMES = hard-float soft-float
bryanhundven@2201
    26
Index: gcc-4.4.0/gcc/config/arm/linux-elf.h
bryanhundven@2201
    27
===================================================================
bryanhundven@2201
    28
--- gcc-4.4.0.orig/gcc/config/arm/linux-elf.h
bryanhundven@2201
    29
+++ gcc-4.4.0/gcc/config/arm/linux-elf.h
bryanhundven@2201
    30
@@ -60,7 +60,7 @@
bryanhundven@2201
    31
    %{shared:-lc} \
bryanhundven@2201
    32
    %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
bryanhundven@2201
    33
 
bryanhundven@2201
    34
-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
bryanhundven@2201
    35
+#define LIBGCC_SPEC "-lgcc"
bryanhundven@2201
    36
 
bryanhundven@2201
    37
 #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
bryanhundven@2201
    38