Commit Graph

844 Commits

Author SHA1 Message Date
pierre
016666c70f Use pic code by default for x86_64-openbsd
git-svn-id: trunk@29138 -
2014-11-23 22:04:30 +00:00
pierre
82b99d09bd Add tf_smartlink_sections for i386-bsd target
git-svn-id: trunk@29137 -
2014-11-23 22:01:25 +00:00
pierre
2202d60cdc Allow use of native ld or GNU gld for AIX
git-svn-id: trunk@29047 -
2014-11-09 22:22:29 +00:00
Tomas Hajny
0a74c30351 * run EMX linker quietly
git-svn-id: trunk@29000 -
2014-11-06 12:14:00 +00:00
Tomas Hajny
a593cc2def * fix missing space when passing additional parameters to the EMX linker
git-svn-id: trunk@28999 -
2014-11-06 11:42:39 +00:00
Jonas Maebe
7398f8d507 * fixed defines separator
git-svn-id: trunk@28877 -
2014-10-19 10:25:07 +00:00
marco
ff2186ce00 * OpenBSD gets no pie. (add -nopie)
git-svn-id: trunk@28736 -
2014-10-04 11:12:14 +00:00
Károly Balogh
6122db7d40 * fix warnings when compiling the compiler with DFA optimizer enabled on PowerPC
git-svn-id: trunk@28501 -
2014-08-20 14:31:36 +00:00
Károly Balogh
392da9e43f * fix warnings when compiling the compiler with DFA optimizer enabled on m68k
git-svn-id: trunk@28499 -
2014-08-20 13:49:47 +00:00
Károly Balogh
09608a1c28 * fix warnings when compiling the compiler with DFA optimizer enabled on ARM
git-svn-id: trunk@28498 -
2014-08-20 13:16:58 +00:00
Károly Balogh
07ad2a04ac * fix warnings when compiling the compiler with DFA optimizer enabled on i386
git-svn-id: trunk@28497 -
2014-08-20 12:28:44 +00:00
Károly Balogh
03a0f7b409 AROS: improved version of the previous commit, pass the stripping option to the linker instead, seems to work.
git-svn-id: trunk@28466 -
2014-08-19 11:30:02 +00:00
Károly Balogh
883e71f18e AROS: stripping of executables on i386 works now
git-svn-id: trunk@28465 -
2014-08-19 11:03:31 +00:00
Károly Balogh
8627cc3ddb AROS: added remark about collect-aros issue, fixed ld name for x86_64 target
git-svn-id: trunk@28444 -
2014-08-18 16:17:06 +00:00
Károly Balogh
2f086129e1 AROS: use collect-aros to link. also support binutils prefixes.
git-svn-id: trunk@28443 -
2014-08-18 14:55:02 +00:00
Károly Balogh
1410838aa7 AROS: and also add the system info/target units which were forgotten in the previous commit
git-svn-id: trunk@28433 -
2014-08-17 18:36:57 +00:00
sergei
b9763d270a + Enabled section smartlinking for m68k-linux.
git-svn-id: trunk@28302 -
2014-08-02 23:00:36 +00:00
Legolas
a52e51d0b7 * Updated libndsfpc and nds linkerscript to Ver. 1.5.8
git-svn-id: trunk@28299 -
2014-08-02 15:23:51 +00:00
sergei
15ff2c1236 * m68k: Fixed name of ELF interpreter, and updated cprt0.as to somewhat working state. Now a "hello world" program using libc can be linked and launched, but anything more complex needs another round of fixing the parameter passing code, in order to get the stack properly balanced.
git-svn-id: trunk@28181 -
2014-07-07 20:08:50 +00:00
nickysn
9f31fcc2ca + added support for HeapMax in the far data i8086 memory models as well
git-svn-id: trunk@28051 -
2014-06-24 22:54:54 +00:00
Jeppe Johansen
0dc39b5d63 Applied patch from Michael Ring that adds some startup code for some new stm32f0 and stm32f1 controllers, and fixes naming on some LPC ARMv6m controllers.
git-svn-id: trunk@28009 -
2014-06-20 06:49:04 +00:00
nickysn
7cfd7a66cd + create a special 'heap' segment with reserved space equal to heapsize (i.e.
the value set by -Ch or the second parameter to the $M directive). This is
  equivalent to the heapmin value in Turbo Pascal 7 and ensures that the program
  has at least this amount of heap space available (otherwise DOS will show a
  'not enough memory' error and will refuse to load the program).

git-svn-id: trunk@28002 -
2014-06-19 14:14:01 +00:00
nickysn
49f93b4464 * use the 'order' wlink directive to specify the segment order, instead of using
'option dosseg'. This allows us more flexibility in setting up the segment
  order the way we like.

git-svn-id: trunk@27958 -
2014-06-14 18:04:58 +00:00
nickysn
a52d8abe38 * changed the default stack size in the i8086 far data memory models to 16 KB
git-svn-id: trunk@27841 -
2014-06-01 14:38:54 +00:00
pierre
179390d63d Use script gnu ar for go32v2 target
git-svn-id: trunk@27515 -
2014-04-10 16:20:14 +00:00
pierre
62b3375033 Use slash instead of backslash inside linker script to allow use of cross-linker
git-svn-id: trunk@27509 -
2014-04-10 13:24:42 +00:00
nickysn
510fa9596f * add 'option quiet' to wlink to suppress its info messages
git-svn-id: trunk@27271 -
2014-03-24 18:13:29 +00:00
florian
b2b26f84cf * partially merged the mips-embedded branch of Michael Ring:
- startup code/controller units are not merged yet
  - assembler call does not pass the needed CPU type yet

git-svn-id: trunk@27188 -
2014-03-19 21:25:38 +00:00
florian
2c5a0ffc89 * make windres the default resource compiler on x86_64-win64
git-svn-id: trunk@27041 -
2014-03-09 10:52:10 +00:00
pierre
7b359d06c4 Use GNU ar also for x86_64 solaris
git-svn-id: trunk@27022 -
2014-03-07 12:39:48 +00:00
Jeppe Johansen
e33550b67d Added support for X,Y,and Z register aliases plus low/high forms, and post-incrementation in AVR assembler reader.
Cleaned up parameter and funcretloc information generation in AVR paramanger, and made it closer to GCC's calling convention.
Fixed a number of codegenerator bugs generating invalid or broken instructions: CP operands were swapped, a number of instructions had immediate operands, and stack frame epilogue wasn't complete.
Added a bunch of peephole optimizations that clears the generated code up a lot.

git-svn-id: trunk@26925 -
2014-03-02 15:37:24 +00:00
Károly Balogh
0591caf022 have an explicit define for OS4, so we can easily identify it in shared sources among Amiga-like systems, independent from the CPU define
git-svn-id: trunk@26859 -
2014-02-23 23:49:40 +00:00
yury
e0c8a4701e * Fixed compilation for mips-linux.
git-svn-id: trunk@26732 -
2014-02-08 19:08:21 +00:00
yury
bb269e53ac * mipsel-android: Don't export local symbols from executable.
git-svn-id: trunk@26690 -
2014-02-06 19:11:08 +00:00
yury
56b3287e29 + Added compiler support for mipsel-android target.
git-svn-id: trunk@26686 -
2014-02-06 17:02:43 +00:00
pierre
9fc9f4bdba Use new as_i8086_nasmobj as external assembler for msdos target
git-svn-id: trunk@26549 -
2014-01-21 00:27:42 +00:00
pierre
2a6e592fba Handle link map for msdos wlink
git-svn-id: trunk@26461 -
2014-01-14 21:40:02 +00:00
Jonas Maebe
ca446b4b2a - removed registration of x86_6432 target because it's not supported in any
way by the compiler (and furthermore it would have to be registerd in an
    the x86_64 compiler binary, not an i386 one) (mantis #25525)

git-svn-id: trunk@26460 -
2014-01-14 20:37:18 +00:00
pierre
291124489f Use scripted version of wlib for go32v2 msdos smart library creation
git-svn-id: trunk@26444 -
2014-01-12 23:21:16 +00:00
Jeppe Johansen
d24cbbf9f5 Changed debug information to dwarf for ARM_embedded, and set local minimum alignment to 4.
Fixed a bug where ARMv7M targets would not use the DIV instructions.
Moved many size-optimizing Thumb2 peephole optimizations to PostPeepHoleOptsCpu. Previously those optimizations could make it impossible to reuse the shared arm peephole optimizations.
Reenabled a fixed MLA/MLS peephole optimization.
Refactored some FindRegDealloc+regLoadedWithNewValue into RegEndOfLife calls.
Fixed some broken UXTB/UXTH optimizations. Previously they would also match UXT* instructions with ROR shifter ops.

git-svn-id: trunk@26198 -
2013-12-08 16:50:15 +00:00
florian
4d5119bf1c * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
git-svn-id: trunk@26161 -
2013-12-01 17:02:08 +00:00
florian
c357212b45 + search crt* files also in /usr/lib/x86_64-linux-gnu, multiarch supporting distros require this
git-svn-id: trunk@26158 -
2013-12-01 15:39:05 +00:00
Károly Balogh
34702dbfc5 fixed staticlibprefix for Amiga and MorphOS
git-svn-id: trunk@26127 -
2013-11-24 04:19:59 +00:00
Károly Balogh
da3603e663 introduce HASAMIGA define to easily identify various Amiga flavors (similarly to HASUNIX)
git-svn-id: trunk@26123 -
2013-11-24 01:19:52 +00:00
nickysn
12b1e0cbfd + tell wlink to add dwarf debug info to the executable when -gw2/3/4 is used
git-svn-id: trunk@25874 -
2013-10-27 20:30:00 +00:00
paul
d16606b04c compiler: revert r25852 since 10.9 is already handled
git-svn-id: trunk@25864 -
2013-10-27 14:17:29 +00:00
florian
de2e4632c5 * if a build-id is generated, put it into flash
git-svn-id: trunk@25853 -
2013-10-26 14:19:14 +00:00
paul
43b9308929 compiler: also skip crt1.o for osx 10.9
git-svn-id: trunk@25852 -
2013-10-26 13:36:40 +00:00
Jonas Maebe
40eafc3d82 * don't try to post-process embedded executables when linking is
disabled

git-svn-id: trunk@25851 -
2013-10-26 10:01:05 +00:00
Jonas Maebe
a28917086b * updated *crt1* linking logic for OS X 10.8+:
o don't link by default
   o when generating profiling info, link gcrt1.o and specify "-no_new_main"
     linker parameter
  * don't use version-specific crt1.o files when targetting the
    iPhoneSimulator platform
  * don't link a crt1.o file when targetting iOS 6 or later
  (all info from
   http://llvm.org/svn/llvm-project/cfe/trunk/lib/Driver/Tools.cpp )

git-svn-id: trunk@25789 -
2013-10-14 21:38:38 +00:00