Commit Graph

442 Commits

Author SHA1 Message Date
martin cc10b3e0c8 MD_DO_NOT_NEED_FALLTHRU - from Nick Hudson. 2007-01-02 14:32:34 +00:00
skrll 7e68cfaa21 powerpc MD_DO_NOT_NEED_FALLTHRU.
OK'ed by Matt Thomas.
2006-10-19 18:59:30 +00:00
skrll e99b876999 Alpha MD_DO_NOT_NEED_FALLTHRU
Ok'd by Matt Thomas.
2006-10-19 16:47:38 +00:00
martin 799bddf8fa MD_DO_NOT_NEED_FALLTHRU for sparc and sparc64, from Nick Hudson. 2006-10-19 08:37:46 +00:00
uwe e7b566fa33 Switch to MD_DO_NOT_NEED_FALLTHRU.
While here: Factor out .section/.previous wrapper into a separate macro.
Provide frame pointer.  Add the comment to MD_CALL_STATIC_FUNCTION to
explain why it needs semicolon and why we actually don't use that macro.
2006-10-17 01:10:26 +00:00
skrll b0b0343b24 ANSIfy 2006-09-15 05:29:44 +00:00
cherry 51b652e0e3 -DELFSIZE=64 for csu build 2006-09-14 23:55:54 +00:00
skrll 296c01bb4f MD_DO_NOT_NEED_FALLTHRU for hppa 2006-09-08 19:18:26 +00:00
skrll 61b77d1855 MD_DO_NOT_NEED_FALLTHRU for ARM. 2006-09-08 07:29:19 +00:00
skrll 44521a9e2e Implement MD_DO_NOT_NEED_FALLTHRU for i386.
Reviewed by christos.
2006-08-25 12:44:19 +00:00
skrll bc3a3e7751 Tidy up for MD_DO_NOT_NEED_FALLTHRU.
Discussed with cherry.
2006-07-18 21:18:23 +00:00
ross 7e22c74b0c Nothing from <machine/asm.h> is even used here, so don't include it.
This was the only place in the system where asm.h contents were seen
by the compiler and hence the only reason why asm.h had to conform
to C syntax. This previously limited asm.h to a cpp constructs and
comments.
2006-07-07 19:57:29 +00:00
ross ce3a138bcc add missing .globl's in new direct fallthru .init .fini 2006-07-06 22:31:55 +00:00
ross d0531274ae Conform to new world order where .init/.fini fallthru code
assembly appears directly inside _init().
2006-07-05 18:03:00 +00:00
cherry b8ee9baf67 First round at ia64 csu 2006-07-02 17:15:22 +00:00
ross 28dc42c889 fix comment 2006-07-01 01:39:17 +00:00
ross bbf630ab7c powerpc64 assembly for .init / .fini 2006-06-30 22:49:50 +00:00
simonb 842e180144 Remove the call to init_fallthru/fini_fallthru and call _init/_fini
directly for MIPS.  Making these global to keep gcc4 happy broke gcc3.
Shaves a few instructions off this path as well.

Other arches to follow with similar changes.

With much help from Nick Hudson.
2006-06-30 09:00:46 +00:00
mrg e487cf62f5 add a .globl to MD_SECTION_PROLOGUE so that the symbol is exported.
this fixes build problems with GCC4 (which will use smaller/faster call
methods for local/static functions) and is the right thing anyway.
2006-06-12 22:05:49 +00:00
mrg db19e89e04 remove support for building (with) GCC 2.95. also:
- always install <stdbool.h>
- don't generate a fake one for vax / gettext.
2006-06-02 22:16:18 +00:00
christos 351fa65664 Instead of using -I- -I${.CURDIR} and #include "dot_init.h", use:
-I${.CURDIR} and #include <dot_init.h>, since -I- is obsoleted in gcc-4,
and it is too confusing anyway.
2006-05-19 19:11:12 +00:00
christos 96473fa808 change __weak_extern to __weak_reference so that gcc4 works. 2006-05-18 17:54:19 +00:00
christos 065d43d6c4 Revert previous changes which are unnecessary now the _DYNAMIC is marked
weak.
2006-05-17 17:08:54 +00:00
christos e08e654f06 Mark _DYNAMIC to have attribute __weakref__, so that gcc-4 does not optimize
&_DYNAMIC == NULL away. From Matt Thomas.
2006-05-17 17:08:07 +00:00
christos f32828209d Back out accidental commit that changed -I- 2006-05-17 17:02:16 +00:00
christos 6f1784f6d3 Fool gcc to compare against a null variable instead of the NULL constant
so that it does not optimize the &_DYNAMIC == NULL away. Idea from Matt.
2006-05-17 17:01:12 +00:00
christos 94b00d6e09 Avoid weak symbol related bug with _DYNAMIC not being referenced in the
code at all for gcc-4. Fixes statically linked binaries, but the fix is
bogus.
2006-05-17 16:39:25 +00:00
mrg 169832563d with GCC4 we *need* to pass -fno-unit-at-a-time otherwise GCC
reorders things breaking _init() and _fini().

for i386, the {init,fini}_fallthru() functions were being output
_before_ the _init()/ _fini(), and instead of falling through to
the rest of the .init/.fini section, it would fall through to
_init()/_fini() again, and again, and again, until the stack was
exhausted.

now i386 works, but i have not checked that this works for
sparc64 as well.
2006-05-13 01:40:34 +00:00
perry 2d65de2479 bare asm -> __asm 2005-12-24 22:45:33 +00:00
perry 0db47b5ca1 bare asm -> __asm 2005-12-24 21:51:51 +00:00
perry 8b7a2f14e9 __asm__ -> __asm 2005-12-24 21:38:40 +00:00
perry 4e11af46bc Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete. 2005-12-24 21:11:15 +00:00
skrll b7ddf5b9cb Copyright Maintenance 2005-05-21 06:46:34 +00:00
thorpej 70638a64cb Error out if we try to build with GCC 3.3 or later; we should be using
the GCC-supplied crtbegin / crtend in the GCC 3.3 or later case.
2004-08-28 00:19:22 +00:00
thorpej 8d13a4aafe Switch to using GCC's supplied crtbegin / crtend files. 2004-08-28 00:18:38 +00:00
thorpej 08456b0802 Use ANSI function decls. 2004-08-26 21:23:06 +00:00
thorpej 5c50ce218e Remove the "allows linking without crtbegin / crtend" hack. 2004-08-26 21:21:33 +00:00
thorpej b979dc154e Use ANSI function decls. 2004-08-26 21:21:05 +00:00
thorpej 54fe33a634 Use ANSI function decls. 2004-08-26 21:09:52 +00:00
thorpej a41fd2dbc8 - Use ANSI function decls.
- Use __used__, not __unused__ attribute for ___start().
2004-08-26 21:07:14 +00:00
thorpej 68e26dcdb6 _strrchr()'s second argument is actually an int. 2004-08-26 21:01:12 +00:00
thorpej 352bb3a6aa Use ANSI function decls. 2004-08-26 20:57:47 +00:00
thorpej 11b5ec27b8 Remove sysident.h-related comment; that stuff is handled by crti.c these
days.
2004-08-26 20:51:27 +00:00
rearnsha 29efdff284 Temporary hack to work around ld problems when linking Thumb
applications where the linker does not correctly insert an
interworking veneer.
2004-08-21 12:12:28 +00:00
chs ddc1ca7bcb map the data segment with PROT_EXEC since the PLT lives there. 2004-08-07 21:33:04 +00:00
skrll 5e2026a163 Add code code for .init and .fini section fallthroughs and regression
test.
2004-05-18 19:19:34 +00:00
skrll c007da99a0 Update for ELF. 2004-05-17 10:44:22 +00:00
skrll f01797a30f Fix typos so that we define _start and __start.
The linker script gets the right entry point now.
2004-04-30 08:11:37 +00:00
skrll 337520b409 Include bsd.own.mk before testing MKPIC 2004-03-09 20:04:00 +00:00
simonb 216a472c99 Use -fPIC only if MKPIC isn't "no". 2004-02-14 08:41:58 +00:00