patches/gcc/4.1.1/200-softfloat-fix.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Aug 07 14:05:47 2008 +0000 (2008-08-07)
changeset 766 717efd8b78b4
parent 1 eeea35fbf182
permissions -rw-r--r--
Update all samples to the latest set of options.
Update some samples to use newer features.
Add patches for the uClibc-20080801 snapshot to be able to build with gcc-4.3.
Add a patch against glibc-2.7 to allow building PPC with latest kernel headers.
Add a patch to gcc to use an alternate unwinding when built against uClibc (after a private explanation/request by Daniel Egger <daniel@eggers-club.de>)

/trunk/patches/glibc/2.7/230-powerpc-private_futex.patch | 15 15 0 0 +
/trunk/patches/uClibc/20080801/300-fix-asm.patch | 175 175 0 0 +++++++++
/trunk/patches/uClibc/20080801/100-ifaddrs.patch | 190 190 0 0 +++++++++
/trunk/patches/uClibc/20080801/200-mips-typeof.patch | 112 112 0 0 ++++++
/trunk/patches/gcc/4.3.1/330-unwind-for-uClibc.patch | 25 25 0 0 +
/trunk/samples/x86_64-unknown-linux-gnu/crosstool.config | 17 10 7 0 +
/trunk/samples/armeb-unknown-linux-uclibc/crosstool.config | 7 5 2 0 +
/trunk/samples/arm-unknown-linux-gnueabi/crosstool.config | 7 5 2 0 +
/trunk/samples/ia64-unknown-linux-gnu/crosstool.config | 14 11 3 0 +
/trunk/samples/x86_64-unknown-linux-uclibc/uClibc-20080801.config | 232 232 0 0 ++++++++++++
/trunk/samples/x86_64-unknown-linux-uclibc/crosstool.config | 34 21 13 0 +-
/trunk/samples/i686-nptl-linux-gnu/crosstool.config | 10 7 3 0 +
/trunk/samples/powerpc-unknown-linux-gnu/crosstool.config | 12 9 3 0 +
/trunk/samples/mips-unknown-linux-uclibc/uClibc-20080801.config | 249 249 0 0 ++++++++++++
/trunk/samples/mips-unknown-linux-uclibc/crosstool.config | 38 23 15 0 +-
/trunk/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config | 14 10 4 0 +
/trunk/samples/armeb-unknown-linux-gnu/crosstool.config | 7 5 2 0 +
/trunk/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config | 12 9 3 0 +
/trunk/samples/arm-unknown-linux-uclibc/crosstool.config | 7 5 2 0 +
/trunk/samples/i586-geode-linux-uclibc/uClibc-20080801.config | 261 261 0 0 +++++++++++++
/trunk/samples/i586-geode-linux-uclibc/crosstool.config | 32 20 12 0 ++
/trunk/samples/powerpc-unknown-linux-uclibc/crosstool.config | 12 9 3 0 +
/trunk/samples/mipsel-unknown-linux-gnu/crosstool.config | 7 5 2 0 +
/trunk/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config | 7 5 2 0 +
/trunk/samples/alphaev56-unknown-linux-gnu/crosstool.config | 16 10 6 0 +
25 files changed, 1428 insertions(+), 84 deletions(-)
     1 This patch (C) 2007 Yann E. MORIN
     2 Licensed under GPL v2.
     3 
     4 First hunk of this patch solves compiling uClibc-0.9.28{,.1} :
     5 
     6 make[1]: Entering directory `/home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/build-libc'
     7   LD libuClibc-0.9.29.so
     8 libc/libc_so.a(difftime.os): In function `difftime':
     9 difftime.c:(.text+0x8): undefined reference to `__floatsidf'
    10 difftime.c:(.text+0x2c): undefined reference to `__subdf3'
    11 libc/libc_so.a(_fpmaxtostr.os): In function `_fpmaxtostr':
    12 _fpmaxtostr.c:(.text+0xd4): undefined reference to `__nedf2'
    13 _fpmaxtostr.c:(.text+0xf8): undefined reference to `__eqdf2'
    14 _fpmaxtostr.c:(.text+0x114): undefined reference to `__divdf3'
    15 _fpmaxtostr.c:(.text+0x120): undefined reference to `__ltdf2'
    16 _fpmaxtostr.c:(.text+0x1c4): undefined reference to `__muldf3'
    17 _fpmaxtostr.c:(.text+0x388): undefined reference to `__gedf2'
    18 _fpmaxtostr.c:(.text+0x430): undefined reference to `__adddf3'
    19 libc/libc_so.a(__psfs_do_numeric.os): In function `__psfs_do_numeric':
    20 __psfs_do_numeric.c:(.text+0x520): undefined reference to `__truncdfsf2'
    21 libc/libc_so.a(strtof.os): In function `strtof':
    22 strtof.c:(.text+0x1c): undefined reference to `__extendsfdf2'
    23 /home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/cc_core_prefix/lib/gcc/arm-linux-uclibc/4.1.1/libgcc.a(_fixunsdfsi.o):
    24 In function `__fixunsdfsi':
    25 libgcc2.c:(.text+0x34): undefined reference to `__fixdfsi'
    26 make[2]: *** [lib/libc.so] Error 1
    27 make[1]: *** [lib/libc.so.0] Error 2
    28 make[1]: Leaving directory `/home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/build-libc'
    29 make: *** [/home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/build-libc/lib/libc.a]
    30 Error 2
    31 
    32 The second hunk fixes building final gcc because soft-float implies using -lfloat (which we don't have).
    33 
    34 
    35 diff -dur gcc-4.1.1.no-softfloat-fix/gcc/config.gcc gcc-4.1.1/gcc/config.gcc
    36 --- gcc-4.1.1.no-softfloat-fix/gcc/config.gcc	2007-02-01 21:57:17.000000000 +0100
    37 +++ gcc-4.1.1/gcc/config.gcc	2007-02-01 22:11:06.000000000 +0100
    38 @@ -690,7 +690,7 @@
    39  	    default_use_cxa_atexit=yes
    40  	    ;;
    41  	*)
    42 -	    tmake_file="$tmake_file arm/t-linux"
    43 +	    tmake_file="$tmake_file arm/t-linux arm/t-arm-elf"
    44  	    ;;
    45  	esac
    46  	tm_file="$tm_file arm/aout.h arm/arm.h"
    47 diff -dur gcc-4.1.1.-lfloat/gcc/config/arm/linux-elf.h gcc-4.1.1/gcc/config/arm/linux-elf.h
    48 --- gcc-4.1.1.-lfloat/gcc/config/arm/linux-elf.h	2007-02-01 21:57:17.000000000 +0100
    49 +++ gcc-4.1.1/gcc/config/arm/linux-elf.h	2007-02-01 23:00:42.000000000 +0100
    50 @@ -63,7 +63,7 @@
    51     %{shared:-lc} \
    52     %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
    53  
    54 -#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
    55 +#define LIBGCC_SPEC "-lgcc"
    56  
    57  #ifdef USE_UCLIBC
    58  #define LINUX_TARGET_INTERPRETER "/lib/ld-uClibc.so.0"