patches/glibc/2.2.5/dl-machine-sh.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
     1 Retrieved with 
     2 wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/sh/dl-machine.h.diff?r1=1.21&r2=1.22&cvsroot=glibc'
     3 
     4 Fixes error
     5 /tmp/ccFobT8r.s: Assembler messages:
     6 /tmp/ccFobT8r.s:1819: Error: symbol `.L3' is already defined
     7 make[2]: *** [/home/dank/wk/crosstool-0.28-rc24/build/sh4-unknown-linux-gnu/gcc-3.4.0-glibc-2.2.5/build-glibc/elf/rtld.os] Error 1
     8 make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc24/build/sh4-unknown-linux-gnu/gcc-3.4.0-glibc-2.2.5/glibc-2.2.5/elf'
     9 
    10 See also http://sources.redhat.com/ml/libc-alpha/2002-07/msg00001.html
    11 
    12 ===================================================================
    13 RCS file: /cvs/glibc/libc/sysdeps/sh/dl-machine.h,v
    14 retrieving revision 1.21
    15 retrieving revision 1.22
    16 diff -u -r1.21 -r1.22
    17 --- libc/sysdeps/sh/dl-machine.h	2002/04/08 20:59:36	1.21
    18 +++ libc/sysdeps/sh/dl-machine.h	2002/06/28 17:26:01	1.22
    19 @@ -53,16 +53,16 @@
    20  elf_machine_load_address (void)
    21  {
    22    Elf32_Addr addr;
    23 -  asm ("mov.l .L1,r0\n\
    24 -	mov.l .L3,r2\n\
    25 +  asm ("mov.l 1f,r0\n\
    26 +	mov.l 3f,r2\n\
    27  	add r12,r2\n\
    28  	mov.l @(r0,r12),r0\n\
    29 -	bra .L2\n\
    30 +	bra 2f\n\
    31  	 sub r0,r2\n\
    32  	.align 2\n\
    33 -	.L1: .long _dl_start@GOT\n\
    34 -	.L3: .long _dl_start@GOTOFF\n\
    35 -	.L2: mov r2,%0"
    36 +	1: .long _dl_start@GOT\n\
    37 +	3: .long _dl_start@GOTOFF\n\
    38 +	2: mov r2,%0"
    39         : "=r" (addr) : : "r0", "r1", "r2");
    40    return addr;
    41  }