summaryrefslogtreecommitdiff
path: root/crt/i386
AgeCommit message (Collapse)AuthorLines
2015-10-14remove hand-written crt1.s and Scrt1.s files for all archsRich Felker-43/+0
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.
2013-06-03align stack properly for calling global ctors/dtors on x86[_64]Rich Felker-0/+4
failure to do so was causing crashes on x86_64 when ctors used SSE, which was first observed when ctors called variadic functions due to the SSE prologue code inserted into every variadic function.
2012-05-02consistency cleanup: removed redundant size suffixed from i386 asmRich Felker-22/+22
2012-05-02PIE support for i386Rich Felker-0/+24
2012-05-02remove attempts to be pie-compatible from i386 crt1.sRich Felker-6/+3
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.
2012-02-06add support for init/finit (constructors and destructors)Rich Felker-2/+18
this is mainly in hopes of supporting c++ (not yet possible for other reasons) but will also help applications/libraries which use (and more often, abuse) the gcc __attribute__((__constructor__)) feature in "C" code. x86_64 and arm versions of the new startup asm are untested and may have minor problems.
2011-02-21cleanup comment cruft in startup codeRich Felker-1/+0
2011-02-21make startup code PIE-compatibleRich Felker-2/+4
2011-02-20shave off 2 bytes from crt1.o _startRich Felker-2/+2
2011-02-12initial check-in, version 0.5.0v0.5.0Rich Felker-0/+17