diff options
author | Rich Felker <dalias@aerifal.cx> | 2012-05-02 20:56:55 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2012-05-02 20:56:55 -0400 |
commit | c9dea48f84cd772ac250c091356dd6ef956ea3f6 (patch) | |
tree | a49391e4320e440df8cbac354570dafb0ace2c81 /crt | |
parent | 485fb14ab414ef7fde4469a51b116281758a4aa0 (diff) | |
download | musl-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.s | 9 |
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 |