patches/gcc/4.3.3/130-cross-compile.patch
author Michael Hope <michael.hope@linaro.org>
Wed Oct 19 15:27:32 2011 +1300 (2011-10-19)
changeset 2739 f320e22f2cba
permissions -rw-r--r--
arch: add softfp support

Some architectures support a mixed hard/soft floating point, where
the compiler emits hardware floating point instructions, but passes
the operands in core (aka integer) registers.

For example, ARM supports this mode (to come in the next changeset).

Add support for softfp cross compilers to the GCC and GLIBC
configuration. Needed for Ubuntu and other distros that are softfp.

Signed-off-by: Michael Hope <michael.hope@linaro.org>
[yann.morin.1998@anciens.enib.fr: split the original patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@1162
     1
Original patch from: ../4.3.2/130-cross-compile.patch
yann@1162
     2
yann@1162
     3
-= BEGIN original header =-
yann@1162
     4
Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/08_all_gcc-4.1-cross-compile.patch
yann@1162
     5
Some notes on the 'bootstrap with or without libc headers' debate:
yann@1162
     6
http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html
yann@1162
     7
http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html
yann@1162
     8
yann@1162
     9
-= END original header =-
yann@1162
    10
yann@1162
    11
diff -durN gcc-4.3.3.orig/gcc/configure gcc-4.3.3/gcc/configure
yann@1162
    12
--- gcc-4.3.3.orig/gcc/configure	2008-08-01 11:51:03.000000000 +0200
yann@1162
    13
+++ gcc-4.3.3/gcc/configure	2009-01-27 22:19:16.000000000 +0100
yann@1162
    14
@@ -13442,7 +13442,7 @@
yann@1162
    15
 	    | powerpc*-*-*,powerpc64*-*-*)
yann@1162
    16
 		CROSS="$CROSS -DNATIVE_CROSS" ;;
yann@1162
    17
 	esac
yann@1162
    18
-elif test "x$TARGET_SYSTEM_ROOT" != x; then
yann@1162
    19
+elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
yann@1162
    20
         SYSTEM_HEADER_DIR=$build_system_header_dir
yann@1162
    21
 fi
yann@1162
    22
 
yann@1162
    23
diff -durN gcc-4.3.3.orig/gcc/configure.ac gcc-4.3.3/gcc/configure.ac
yann@1162
    24
--- gcc-4.3.3.orig/gcc/configure.ac	2008-08-01 11:51:03.000000000 +0200
yann@1162
    25
+++ gcc-4.3.3/gcc/configure.ac	2009-01-27 22:19:16.000000000 +0100
yann@1162
    26
@@ -1749,7 +1749,7 @@
yann@1162
    27
 	    | powerpc*-*-*,powerpc64*-*-*)
yann@1162
    28
 		CROSS="$CROSS -DNATIVE_CROSS" ;;
yann@1162
    29
 	esac
yann@1162
    30
-elif test "x$TARGET_SYSTEM_ROOT" != x; then
yann@1162
    31
+elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
yann@1162
    32
         SYSTEM_HEADER_DIR=$build_system_header_dir 
yann@1162
    33
 fi
yann@1162
    34
 
yann@1162
    35
diff -durN gcc-4.3.3.orig/gcc/unwind-dw2.c gcc-4.3.3/gcc/unwind-dw2.c
yann@1162
    36
--- gcc-4.3.3.orig/gcc/unwind-dw2.c	2008-09-25 00:44:28.000000000 +0200
yann@1162
    37
+++ gcc-4.3.3/gcc/unwind-dw2.c	2009-01-27 22:19:16.000000000 +0100
yann@1162
    38
@@ -334,9 +334,11 @@
yann@1162
    39
 }
yann@1162
    40
 #endif
yann@1162
    41
 
yann@1162
    42
+#ifndef inhibit_libc
yann@1162
    43
 #ifdef MD_UNWIND_SUPPORT
yann@1162
    44
 #include MD_UNWIND_SUPPORT
yann@1162
    45
 #endif
yann@1162
    46
+#endif
yann@1162
    47
 
yann@1162
    48
 /* Extract any interesting information from the CIE for the translation
yann@1162
    49
    unit F belongs to.  Return a pointer to the byte after the augmentation,