patches/gcc/3.4.6/210-all_sh-pr20617.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Feb 17 21:54:07 2011 +0100 (2011-02-17)
changeset 2301 a3818c3b03e0
parent 402 197e1b49586e
permissions -rw-r--r--
internals: fix stripping host binaries

The gcc used by linaro has a version number specific to Linaro, but
identifies itself with its upstream version numbering scheme.

This breaks the strip in the finish step, because the actual gcc version
is not the same as the configured one (eg. 4.5.2 vs. linaro-4.5-2011.02-0).

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