Jonas Maebe
3ac703506c
* rest of the previous accidental partial commit
...
git-svn-id: branches/fixes_3_2@41250 -
2019-02-07 19:56:21 +00:00
Károly Balogh
ad89a972e5
m68k: also have tf_safecall_clearstack flag defined for Linux
...
git-svn-id: trunk@36611 -
2017-06-28 23:55:17 +00:00
Károly Balogh
890f4ac2bc
m68k: use 2 byte alignments for C structs on Linux
...
git-svn-id: trunk@36595 -
2017-06-24 23:19:00 +00:00
Károly Balogh
da11451934
m68k: revert the 2 byte C record alignment fix on Linux. sadly it completely breaks RTTI, which takes longer to fix, so meanwhile, at least cause no regressions
...
git-svn-id: trunk@36591 -
2017-06-24 10:50:24 +00:00
Károly Balogh
4258413e8c
m68k: revert recordalignmax to 2 on Linux. the value of 4 caused a bunch of weird RTTI test failures
...
git-svn-id: trunk@36590 -
2017-06-23 21:24:39 +00:00
Károly Balogh
bf3478fb35
m68k: fix C struct alignment on Linux. tested against GCC on current Debian-m68k
...
git-svn-id: trunk@36589 -
2017-06-23 20:47:06 +00:00
Károly Balogh
cf8aebf00f
m68k: enabled safecall exception wrappers with linux
...
git-svn-id: trunk@36575 -
2017-06-22 15:31:32 +00:00
florian
719faf5e54
* more restrictive alignment for variables
...
git-svn-id: trunk@36549 -
2017-06-19 21:18:11 +00:00
florian
2e2e560d5a
* use dwarf on sparc64
...
git-svn-id: trunk@36539 -
2017-06-19 21:17:51 +00:00
florian
3c72115e30
* basic sparc64 calling convention handling and stack frame handling fixed
...
git-svn-id: trunk@36518 -
2017-06-18 15:49:21 +00:00
florian
21e5f99faa
+ some basic compiler support for sparc64-linux
...
git-svn-id: trunk@36418 -
2017-06-04 22:07:24 +00:00
florian
b1dff29cbf
* removed unused units
...
git-svn-id: trunk@36165 -
2017-05-09 19:53:14 +00:00
Jeppe Johansen
291434be22
Enabled internal assembler for arm-linux. Will allow people to start running tests.
...
git-svn-id: trunk@32377 -
2015-11-20 14:37:10 +00:00
Jonas Maebe
3f9f498e0d
- removed leftover alpha, ia64 and vis code
...
git-svn-id: trunk@31446 -
2015-08-28 22:31:29 +00:00
Jonas Maebe
8628d50aba
+ Linux/AArch64 compiler support (patch by Edmund Grimley Evans)
...
git-svn-id: trunk@30893 -
2015-05-22 09:25:05 +00:00
nickysn
7ff6c2a675
- rm tf_smartlink_library from targets that define tf_smartlink_sections, since
...
in certain places, the code in the compiler assumes that only one of the two
is defined, resulting in libraries with missing externals when both are
defined and there's no much point in supporting both anyway, since section
based smartlinking achieves the same thing (in a better way) on these
platforms.
git-svn-id: trunk@30668 -
2015-04-19 18:47:44 +00:00
Jonas Maebe
bd203a5b57
* synchronised with trunk till r30240
...
git-svn-id: branches/hlcgllvm@30241 -
2015-03-15 19:44:58 +00:00
Jonas Maebe
3946971c73
* default to ppc64le/elfv2 when compiling on a ppc64le platform
...
* default to elfv2 abi when targeting ppc64le and no abi has been specified
git-svn-id: trunk@30193 -
2015-03-14 18:35:16 +00:00
Jonas Maebe
67b8aceaee
* synchronized with privatetrunk till r30095
...
git-svn-id: branches/hlcgllvm@30101 -
2015-03-05 20:32:15 +00:00
pierre
6ce8aeed27
+ mips/mipsel libraries need PIC
...
git-svn-id: trunk@29752 -
2015-02-18 13:53:20 +00:00
sergei
da8346079f
* mips-linux: Enabled tf_safecall_exceptions (it just works, no reason to keep disabled) and also tf_pic_uses_got (so that checks elsewhere in compiler set pi_needs_got flag; actual functionality is not changed because currently MIPS just forces pi_needs_got unconditionally).
...
git-svn-id: trunk@29360 -
2014-12-29 23:26:40 +00:00
Jonas Maebe
5c75b6dd6b
* synchronised with trunk up till r28402
...
git-svn-id: branches/hlcgllvm@28403 -
2014-08-13 16:04:30 +00:00
sergei
b9763d270a
+ Enabled section smartlinking for m68k-linux.
...
git-svn-id: trunk@28302 -
2014-08-02 23:00:36 +00:00
Jonas Maebe
9573160c1a
+ llvmdatalayout field for tsysteminfo that contains the encoded data layout
...
as used by llvm for most targets (taken from clang, adapted in some cases
where we use a custom stack alignment)
git-svn-id: branches/hlcgllvm@26032 -
2013-11-11 11:14:55 +00:00
florian
6606955b88
+ basic support for pic on arm-linux
...
git-svn-id: trunk@25297 -
2013-08-19 21:35:37 +00:00
sergei
38058505ba
* Changed linking infrastructure to look like assembler one:
...
* Changed direct references to linker classes in TSystemInfo records to enumerated ids.
* RegisterExtennalLinker and RegisterInternalLinker procedures replaced by single RegisterLinker procedure and moved to link.pas.
- TAbstractLinker is no longer necessary, removed.
This change allows to register linker once per id, rather than once per target, and also allows TSystemInfo records to be read-only.
git-svn-id: trunk@25279 -
2013-08-18 12:01:21 +00:00
florian
0e41df598e
* merge i8086 branch by Nikolay Nikolov
...
git-svn-id: trunk@24324 -
2013-04-25 20:23:51 +00:00
florian
b817b6f62a
* enable section smartlinking on all linux targets
...
git-svn-id: trunk@24146 -
2013-04-04 09:43:00 +00:00
nickysn
3a4135c07b
ifdef cpu86 replaced with ifdef cpui386
...
git-svn-id: branches/i8086@23709 -
2013-03-07 22:21:27 +00:00
florian
318f0e5cab
* enable section smartlinking for powerpc-linux to reduce compilation
...
times, some testing with qemu-ppc showed no problems
git-svn-id: trunk@23305 -
2013-01-03 23:04:29 +00:00
Károly Balogh
8fe2828e5a
it seems Coldfire needs tf_requires_proper_alignment, fixes taddr1/2 tests, maybe others too (but someone with clue about RTTI should confirm)
...
git-svn-id: trunk@23270 -
2013-01-01 04:51:47 +00:00
pierre
714bb61b51
Set res field to res_elf for linux mips/mipsel systems
...
git-svn-id: trunk@22605 -
2012-10-09 14:10:23 +00:00
pierre
e2f5e11778
Add tf_pic_uses_got for sparc linux and sparc solaris
...
git-svn-id: trunk@22485 -
2012-09-27 15:54:21 +00:00
Jonas Maebe
bd31004fdb
+ describe for each supported target the default guaranteed stack alignment
...
git-svn-id: trunk@22278 -
2012-09-02 14:32:12 +00:00
pierre
f1687fe8a6
Do not include CPUMIPS32 in extradefines for mips/mipsel systems as it is added in options unit
...
Do not include MIPSEL in extradefines for system_mipsel_linux as this forbids cross-compilation
git-svn-id: trunk@22263 -
2012-08-28 13:51:29 +00:00
pierre
0a21c01737
Use 8 for max record alignment for mips/mipsel
...
git-svn-id: trunk@21782 -
2012-07-04 16:34:51 +00:00
pierre
d2dc860b1b
Use 4 for mips(eb/el) recordalignmax field
...
git-svn-id: trunk@21669 -
2012-06-21 11:49:49 +00:00
pierre
ca497405b8
Avoid double call to set_source_info for mipsel
...
git-svn-id: trunk@21614 -
2012-06-14 15:51:49 +00:00
pierre
600dd162af
Merge of rev21557 by Foxsen
...
Make macro MIPS/CPUMIPS/MIPS32 common for big endian and little endian mips processors
use MIPSEL* for little endian systems
use MIPSEB* for big endian systems
git-svn-id: trunk@21599 -
2012-06-13 22:25:38 +00:00
pierre
9fc6f91cd0
Set correct source info for mips/mipsel
...
git-svn-id: trunk@21545 -
2012-06-08 10:07:46 +00:00
pierre
ac38901d2a
* Patch from Fuxin Zhang: set first_pram_offset to 0 for mips and mipsel CPUs
...
git-svn-id: trunk@21534 -
2012-06-07 23:11:16 +00:00
florian
4b7748ad11
* better suitable on x86_64-linux
...
git-svn-id: trunk@20876 -
2012-04-14 20:09:31 +00:00
Jonas Maebe
6ba8dc7146
+ support for the ARM hard float EABI on Linux (patch by Peter Green):
...
o new eabihf (hard float) abi
o vfpv3_d16 variant of VFP (default variant used by EABI assemblers: VFPv3
with only 16 double registers instead of 32) and pass it to GNU as
o make the odd numbered single precision floating point VFP registers
available for explicit allocation for use by the calling convention
* fixed copy/paste error in stdname of S30 register
-> use -dFPC_ARMHF to create an ARM eabi hard float compiler
(mantis #21554 )
git-svn-id: trunk@20660 -
2012-03-29 20:50:09 +00:00
florian
8b339ded7a
* started to fix the mips(el) linux rtl
...
git-svn-id: trunk@20255 -
2012-02-04 21:25:53 +00:00
Jonas Maebe
8d2a7f3b88
* switched linux/ppc64 to tf_smartlink_sections (works fine even with
...
binutils 2.17, which is kind of ancient by today's standards),
since it's much faster than tf_smartlink_library without an internal
assembler
git-svn-id: trunk@19680 -
2011-11-24 23:46:05 +00:00
joost
45bc3fcae0
* Enabled safecall on x86_64-linux
...
git-svn-id: trunk@17629 -
2011-06-02 10:43:18 +00:00
joost
65ab1e820b
* Safecall on linux/i386 now behaves like cdecl plus hidden exception support.
...
* Adapted tests because safecall on linux/i386 now does not include high()
support anymore
git-svn-id: trunk@15913 -
2010-08-27 19:07:22 +00:00
Jonas Maebe
48d7c69aab
* set maxCrecordalign to 16 for all x86_64 platforms that follow the
...
official ABI (records containing a C long double require 16 byte
alignment)
git-svn-id: trunk@15367 -
2010-06-03 20:02:06 +00:00
Jonas Maebe
b4c8c73e70
* changed tf_use_function_relative_addresses into an assembler flag (with
...
the opposite meaning, af_stabs_use_function_absolute_addresses), because it
is different on Darwin for the internal and external assembler)
git-svn-id: trunk@14342 -
2009-12-06 13:21:28 +00:00
florian
28ac4a8dda
* several mips/mipsel related stuff fixed
...
* regenerated linux makefile to support mipsel
git-svn-id: trunk@14278 -
2009-11-27 15:10:56 +00:00