diff options
author | Rich Felker <dalias@aerifal.cx> | 2015-10-14 17:08:34 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2015-10-14 17:08:34 -0400 |
commit | 6fef8cafbd0f6f185897bc87feb1ff66e2e204e1 (patch) | |
tree | 367c666c981d3537e0c504a4df97e4f17d182c13 /crt/i386 | |
parent | 4e6b8eee7755a5aa7f866d0d0cd290653fd87a31 (diff) | |
download | musl-6fef8cafbd0f6f185897bc87feb1ff66e2e204e1.tar.gz musl-6fef8cafbd0f6f185897bc87feb1ff66e2e204e1.tar.bz2 musl-6fef8cafbd0f6f185897bc87feb1ff66e2e204e1.tar.xz musl-6fef8cafbd0f6f185897bc87feb1ff66e2e204e1.zip |
remove hand-written crt1.s and Scrt1.s files for all archs
since commit c5e34dabbb47d8e97a4deccbb421e0cd93c0094b, crt1.c has
provided a "mostly-C" implementation of the crt1 start file that
avoids the need for arch-specific symbol referencing, PIC/PIE-specific
code variants, etc. but for archs that had existing hand-written
versions, the new code was initially unused, and later only used as
the dynamic linker entry point. this commit switches all archs to
using the new code.
the code being removed was a recurring source of subtle errors, and
was still broken at least on arm, where it failed to properly align
the stack pointer before calling into C code.
Diffstat (limited to 'crt/i386')
-rw-r--r-- | crt/i386/Scrt1.s | 24 | ||||
-rw-r--r-- | crt/i386/crt1.s | 19 |
2 files changed, 0 insertions, 43 deletions
diff --git a/crt/i386/Scrt1.s b/crt/i386/Scrt1.s deleted file mode 100644 index 161ee8e8..00000000 --- a/crt/i386/Scrt1.s +++ /dev/null @@ -1,24 +0,0 @@ -.weak _init -.weak _fini -.text -.global _start -_start: - xor %ebp,%ebp - pop %ecx - mov %esp,%eax - and $-16,%esp - push %esp - push %esp - push %edx - call 1f -1: addl $_GLOBAL_OFFSET_TABLE_,(%esp) - pop %ebx - call 1f -1: addl $[_fini-.],(%esp) - call 1f -1: addl $[_init-.],(%esp) - push %eax - push %ecx - push main@GOT(%ebx) - call __libc_start_main@plt -1: jmp 1b diff --git a/crt/i386/crt1.s b/crt/i386/crt1.s deleted file mode 100644 index f5b4f4fd..00000000 --- a/crt/i386/crt1.s +++ /dev/null @@ -1,19 +0,0 @@ -.weak _init -.weak _fini -.text -.global _start -_start: - xor %ebp,%ebp - pop %ecx - mov %esp,%eax - and $-16,%esp - push %esp - push %esp - push %edx - push $_fini - push $_init - push %eax - push %ecx - push $main - call __libc_start_main -1: jmp 1b |