diff -durN gcc-3.4.6.orig/gcc/config/sh/lib1funcs.asm gcc-3.4.6/gcc/config/sh/lib1funcs.asm --- gcc-3.4.6.orig/gcc/config/sh/lib1funcs.asm 2003-08-12 03:25:07.000000000 +0200 +++ gcc-3.4.6/gcc/config/sh/lib1funcs.asm 2007-08-15 23:04:26.000000000 +0200 @@ -37,9 +37,19 @@ ELF local label prefixes by J"orn Rennecke amylaar@cygnus.com */ +#define ALIAS(X,Y) .global GLOBAL(X); .set GLOBAL(X),GLOBAL(Y) + #ifdef __ELF__ #define LOCAL(X) .L_##X -#define FUNC(X) .type X,@function + +#if 1 /* ??? The export list mechanism is broken, everything that is not + hidden is exported. */ +#undef FUNC +#define FUNC(X) .type X,@function; .hidden X +#undef ALIAS +#define ALIAS(X,Y) .global GLOBAL(X); .set GLOBAL(X),GLOBAL(Y); .hidden GLOBAL(X) +#endif + #define ENDFUNC0(X) .Lfe_##X: .size X,.Lfe_##X-X #define ENDFUNC(X) ENDFUNC0(X) #else