patches/gcc/3.4.6/210-all_sh-pr20617.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Jul 31 09:08:33 2008 +0000 (2008-07-31)
changeset 752 b037a5643e04
parent 402 197e1b49586e
permissions -rw-r--r--
Have the glibc build use the cross-objdump, rather than the host one.
On some distros (eg. Fedora), the native objdump can not interpret objects not for the native system, and thus fail.
This commit adds a new patch against glibc-2.7 that introduces OBJDUMP_FOR_HOST, wich, if set, overides the detected objdump.

Note: bizarely enough, glibc already has code to detect the cross-objdump, but that does not work for an unknown reason... :-(

/trunk/patches/glibc/2.7/220-objdump_for_host.patch | 13 13 0 0 +++++++++
/trunk/scripts/build/libc_glibc.sh | 37 21 16 0 +++++++++++++++------------
2 files changed, 34 insertions(+), 16 deletions(-)
     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