Commit Graph

466 Commits

Author SHA1 Message Date
nickysn
6e346f1c79 * synchronize with trunk
git-svn-id: branches/z80@44444 -
2020-03-30 22:36:17 +00:00
Jonas Maebe
79974a9671 + -XlS<x> option to specify a suffix for externally called LLVM utilities,
e.g. -XlS-7 to call clang-7 instead of clang)
  * IMPORTANT: changed the -CL llvm code generation options to -Cl, for
    consistency with the new -Xl option (-XL was already taken)

git-svn-id: trunk@44436 -
2020-03-30 19:58:49 +00:00
nickysn
48b4cc34cb * synchronized with trunk
git-svn-id: branches/z80@44414 -
2020-03-29 23:04:40 +00:00
florian
391512546e + initial FreeRTOS RTL support, largely based on the Embedded target, limited to Xtensa so far
git-svn-id: trunk@44400 -
2020-03-29 17:13:45 +00:00
nickysn
755fe97c51 * synchronize with trunk
git-svn-id: branches/z80@44397 -
2020-03-29 16:24:32 +00:00
nickysn
fd9f3a43ce + added cpu_sys_z80 to the tsystemcpu enum. Name is not cpu_z80, because that
conflicts with tcputype.

git-svn-id: branches/z80@44393 -
2020-03-29 14:25:53 +00:00
nickysn
c35b3d8eee * synchronized the tsystemcpu enum with trunk
git-svn-id: branches/z80@44392 -
2020-03-29 14:14:22 +00:00
florian
8fd53df3cd * Xtensa: system_xtensa_embedded is an embedded system
git-svn-id: trunk@44383 -
2020-03-28 15:47:45 +00:00
florian
ad99285fec + Xtensa: CALL0 abi started
git-svn-id: trunk@44328 -
2020-03-21 20:48:03 +00:00
florian
73c68236b6 * Xtensa: completed compiler skeleton
git-svn-id: trunk@44323 -
2020-03-21 12:49:45 +00:00
florian
9e40d536cb + Xtensa: initial skeleton completed
+ xtensa-embedded support in the compiler

git-svn-id: trunk@44318 -
2020-03-20 22:34:33 +00:00
marco
96a712f7ff * add FreebSD to weaklinking targets.
git-svn-id: trunk@44283 -
2020-03-07 17:59:05 +00:00
florian
a20209e691 + tf_init_final_units_by_calls
* arm-embedded generates direct calls for unit init/final now as well

git-svn-id: trunk@43771 -
2019-12-24 16:14:30 +00:00
florian
fb91899457 * adapted 16 byte alignment handling on linux: it is now assumed that the callee tries to clear the stack, so in the caller, the stack is re-adjusted
git-svn-id: trunk@43176 -
2019-10-12 21:51:13 +00:00
Jonas Maebe
3fee990218 * on Mach-O, PECOFF and ELF platforms, write local symbols as hidden/
private_extern (or plain global in case of PECOFF, as the effect is
    the same there): visible across object files, but they become local
    when linked into a binary/library. This enables cross-unit inlining
    of functions accessig implementation-only symbols.

git-svn-id: trunk@42340 -
2019-07-07 21:33:43 +00:00
Jonas Maebe
c262c5dbc9 * synchronised with trunk till r42256
git-svn-id: branches/debug_eh@42257 -
2019-06-20 17:21:34 +00:00
nickysn
dec03b5ac7 + added the asmmodes_x86_att set constant - similar to asmmode_x86_intel, but for AT&T asm syntax
git-svn-id: trunk@42212 -
2019-06-11 15:51:40 +00:00
nickysn
d2b3da1f14 + add asmmode_standard to the asmmodes_x86_intel set on i8086, because i8086 defaults to intel syntax
git-svn-id: trunk@42210 -
2019-06-10 15:58:16 +00:00
nickysn
ce8ec3ab5d + introduced the asmmodes_x86_intel constant set
git-svn-id: trunk@42209 -
2019-06-10 15:44:19 +00:00
Jonas Maebe
2923e484fd * synchronised with trunk till r41907
git-svn-id: branches/debug_eh@41908 -
2019-04-20 18:22:52 +00:00
Jonas Maebe
d150869dea * record symbols that need to remain in their original order, and on Darwin
pass them to the linker so it does not reorder them
   o fixes resource strings on Darwin when using LTO (this used to reorder the
     resource string symbols, so they no longer all appeared between the START
     and END symbols for their compilation module)

git-svn-id: trunk@41907 -
2019-04-20 18:18:10 +00:00
Jonas Maebe
a0f850d57f * synchronised with trunk till r41885
git-svn-id: branches/debug_eh@41886 -
2019-04-16 16:20:44 +00:00
Jeppe Johansen
53542b7c5e - Port RISC-V64 startup code to native inline routines.
git-svn-id: trunk@41871 -
2019-04-14 23:36:08 +00:00
Jonas Maebe
a7bd37d17a * synchronised with trunk till r40776
git-svn-id: branches/debug_eh@41867 -
2019-04-13 15:16:09 +00:00
nickysn
516438fd19 * converted the i386 OpenBSD startup code to Pascal
git-svn-id: trunk@41764 -
2019-03-22 00:54:01 +00:00
nickysn
52a5669117 + enable weak externals for OpenBSD
* converted the reference to _init in si_dll to be a weak external. This way we
  can support creating shared libraries that link to the C library as well as
  libraries that do not. If libc was linked, the compiler will link in
  crtbeginS.o and crtendS.o; _init is defined in crtbeginS.o and initializes the
  C library and calls all the C static constructors.

git-svn-id: trunk@41751 -
2019-03-20 15:13:47 +00:00
Jonas Maebe
dc2cbf8018 * synchronised with trunk till r41725
git-svn-id: branches/debug_eh@41726 -
2019-03-17 15:25:31 +00:00
nickysn
ef00eb228b + enable the internal sysinit for OpenBSD x86_64
git-svn-id: trunk@41709 -
2019-03-14 23:43:45 +00:00
Jonas Maebe
5d28e2156b + support for generating Dwarf CFI using .cfi_* directives
o adjust peephole optimisers so they don't remove cfi_endproc directives
     in case of tail call optimisation

git-svn-id: branches/debug_eh@41578 -
2019-03-03 17:15:03 +00:00
Jonas Maebe
b3a8543a56 * synchronised with trunk till r40942
git-svn-id: branches/debug_eh@40943 -
2019-01-20 17:37:07 +00:00
Károly Balogh
9ce876e2ae haiku: move i386 also to internal sysinit
git-svn-id: trunk@40791 -
2019-01-07 12:58:02 +00:00
Jonas Maebe
51b58f342f * synchronised with trunk till r40775
git-svn-id: branches/debug_eh@40776 -
2019-01-05 22:12:28 +00:00
Károly Balogh
0d8ef46195 haiku: linker support code for internal sysinit and make the x86_64 port use it
git-svn-id: trunk@40756 -
2019-01-04 03:00:03 +00:00
Jonas Maebe
11511e13d5 * synchronised with trunk till r40723
git-svn-id: branches/debug_eh@40724 -
2019-01-01 13:22:17 +00:00
Jonas Maebe
dee1056546 * fixed wrong change of jumpalignmax from 10 to 16 in previous commit
o renamed jumpalignmax and coalescealignmax to jumpalignskipmax/
     coalescealignskipmax to better reflex the meaning of these setting
     (and the difference in meaning to e.g. constalignmax)

git-svn-id: trunk@40682 -
2018-12-28 13:22:50 +00:00
Jonas Maebe
2f8fcf7819 + new tf_use_psabieh target flag to indicate a target uses PSABI/Dwarf EH
o use this flag to set the personality routine of a function if it uses
     exception handlinga
   o also define FPC_USE_PSABIEH if this target flag is set
   o set this target flag for darwin/x86-64 if the compiler is compiled with
     -dllvm

git-svn-id: branches/debug_eh@40415 -
2018-11-29 21:31:30 +00:00
florian
a092da723a + new fields for more precise control of alignment
+ support of new alignment control values for GNU AS writer
+ support of new alignment control values for binary writer
* better alignment settings on i386-win32
* improved inserted align directives for if nodes

git-svn-id: trunk@40159 -
2018-11-01 20:49:17 +00:00
yury
e367577bf1 + added support for x86_64-android target.
git-svn-id: trunk@39956 -
2018-10-17 16:56:27 +00:00
yury
671d31df1d + Added support for the aarch64-android target.
git-svn-id: trunk@39862 -
2018-10-06 09:33:09 +00:00
Jeppe Johansen
d33b520690 Clean up peephole optimization code.
Add hardfloat ABI option for RiscV. Still needs proper implementation though.
Add CG support for profiling.

git-svn-id: branches/laksen/riscv_new@39798 -
2018-09-24 17:15:22 +00:00
Jeppe Johansen
ceb38833f2 Added RiscV32/64 target, from a cleaned up version of branches/laksen/riscv/trunk.
git-svn-id: branches/laksen/riscv_new@39474 -
2018-07-20 08:21:15 +00:00
Károly Balogh
dbb91b5ef0 arm-netbsd: added platform define and dummy rtl files so the build passes for this platform. port not functional yet
git-svn-id: trunk@38412 -
2018-03-05 15:38:46 +00:00
florian
b24eb3cce7 * x86_64-linux uses now pascal init code
git-svn-id: trunk@38409 -
2018-03-04 18:22:04 +00:00
marco
14b14f3bda * fixes sysctl also with 3.0.4 as starting compiler.
M    rtl/bsd/sysctl.pp
M    compiler/systems.pas

git-svn-id: trunk@38250 -
2018-02-16 17:58:20 +00:00
pierre
cbe09c08bc Add new assmebler flag: af_no_stabs for assemblers that do not support stabs debug format
git-svn-id: trunk@38237 -
2018-02-14 15:08:29 +00:00
pierre
901f7ba81c handle system_i386_netbsd for default_target_set
git-svn-id: trunk@37695 -
2017-12-07 16:27:26 +00:00
nickysn
303309b28f + added support for 'external far' variables for i8086
git-svn-id: trunk@37532 -
2017-10-30 18:03:44 +00:00
Károly Balogh
fd00920006 m68k-palmos: internal sysinit, and patch target support so it works prc-tools-remix on a modern system
git-svn-id: trunk@37230 -
2017-09-16 21:34:55 +00:00
Károly Balogh
d115b0e8dc m68k: changed the internal name of 68k MacOS from system_m68k_mac to system_m68k_macos, so it's consistent with the PowerPC version. suggestion/request by Sven :)
git-svn-id: trunk@37035 -
2017-08-22 11:22:15 +00:00
Károly Balogh
e3ffeed1b2 m68k: removed traces of the never obsolete/ancient openbsd-m68k and never existed freebsd-m68k ports
git-svn-id: trunk@36877 -
2017-08-12 08:52:44 +00:00