about summary refs log tree commit diff
path: root/crt
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-05-02 20:56:55 -0400
committerRich Felker <dalias@aerifal.cx>2012-05-02 20:56:55 -0400
commitc9dea48f84cd772ac250c091356dd6ef956ea3f6 (patch)
treea49391e4320e440df8cbac354570dafb0ace2c81 /crt
parent485fb14ab414ef7fde4469a51b116281758a4aa0 (diff)
downloadmusl-c9dea48f84cd772ac250c091356dd6ef956ea3f6.tar.gz
musl-c9dea48f84cd772ac250c091356dd6ef956ea3f6.tar.xz
musl-c9dea48f84cd772ac250c091356dd6ef956ea3f6.zip
remove attempts to be pie-compatible from i386 crt1.s
it does not work; after further consideration, a separate Scrt1.s for
pie really is essential. it would be nice if the unified approach
worked, but the linker fails to generate the correct PLT entries and
instead puts textrels in the main program, which don't work because
the kernel maps the text read-only.

new Scrt1.s will be committed soon in place of this.
Diffstat (limited to 'crt')
-rw-r--r--crt/i386/crt1.s9
1 files changed, 3 insertions, 6 deletions
diff --git a/crt/i386/crt1.s b/crt/i386/crt1.s
index 66ee11ab..f520745c 100644
--- a/crt/i386/crt1.s
+++ b/crt/i386/crt1.s
@@ -10,13 +10,10 @@ _start:
 	pushl %esp
 	pushl %esp
 	pushl %edx
-	call 1f
-1:	addl $[_fini-.],(%esp)
-	call 1f
-1:	addl $[_init-.],(%esp)
+	pushl $_fini
+	pushl $_init
 	pushl %eax
 	pushl %ecx
-	call 1f
-1:	addl $[main-.],(%esp)
+	pushl $main
 	call __libc_start_main
 1:	jmp 1b