Commit Graph

79 Commits

Author SHA1 Message Date
skrll
3defc39379 Whitespace 2013-05-05 10:26:57 +00:00
skrll
dd1eb4e21c Simplify. earm is dealt with elsewhere. 2013-04-29 07:21:59 +00:00
matt
4855f4d98a Handle CPUFLAGS being empty 2013-01-23 02:14:14 +00:00
matt
552187152c If you are using aapcs, you must be using INITFINI 2013-01-22 22:49:09 +00:00
skrll
85b8a2dc6a Whitespace 2012-09-16 13:46:49 +00:00
matt
08072c6632 Fix fini processing. 2012-08-25 15:39:05 +00:00
matt
5147314742 Fix code around __register_frame_info (fixes core dumps) 2012-08-24 16:37:45 +00:00
matt
6456ecbae9 crt* files for ARM EABI. This is pretty different from OABI. crti.S only
has sysident, crtn.S is empty.  True dtor/ctor processing is done elsewhere
(in crt0.o for static or the rtld for dynamic images).  All that is done in
here is either a call to __cxa_finalize (dtor, only when SHARED) or
register_frame_info and _JV_RegisterClasses.
2012-08-13 02:49:04 +00:00
matt
94f921d6a9 Update copyright year. 2012-08-11 07:26:25 +00:00
matt
7f3cb3d165 Replace copyright since it now has new contents 2012-08-11 07:25:44 +00:00
matt
dd044a189e Fix typo. 2012-08-11 07:25:13 +00:00
matt
c135af1c81 USE_COMPILERCRTSTUFF=no support for arm
This passes all the lib/csu atf tests.
2012-08-11 01:33:36 +00:00
uwe
310c8e11f2 Claim copyright (per Joerg's request). 2012-06-02 22:15:15 +00:00
uwe
4d9bf144be Implement crtbegin* for sh3. Tested to work on landisk. 2012-01-31 20:30:15 +00:00
uwe
1415c6da05 New ___start() C function takes 3 arguments instead of 6 and fetches
argc, argv and environ from ps_strings instead.  Adjust the trampoline
accordingly.

Fix brain fart in previous: direct jump is jmp @rN, not bsrf rN.
2012-01-31 20:17:57 +00:00
uwe
cd23fa6d26 Use unambiguous .p2align 2 since .align 4 copied from i386 is
incorrect, as .align is .p2align on sh3, not .balign
2012-01-31 20:12:47 +00:00
uwe
ffe3d8992e Since it's in a separate file now, we cannot use direct branch to label. 2012-01-29 23:27:24 +00:00
uwe
2e92e8630a Steal arch/i386/crtend.S 2012-01-28 15:08:47 +00:00
uwe
002cc93ef2 Add a comment that explains what this code does. 2012-01-28 12:44:19 +00:00
uwe
30250d8bed Asm cosmetic. Add a comment that explains what this trampoline does. 2012-01-28 12:21:13 +00:00
matt
9decdbdfe4 Add missing */ 2011-07-04 21:55:09 +00:00
matt
532130a31c The kernel and ld.elf_so call with a different order for
cleanup, obj, ps_strings so deal with it.
With this change, USE_COMPILERCRTSTUFF=no works.
2011-07-02 20:16:09 +00:00
matt
675a57b0bb Adapt to the new ___start calling convention 2011-07-02 20:14:10 +00:00
joerg
c4cda1a2a7 Explicitly declare ___start as hidden. 2011-07-01 02:59:05 +00:00
matt
d8b68e8316 Adapt to new ___start definition.
Use PIC method to load %r13 with address of _SDA_BASE_
2011-06-30 20:10:17 +00:00
joerg
226567c8f9 Assert that ps_strings is valid. Use it to drop the first three
arguments to ___start to make the assembler callers simpler.
2011-06-30 19:48:43 +00:00
matt
8f55cdd3bd First pass at new crtstuff for powerpc. Doesn't quite work yet
(obj parameter to ___start seems to get corrupted sometimes)
2011-02-08 02:02:25 +00:00
joerg
cb0b8d7cc6 Fix stack alignment for non-constructor/destructor calls.
AMD64 stack is 16 Byte aligned at the start of the function,
so always push rbx.
2010-11-30 18:37:59 +00:00
joerg
01bc9d5012 Switch i386 and x86_64 to the new CRT layout. The crt0.c body is shared
between all platforms and a small assembler stub in crt0.S is used for
setting up the proper stack and whatever else MD needs.

Extract crti.S and crtn. from the old dot_init.h files. Prepare other
platforms that use the 6-argument form of __(_)start for this.

Rewrite the crtbegin and crtend modules in assembler to make them
compiler independent. Document the interface in README.
2010-08-07 18:01:32 +00:00