Commit Graph

56 Commits

Author SHA1 Message Date
matt
e32a84e219 Thumbify 2013-08-21 03:03:02 +00:00
matt
64e75f2480 Alpha needs crtfm.o for USE_COMPILERCRTSTUFF=no 2013-08-05 13:38:35 +00:00
martin
c5c422fa26 In .fini invoke destructors (fix copy & pasto) 2013-07-27 13:07:06 +00:00
matt
fa03729f71 Use jbsr and add END(__start) 2013-07-26 19:49:19 +00:00
martin
6dae3ba8c7 Simplify to new ___start() signature.
Seems to fix PR port-m68k/48076.
2013-07-26 18:47:23 +00:00
matt
2c3a3e1c7e Deal with m68010 not having bsrl so usr jsr on !__pic__ 2013-07-19 06:26:41 +00:00
matt
bfbfd7bbc3 s/bsrl/jsr/ and let gas figure it out 2013-07-18 18:43:04 +00:00
skrll
3aa460b612 Add crtstuff for hppa. Lightly tested. 2013-07-13 18:52:35 +00:00
matt
2b0b9e5db4 Use pc-relative branch in crt0.S
Add crtend.S and crtbegin.h (uses pc-relative branches as well).
2013-07-11 17:07:35 +00:00
matt
7d7a3799d0 Add crtstuff for alpha. Compile tested only. 2013-07-11 16:40:27 +00:00
matt
9993694db9 Make this work for N64 as well. 2013-07-11 16:23:40 +00:00
martin
724aa133a7 Add support for sparc and sparc64 2013-07-11 06:57:15 +00:00
matt
dfa5980290 Add END(func) so gdb doesn't get so confused. 2013-07-10 23:30:45 +00:00
matt
3e1a908f3c Fix another bneq -> beql botch 2013-07-10 22:55:40 +00:00
matt
b32e808ac8 Add a ELFSIZE define 2013-07-10 15:05:46 +00:00
matt
cf0e8a20c0 Fix logic inversion. 2013-07-10 14:27:01 +00:00
matt
1729cd5b7e For O32, don't save $gp on the stack, save $s0 instead and just keep $gp
in $s0.
2013-06-30 08:00:34 +00:00
matt
350cb9bc6c Switch arm, earm, powerpc to use crtbegin.c
Use -fpie for crtbegin.
2013-06-27 21:24:39 +00:00
matt
47068b9c70 Deal with O32 callling sequences. 2013-06-25 16:51:14 +00:00
matt
83cc2631c1 Initialize $gp 2013-06-25 16:47:47 +00:00
matt
86ffe64b94 Use .long not .word
Use _ENTRY
[with these changes, the crtstuff passes its ATF tests.]
2013-06-25 00:30:07 +00:00
matt
611f5afec5 Use (target1) for .init/fini array entries 2013-06-24 20:56:18 +00:00
matt
e9cee35b87 Make sure dwarf_eh_object is 8 words long. 2013-06-24 14:53:42 +00:00
matt
08257f91d2 Like the rest, make __DTOR_LIST__ start with a -1
Make sure dwarf_eh_object is 8 words long.
2013-06-24 14:49:55 +00:00
matt
21ba1833d3 Make dwarf_eh_object is 8 words long 2013-06-24 14:49:13 +00:00
matt
2ad451b6ca Add a common crtbegin.c file and use a machine dependent crtbegin.h to
fill in .init/.fini.
Add mips support for USE_COMPILERCRTSTUFF=no (compiled only)
2013-06-22 02:37:09 +00:00
matt
be5ef6fb34 USE_COMPILERCRTSTUFF=no support for vax. 2013-06-21 15:54:08 +00:00
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