patches/gcc/3.4.6/210-all_sh-pr20617.patch
author Michael Hope <michael.hope@linaro.org>
Wed Oct 19 15:27:32 2011 +1300 (2011-10-19)
changeset 2739 f320e22f2cba
parent 402 197e1b49586e
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>
     1 diff -durN gcc-3.4.6.orig/gcc/config/sh/lib1funcs.asm gcc-3.4.6/gcc/config/sh/lib1funcs.asm
     2 --- gcc-3.4.6.orig/gcc/config/sh/lib1funcs.asm	2003-08-12 03:25:07.000000000 +0200
     3 +++ gcc-3.4.6/gcc/config/sh/lib1funcs.asm	2007-08-15 23:04:26.000000000 +0200
     4 @@ -37,9 +37,19 @@
     5     ELF local label prefixes by J"orn Rennecke
     6     amylaar@cygnus.com  */
     7  
     8 +#define ALIAS(X,Y)	.global GLOBAL(X); .set GLOBAL(X),GLOBAL(Y)
     9 +
    10  #ifdef __ELF__
    11  #define LOCAL(X)	.L_##X
    12 -#define FUNC(X)		.type X,@function
    13 +
    14 +#if 1 /* ??? The export list mechanism is broken, everything that is not
    15 +	 hidden is exported.  */
    16 +#undef FUNC
    17 +#define FUNC(X)		.type X,@function; .hidden X
    18 +#undef ALIAS
    19 +#define ALIAS(X,Y)	.global GLOBAL(X); .set GLOBAL(X),GLOBAL(Y); .hidden GLOBAL(X)
    20 +#endif
    21 +
    22  #define ENDFUNC0(X)	.Lfe_##X: .size X,.Lfe_##X-X
    23  #define ENDFUNC(X)	ENDFUNC0(X)
    24  #else