Pierre Muller
f410d8a77c
Set defualt riscv32 linux abi to abi_riscv_ipl32
2023-06-13 19:41:02 +00:00
Jinyang He
3d2c96ebbf
Add loongarch64 linux support to compiler
2023-02-05 19:18:48 +00:00
florian
f8848dd185
* fix for commit a91e5478
, mixed localalignmax and constalignmax
2022-10-03 22:03:55 +02:00
florian
a91e547832
* set the maximum alignment values for constants and variables to 64 on aarch64-linux
2022-10-03 14:40:57 +02:00
florian
19ad26afd8
* Riscv32 and Riscv64 on linux: enable safecall support
2022-07-22 22:56:21 +02:00
florian
1ac2334b59
* do not use Dwarf-4 yet as it is too little tested and has no benefits
2022-06-18 21:02:01 +02:00
florian
9f47e21da3
* increase default dwarf version for linux targets where current distributions exist
2022-05-16 22:56:30 +02:00
florian
a73869b879
* arm-linux: set max. alignment for constants and variables to 32 byte boundaries
2022-05-09 22:45:21 +02:00
florian
4add05c625
* x86_64-linux and i386-linux align variables and constants up to 64 byte boundaries
2022-05-08 17:50:00 +02:00
florian
e9e8013316
+ some basic stuff for MIPS64
2022-02-05 23:25:31 +01:00
florian
62ea31f255
* riscv64-linux: generate PIC for all units as it is required for shared libraries
...
git-svn-id: trunk@48948 -
2021-03-13 16:33:31 +00:00
florian
577e584c77
* RiscV: basic CFI stuff fixed
...
git-svn-id: trunk@48937 -
2021-03-10 20:55:37 +00:00
Károly Balogh
8d0ef71e37
m68k-linux: revert maxCrecordalign to 2, as an experiment to fix some linking-against-C regressions since the alignment changes
...
git-svn-id: trunk@48809 -
2021-02-26 10:57:05 +00:00
Károly Balogh
0216f77819
m68k: adjusted some max alignment values for m68k-linux based on i386-linux, because the ELF loader on m68k should be able to provide the same alignments for globals
...
git-svn-id: trunk@48799 -
2021-02-24 09:20:04 +00:00
florian
a3d68e6839
* arm thumb: generate proper cfi
...
git-svn-id: trunk@48678 -
2021-02-14 21:26:41 +00:00
florian
bb80851d65
* .def must be set on linux else it might be that the created executable is
...
deleted after compilation
git-svn-id: trunk@47592 -
2020-11-25 22:34:17 +00:00
florian
b47d2bd2c2
* allow var alignment up to 64 bytes
...
git-svn-id: trunk@47316 -
2020-11-04 21:31:50 +00:00
florian
e8fabb752a
+ basic xtensa-linux support in the compiler
...
git-svn-id: trunk@44611 -
2020-04-05 21:12:12 +00:00
florian
0af71da9cc
* armhf/armel aligns sections to 16 byte, so allow a maximum c alignment of 16
...
git-svn-id: trunk@44087 -
2020-02-01 22:31:12 +00:00
florian
6b47d9d9ed
* safecall support is meanwhile generic, so enabled for all linux targets
...
git-svn-id: trunk@44076 -
2020-01-31 21:58:49 +00:00
Jonas Maebe
54d3c26e27
* renamed abi_linux386_sysv to abi_i386_dynalignedstack, and also use it
...
for Darwin-based i386 platforms
git-svn-id: trunk@43650 -
2019-12-05 19:38:01 +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
florian
35e11cd6d4
* several linux targets switches from stabs to dwarf
...
git-svn-id: trunk@43135 -
2019-10-05 20:48:32 +00:00
florian
df4ec9e8e3
* arm-linux uses dwarf debug info by default
...
git-svn-id: trunk@43133 -
2019-10-05 20:48:30 +00:00
florian
bfd83911e4
* set stack alignment for i386-linux to 16 byte boundaries, this implies a fixed stack layout inside the subroutine code as well
...
git-svn-id: trunk@43014 -
2019-09-15 17:17:33 +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
50c82b6468
* synchronised with trunk till r41537
...
git-svn-id: branches/debug_eh@41538 -
2019-03-01 16:20:22 +00:00
florian
075e3da334
* better alignment values
...
git-svn-id: trunk@41521 -
2019-02-27 22:13:54 +00:00
florian
ded001753d
+ initial native x86-64 support
...
git-svn-id: branches/debug_eh@41499 -
2019-02-26 22:08:20 +00:00
florian
501b384b17
+ define psabieh to enable dwarf based exception handling
...
git-svn-id: branches/debug_eh@41288 -
2019-02-10 18:01:11 +00:00
Jonas Maebe
9d07e4948f
* fix compilation of ARM compiler for LLVM
...
git-svn-id: branches/debug_eh@41210 -
2019-02-03 21:09:54 +00:00
Jonas Maebe
a0d796e98d
* synchronised with trunk till r41159
...
git-svn-id: branches/debug_eh@41160 -
2019-02-01 17:01:54 +00:00
florian
597a23d278
+ tls support for x86_64-linux (not yet enabled by default)
...
git-svn-id: trunk@41081 -
2019-01-27 09:37:25 +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
9a797b9f49
* changed maxjumpalign:10 to 16
...
* changed (max)jumalign for Darwin/x86_64 from 0 to 16
git-svn-id: trunk@40681 -
2018-12-28 12:06:46 +00:00
florian
ce81e50907
* better code alignment for x86_64-win64 and x86_64-linux
...
git-svn-id: trunk@40679 -
2018-12-27 22:07:30 +00:00
Jonas Maebe
f26ac9026e
* enable LLVM support Linux/AArch64
...
o also put the regular function result before the partfpstruct parameter
git-svn-id: branches/debug_eh@40577 -
2018-12-16 20:46:44 +00:00
Jonas Maebe
60488c3c06
* synchronised with trunk till r40443
...
git-svn-id: branches/debug_eh@40444 -
2018-12-01 23:08:18 +00:00
Jonas Maebe
e8512d19b5
* set constalignmax to the same value as varalignmax for all targets where
...
constalignmax was lower (which does not make sense)
git-svn-id: trunk@40443 -
2018-12-01 23:07:09 +00:00
Jonas Maebe
c0ce94528f
* use Dwarf-EH for Linux/x86-64 when using the LLVM code generator
...
git-svn-id: branches/debug_eh@40436 -
2018-12-01 20:30:40 +00:00
florian
08d6ca7260
* better alignment on 386-linux
...
git-svn-id: trunk@40338 -
2018-11-17 15:08:22 +00:00
florian
4d2d26c318
* define renamed into tls_threadvars
...
git-svn-id: trunk@40274 -
2018-11-07 22:03:04 +00:00
florian
9f16c34329
+ initial work for tls-based threadvar support on arm-linux
...
git-svn-id: trunk@40267 -
2018-11-07 22:02:58 +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
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
054bf32f1f
Add RV64GC cpu type.
...
Fix float loading.
Fix a number of small issues with wrong operand sizes.
Fixed concatcopy code generation.
Align jump table for case statements.
git-svn-id: branches/laksen/riscv_new@39481 -
2018-07-21 22:34:42 +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
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