]> granicus.if.org Git - musl/commitdiff
remove attempts to be pie-compatible from i386 crt1.s
authorRich Felker <dalias@aerifal.cx>
Thu, 3 May 2012 00:56:55 +0000 (20:56 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 3 May 2012 00:56:55 +0000 (20:56 -0400)
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.

crt/i386/crt1.s

index 66ee11ab1a8bdf4342ad6d5bb3c442e76499170c..f520745c9c58b50940876ab5d033643e9f4a3957 100644 (file)
@@ -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