patches/gcc/3.4.6/210-all_sh-pr20617.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Sep 23 14:48:10 2008 +0000 (2008-09-23)
changeset 872 fd4bf138f08f
parent 402 197e1b49586e
permissions -rw-r--r--
Bart De VOS pointed out that removing absolute paths from the libc linker scripts is plainly wrong.
It dates from dawn ages of the original crosstool code, and is not well explained. At that time, binutils might not understand the sysroot stuff, and it was necessary to remove absolute paths in that case.

/trunk/scripts/build/libc/glibc.sh | 14 2 12 0 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
yann@402
     1
diff -durN gcc-3.4.6.orig/gcc/config/sh/lib1funcs.asm gcc-3.4.6/gcc/config/sh/lib1funcs.asm
yann@402
     2
--- gcc-3.4.6.orig/gcc/config/sh/lib1funcs.asm	2003-08-12 03:25:07.000000000 +0200
yann@402
     3
+++ gcc-3.4.6/gcc/config/sh/lib1funcs.asm	2007-08-15 23:04:26.000000000 +0200
yann@402
     4
@@ -37,9 +37,19 @@
yann@402
     5
    ELF local label prefixes by J"orn Rennecke
yann@402
     6
    amylaar@cygnus.com  */
yann@402
     7
 
yann@402
     8
+#define ALIAS(X,Y)	.global GLOBAL(X); .set GLOBAL(X),GLOBAL(Y)
yann@402
     9
+
yann@402
    10
 #ifdef __ELF__
yann@402
    11
 #define LOCAL(X)	.L_##X
yann@402
    12
-#define FUNC(X)		.type X,@function
yann@402
    13
+
yann@402
    14
+#if 1 /* ??? The export list mechanism is broken, everything that is not
yann@402
    15
+	 hidden is exported.  */
yann@402
    16
+#undef FUNC
yann@402
    17
+#define FUNC(X)		.type X,@function; .hidden X
yann@402
    18
+#undef ALIAS
yann@402
    19
+#define ALIAS(X,Y)	.global GLOBAL(X); .set GLOBAL(X),GLOBAL(Y); .hidden GLOBAL(X)
yann@402
    20
+#endif
yann@402
    21
+
yann@402
    22
 #define ENDFUNC0(X)	.Lfe_##X: .size X,.Lfe_##X-X
yann@402
    23
 #define ENDFUNC(X)	ENDFUNC0(X)
yann@402
    24
 #else