summaryrefslogtreecommitdiff
path: root/patches/glibc/2.2.5/dl-machine-sh.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/glibc/2.2.5/dl-machine-sh.patch')
-rw-r--r--patches/glibc/2.2.5/dl-machine-sh.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/patches/glibc/2.2.5/dl-machine-sh.patch b/patches/glibc/2.2.5/dl-machine-sh.patch
new file mode 100644
index 0000000..ac046e4
--- /dev/null
+++ b/patches/glibc/2.2.5/dl-machine-sh.patch
@@ -0,0 +1,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;
+ }