summaryrefslogtreecommitdiff
path: root/patches/glibc/2.2.5/dl-machine-sh.patch
blob: ac046e4da27a94e0b0ac5b491fbb03be6e725c10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Retrieved with 
wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/sh/dl-machine.h.diff?r1=1.21&r2=1.22&cvsroot=glibc'

Fixes error
/tmp/ccFobT8r.s: Assembler messages:
/tmp/ccFobT8r.s:1819: Error: symbol `.L3' is already defined
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
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'

See also http://sources.redhat.com/ml/libc-alpha/2002-07/msg00001.html

===================================================================
RCS file: /cvs/glibc/libc/sysdeps/sh/dl-machine.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- libc/sysdeps/sh/dl-machine.h	2002/04/08 20:59:36	1.21
+++ libc/sysdeps/sh/dl-machine.h	2002/06/28 17:26:01	1.22
@@ -53,16 +53,16 @@
 elf_machine_load_address (void)
 {
   Elf32_Addr addr;
-  asm ("mov.l .L1,r0\n\
-	mov.l .L3,r2\n\
+  asm ("mov.l 1f,r0\n\
+	mov.l 3f,r2\n\
 	add r12,r2\n\
 	mov.l @(r0,r12),r0\n\
-	bra .L2\n\
+	bra 2f\n\
 	 sub r0,r2\n\
 	.align 2\n\
-	.L1: .long _dl_start@GOT\n\
-	.L3: .long _dl_start@GOTOFF\n\
-	.L2: mov r2,%0"
+	1: .long _dl_start@GOT\n\
+	3: .long _dl_start@GOTOFF\n\
+	2: mov r2,%0"
        : "=r" (addr) : : "r0", "r1", "r2");
   return addr;
 }