patches/gcc/4.3.0/360-arm-softfloat.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Oct 14 17:42:10 2008 +0000 (2008-10-14)
changeset 929 7c958fb04f28
permissions -rw-r--r--
Sample config for e500v2 toolchain

On Tuesday 14 October 2008 17:05:31 Nate Case wrote:
> This is a sample config file for Freescale e500v2 processors (e.g.,
> MPC8548, MPC8572). It uses eglibc (for e500/SPE patches) and a recent
> gcc (4.3.1, for e500v2 DPFP support) and will generate appropriate
> dual-precision floating point instructions by default.
>
> Note: If building a Linux kernel with this toolchain, you will want to
> make sure -mno-spe AND -mspe=no are passed to gcc to prevent SPE
> ABI/instructions from getting into the kernel (which is currently
> unsupported). At this time, the kernel build system only passes
> -mno-spe by default (this should be fixed soon hopefully).
>
> A binutils snapshot is used to fix a bug present in 2.18 preventing
> U-Boot from being compiled (CodeSourcery issue #2297: internal.h
> (ELF_IS_SECTION_IN_SEGMENT): Adjust to cope with segments at the end of
> memory).

Obsoletes the powerpc-unknown-linux-gnuspe sample, so remove it.

/trunk/samples/powerpc-e500v2-linux-gnuspe/crosstool.config | 307 307 0 0 +++++++++++++++++++
1 file changed, 307 insertions(+)
     1 diff -durN gcc-4.3.1.orig/gcc/config/arm/linux-elf.h gcc-4.3.1/gcc/config/arm/linux-elf.h
     2 --- gcc-4.3.1.orig/gcc/config/arm/linux-elf.h	2007-11-08 14:44:09.000000000 +0100
     3 +++ gcc-4.3.1/gcc/config/arm/linux-elf.h	2008-07-23 15:30:57.000000000 +0200
     4 @@ -60,7 +60,7 @@
     5     %{shared:-lc} \
     6     %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
     7  
     8 -#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
     9 +#define LIBGCC_SPEC "-lgcc"
    10  
    11  #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
    12  
    13 diff -durN gcc-4.3.1.orig/gcc/config/arm/t-linux gcc-4.3.1/gcc/config/arm/t-linux
    14 --- gcc-4.3.1.orig/gcc/config/arm/t-linux	2006-11-09 23:14:27.000000000 +0100
    15 +++ gcc-4.3.1/gcc/config/arm/t-linux	2008-07-23 19:15:25.000000000 +0200
    16 @@ -3,7 +3,12 @@
    17  TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
    18  
    19  LIB1ASMSRC = arm/lib1funcs.asm
    20 -LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
    21 +LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \
    22 +	_call_via_rX _interwork_call_via_rX \
    23 +	_lshrdi3 _ashrdi3 _ashldi3 \
    24 +	_negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
    25 +	_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
    26 +	_fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundidf _floatundisf
    27  
    28  # MULTILIB_OPTIONS = mhard-float/msoft-float
    29  # MULTILIB_DIRNAMES = hard-float soft-float