summaryrefslogtreecommitdiffstats
path: root/libc
diff options
context:
space:
mode:
authorCarmelo Amoroso <carmelo.amoroso@st.com>2008-09-18 15:13:04 +0000
committerCarmelo Amoroso <carmelo.amoroso@st.com>2008-09-18 15:13:04 +0000
commit7bae7ba631cbb0677f1e08a9e6e9a41a554aef0b (patch)
tree4fdbe59ac68dd3ae70f1ae2ad08a165678b0dc69 /libc
parent255d93a6d925ef73fb253dc675c90b41becde012 (diff)
downloaduClibc-alpine-7bae7ba631cbb0677f1e08a9e6e9a41a554aef0b.tar.bz2
uClibc-alpine-7bae7ba631cbb0677f1e08a9e6e9a41a554aef0b.tar.xz
Kill off the GOT lookup for init/fini in the sh crti.S. This was
inversely conditional on __HAVE_SHARED__, which has been broken since the time it was copied in originally. The compiler properly generates the GOT references on its own, negating the entire purpose for the init/fini reference. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Diffstat (limited to 'libc')
-rw-r--r--libc/sysdeps/linux/sh/crti.S27
1 files changed, 2 insertions, 25 deletions
diff --git a/libc/sysdeps/linux/sh/crti.S b/libc/sysdeps/linux/sh/crti.S
index a74f96eb7..7fba26638 100644
--- a/libc/sysdeps/linux/sh/crti.S
+++ b/libc/sysdeps/linux/sh/crti.S
@@ -1,5 +1,3 @@
-#include <features.h>
-
.file "crti.S"
.text
@@ -12,19 +10,10 @@ _init:
mov.l r12,@-r15
mov.l r14,@-r15
sts.l pr,@-r15
-#ifndef __HAVE_SHARED__
- mova .L6,r0
- mov.l .L6,r12
- add r0,r12
-#endif
mov r15,r14
bra 1f
- nop
+ nop
.align 2
-#ifndef __HAVE_SHARED__
-.L6:
- .long _GLOBAL_OFFSET_TABLE_
-#endif
1:
.section .fini
@@ -37,19 +26,7 @@ _fini:
mov.l r14,@-r15
sts.l pr,@-r15
mov r15,r14
-#ifndef __HAVE_SHARED__
- mov.l .L11,r12
- mova .L11,r0
- add r0,r12
-#endif
-
bra 1f
- nop
+ nop
.align 2
-#ifndef __HAVE_SHARED__
-.L11:
- .long _GLOBAL_OFFSET_TABLE_
-#endif
1:
-
- .ident "GCC: (GNU) 3.3.2"