patches/glibc/2.2.3/glibc-2.2.5-mips-clone-local-label.patch
changeset 1 eeea35fbf182
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/glibc/2.2.3/glibc-2.2.5-mips-clone-local-label.patch	Sat Feb 24 11:00:05 2007 +0000
     1.3 @@ -0,0 +1,47 @@
     1.4 +This is a workaround for
     1.5 +
     1.6 +mipsel-unknown-linux-gnu-gcc ../sysdeps/unix/sysv/linux/mips/clone.S -c  -I../include -I. -I/home3/dank/crosstool-0.7/build/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc/misc -I.. -I../libio  -I/home3/dank/crosstool-0.7/build/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc -I../sysdeps/mips/elf -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/mips -I../sysdeps/unix/sysv/linux/mips -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/mips -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/mips/mipsel -I../sysdeps/mips/fpu -I../sysdeps/mips -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic  -nostdinc -isystem /home3/dank/crosstool-0.7/result/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/mipsel-unknown-linux-gnu/3.2.3/include -isystem /home3/dank/crosstool-0.7/result/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/mipsel-unknown-linux-gnu/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h  -DPIC   -DASSEMBLER   -o /home3/dank/crosstool-0.7/build/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc/misc/clone.o
     1.7 +../sysdeps/unix/sysv/linux/mips/clone.S: Assembler messages:
     1.8 +../sysdeps/unix/sysv/linux/mips/clone.S:66: Error: Can not represent BFD_RELOC_16_PCREL_S2 relocation in this object file format
     1.9 +make[2]: *** [/home3/dank/crosstool-0.7/build/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.5/build-glibc/misc/clone.o] Error 1
    1.10 +
    1.11 +which was using h.j.lu's binutils-2.13.90.0.18.
    1.12 +
    1.13 +
    1.14 +But see http://lists.debian.org/debian-mips/2003/debian-mips-200305/msg00011.html
    1.15 +which says
    1.16 +"A newer version of binutils (CVS post 2003-03-12) fixes it without
    1.17 +the need of changing perfectly legal code."
    1.18 +So presumably this can be ditched sooner or later.
    1.19 +
    1.20 +From http://honk.physik.uni-konstanz.de/~agx/linux-mips/glibc/patches/applied/clone-local-label.diff
    1.21 +
    1.22 +2003-03-13  Guido Guenther  <agx@sigxcpu.org>
    1.23 +
    1.24 +	* sysdeps/unix/sysv/linux/mips/clone.S: introduce and use local label
    1.25 +	  .Lthread_start since current binutils don't allow branches to globally
    1.26 +	  visible symbols.
    1.27 +
    1.28 +===================================================================
    1.29 +RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/clone.S,v
    1.30 +retrieving revision 1.10
    1.31 +diff -u -r1.10 clone.S
    1.32 +--- glibc-2.2.5/sysdeps/unix/sysv/linux/mips/clone.S	12 Mar 2003 01:04:51 -0000	1.10
    1.33 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/mips/clone.S	12 Mar 2003 19:04:39 -0000
    1.34 +@@ -63,7 +63,7 @@
    1.35 + 	syscall
    1.36 + 
    1.37 + 	bnez		a3,error
    1.38 +-	beqz		v0,__thread_start
    1.39 ++	beqz		v0,.Lthread_start
    1.40 + 
    1.41 + 	/* Successful return from the parent */
    1.42 + 	addiu		sp,32
    1.43 +@@ -85,6 +85,7 @@
    1.44 +    debug info.  */
    1.45 + 
    1.46 + ENTRY(__thread_start)
    1.47 ++.Lthread_start:
    1.48 + 	/* cp is already loaded.  */
    1.49 + 	.cprestore	16
    1.50 + 	/* The stackframe has been created on entry of clone().  */