Commit Graph

542 Commits

Author SHA1 Message Date
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 6a4f94a035 Allow crtbegin to be a C file. 2013-06-22 02:21:58 +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 0b573b56b6 Make all earm variants use earm. 2013-04-28 06:09:52 +00:00
matt a9585fd0b1 Add support for PREINIT_ARRAY 2013-01-31 22:24:25 +00:00
matt b6b60ee9f3 Use __weakref_visible (from joerg@) 2013-01-28 16:56:39 +00:00
matt 710d6a63da Make with work with gcc 4.5 or clang. 2013-01-28 06:17:57 +00:00
matt 4855f4d98a Handle CPUFLAGS being empty 2013-01-23 02:14:14 +00:00
matt fd98dc9555 Fix static weak (to extern weak) 2013-01-22 22:57:37 +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 6de169804e Add support for init_array/fini_array (conditionalized on HAVE_INITFINI_ARRAY).
[This is needed for ARM EABI.]
2012-08-13 02:15:35 +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
martin 78879908ec Slightly simplify and make position independend.
Part of fixing PR port-sparc64/46724.
2012-08-10 16:37:31 +00:00
martin cb3d712bd2 Make this position independend (for -pie executables) 2012-08-10 12:37:39 +00:00
matt cf510d3400 back out elf note changes since we can use e_flags to determine EABI usage 2012-08-05 01:44:43 +00:00
matt 36e2a4216f Use COPTS instead of CFLAGS
When compiling crti.c and crtn.c, add -DCRTI and -DCRTN, respectively.
2012-08-04 14:59:05 +00:00
matt 910686b1a1 Use CRTI instead of __S 2012-08-04 14:57:46 +00:00
matt f8fa482c66 Emit a note for EABI programs. 2012-08-03 08:01:42 +00:00
joerg c91e3eb75b Unbreak compat. 2012-06-16 19:19:14 +00:00
joerg ee99db43bc Allow USE_COMPILERCRTSTUFF=yes for platforms that use MACHINE_CPU !=
MACHINE_ARCH.
2012-06-16 18:19:39 +00:00
uwe 310c8e11f2 Claim copyright (per Joerg's request). 2012-06-02 22:15:15 +00:00
joerg 0e8643658c Don't pass assembler flags to genassym, it doesn't compile. 2012-03-25 06:55:19 +00:00
joerg 4cd46b4ac8 Add some more __dead as exposed by the recent WARN bumps. 2012-03-22 22:59:43 +00:00
he ff8e71502d Convert to use c89 function declaration. 2012-03-22 13:02:15 +00:00
matt cb0a562de5 Use __UNCONST to unconst a "" 2012-03-21 10:09:20 +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 5ade3e48ae Move crt0.S in front of crt0-common.c when building crt0.o and gcrt0.o.
Reading disassembly is easier when the asm crt0.S trampoline is at the
start, not hidden behind the C code in crt0-common.c.
2012-01-31 20:08:28 +00:00
uwe 1ecbaba27e Hmm, funny. I wonder why and how did emacs VC managed to add
Warning: Permanently added the RSA host key for IP address '...' to the list of known hosts.

to the committed file. (hi, new cvs!)
2012-01-31 20:03:50 +00:00
uwe cfdbe19d5f Use -DPIC to compile crtbeginS.o since that's what <machine/asm.h>
headers check.
2012-01-31 19:58:22 +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
he 281cbfe50c After christos@ latest re-structuring of includes and defines in
the various param.h files, STACKALIGNBYTES is now called STACK_ALIGNBYTES,
so adapt accordingly.
2012-01-25 13:29:58 +00:00
mrg 74c1f8ad71 remove -I- from CPPFLAGS. 2011-10-29 10:28:37 +00:00
matt 0ac54b7e3b Don't include <machine/asm.h> 2011-07-30 15:28:58 +00:00
mrg 7c7bb760e6 revert the previous. it didn't help and wasn't the problem anyway. 2011-07-16 23:07:50 +00:00
matt 9decdbdfe4 Add missing */ 2011-07-04 21:55:09 +00:00
mrg cd21741236 XXX: for now, build sparc64 csu with -O1 if using GCC 4.5. 2011-07-04 21:54:18 +00:00