matt
36a2626fcd
Make sure t9 ($25) is properly set before calling ___start
2013-12-08 06:32:36 +00:00
joerg
cd32ef253c
Include crtbegin.h first to make it possible to build with the stricter
...
attribute consistency checks in clang.
2013-11-29 23:00:48 +00:00
martin
44525f39e0
Simplify previous by using CSU_MACHINE_ARCH. Hint from Takeshi Nakayama.
2013-11-17 11:16:09 +00:00
martin
3fb362f863
We do not want to build the code model markes when creating the 32bit
...
compat libs for sparc64
2013-11-16 10:50:43 +00:00
martin
591a8c0745
On sparc64: create additional "marker" object files, that can be used by the
...
compiler to encode the used code model in binaries.
2013-11-14 12:19:34 +00:00
joerg
f0495d06b6
Explicitly depend on sys/param.h to pick up __NetBSD_Version changes.
2013-11-11 10:24:27 +00:00
uwe
f09e72233a
Fix previous: use PICFLAGS for crtbeginS.o
...
Should unbreak sh3 builds.
XXX: PICFLAGS is defined in bsd.lib.mk which lib/csu does not use.
For now supply a local definition. joerg@, please fix appropriately.
2013-09-18 22:53:39 +00:00
joerg
4d12bfcd15
Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is small
...
vs big PIC mode. Retire -DPIC and -DBIGPIC.
2013-09-12 15:36:14 +00:00
matt
26dbb44c7a
Define ELF_NOTE_MARCH_DESC for when running non-eabi in compat_netbsd32
2013-09-10 22:00:01 +00:00
matt
988e1b8be5
MARCH note is conditional
2013-09-10 17:23:55 +00:00
matt
b4939ef9a5
Add support for a NetBSD MARCH elf note to record the MACHINE_ARCH for
...
which a program was compiled.
2013-09-10 16:45:33 +00:00
matt
8c08c8dda2
mips .eh_frame is writable
2013-09-05 00:28:11 +00:00
matt
85b4461aa6
bic sp not allowed in thumb (even with thumb2)
2013-09-05 00:27:38 +00:00
matt
704e1f2829
MIPS wants a read/write eh_frame.
2013-08-26 14:20:53 +00:00
matt
e32a84e219
Thumbify
2013-08-21 03:03:02 +00:00
matt
c1007461a4
Put the ctors code in .text.startup and dtors code in .text.exit
2013-08-19 22:15:13 +00:00
skrll
9c2d19de03
G/C arm COMPILERCRTSTUFF
2013-08-19 06:56:15 +00:00
matt
64e75f2480
Alpha needs crtfm.o for USE_COMPILERCRTSTUFF=no
2013-08-05 13:38:35 +00:00
skrll
94423bf5d3
G/C old csu stuff for hppa.
2013-08-04 17:35:10 +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
75eb6b3ee8
Only supplie -fPIE to crtbegin.c if MKPIC is yes.
2013-07-18 18:43:56 +00:00
matt
bfbfd7bbc3
s/bsrl/jsr/ and let gas figure it out
2013-07-18 18:43:04 +00:00
martin
3f349243f2
Use -fPIE for crtbegin.o (instead of -fpie).
...
Fixes linking the firefox js shell. Ok: joerg@
2013-07-17 14:23:45 +00:00
skrll
3aa460b612
Add crtstuff for hppa. Lightly tested.
2013-07-13 18:52:35 +00:00
skrll
9a641fd145
crt0 actually calls ___start
2013-07-13 09:48:26 +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
martin
14d55ae518
Try to also document the variant using common C code - Matt, please review!
2013-07-10 09:41:16 +00:00
martin
36d44ff56f
Fix typo
2013-07-10 09:32:49 +00:00
joerg
c4d240b19a
Only install crtbeginS.o, crtbeginT.o and crtendS.o when MKPIC=yes.
2013-07-05 02:06:49 +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
2943b5ff66
Add -fPIC to compile of crtbeginS.o
2013-06-27 03:37:21 +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
a4bddaaec2
Reorder to avoid !exists
...
Add a crtbegin.h dependency
2013-06-25 07:18:02 +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
joerg
5b92de54be
Add some more clues on what is needed to add a new platform.
2013-06-24 14:27:35 +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
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