Commit Graph

1111 Commits

Author SHA1 Message Date
Jonas Maebe
ac883969a9 * synchronised with trunk till r41423
git-svn-id: branches/debug_eh@41424 -
2019-02-23 17:08:03 +00:00
florian
e3546cf5af * properly quote pathes for objcopy calls, resolves #35072
git-svn-id: trunk@41324 -
2019-02-15 18:57: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
florian
27ab140dd9 + gcc_except_table section
+ support exception related sections in the default LD linker script

git-svn-id: branches/debug_eh@41285 -
2019-02-10 17:57:48 +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
Károly Balogh
d1878fe5b2 morphos: support section GC with GNU LD as well
git-svn-id: trunk@41105 -
2019-01-29 05:02:18 +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
b3a8543a56 * synchronised with trunk till r40942
git-svn-id: branches/debug_eh@40943 -
2019-01-20 17:37:07 +00:00
pierre
bbede67175 Also add /usr/lib/CPU-linux-gnu to link directory list for mips and mipsel
git-svn-id: trunk@40905 -
2019-01-19 16:06:04 +00:00
pierre
1b16ff3629 Change default debugging format for x86_64-haiku to dwarf-2, as stabs is normally disabled on 64-bit systems
git-svn-id: trunk@40835 -
2019-01-10 14:40:05 +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
Károly Balogh
2f7fe0e737 haiku-x86_64: add target to the compiler and ppudump, enable it in fpmake and fpcmake
git-svn-id: trunk@40753 -
2019-01-04 02:16:24 +00:00
florian
e7c4fccf41 * patch by Simon Ameis: adds mcu STM32F091* to compiler unit t_embed.pas; thus internal error 200902011 is not raised anymore, resolves #34570
git-svn-id: trunk@40742 -
2019-01-01 23:16:07 +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
df598f1868 * update alignment values for Darwin
git-svn-id: trunk@40684 -
2018-12-28 19:01:11 +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
Jonas Maebe
37ae70f925 * pass --eh-frame-hdr to the linker on Linux when using Dwarf-based EH, as
libgcc's unwinder does not work without it

git-svn-id: branches/debug_eh@40435 -
2018-12-01 20:30:37 +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
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
Károly Balogh
7bd590c9a7 fix the missing semicolos in the previous fix..
git-svn-id: trunk@40218 -
2018-11-04 18:15:24 +00:00
Károly Balogh
12a22b593d initialize result before passing it to FindFile()
git-svn-id: trunk@40217 -
2018-11-04 18:03:00 +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
48fcbb3f6c * Create the ".note.gnu.build-id" section for android. It fixes debugging of shared libs in Android Studio.
git-svn-id: trunk@39987 -
2018-10-19 20:23:08 +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
9d7308df42 * Android: Reworked the startup code to use no assembly instructions. Generic assembler startup files contains only section data and are compiled for each CPU.
* Android: argc and argv are correct for shared libraries.

git-svn-id: trunk@39905 -
2018-10-08 16:48:41 +00:00
yury
671d31df1d + Added support for the aarch64-android target.
git-svn-id: trunk@39862 -
2018-10-06 09:33:09 +00:00
florian
a34d4e715c Merged riscv_new branch
git-svn-id: trunk@39813 -
2018-09-26 19:49:08 +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
pierre
29d524e7e6 Remove abolute path for native linker, ld is in directory /usr/ccs/bin in Oracle Solaris 10 8/11
git-svn-id: trunk@39541 -
2018-08-01 06:44:26 +00:00
Jeppe Johansen
90d5f5e760 Added library search paths.
Removed GP and TP from allocatable registers for now. GP should not be overwritten.
Ported dllprt0.as
Fixed register usage in cprt0.as

git-svn-id: branches/laksen/riscv_new@39522 -
2018-07-29 13:08:15 +00:00
Jeppe Johansen
76dda5813e Updated dynlinker filename.
Fix passing of vararg register pairs.
Fix passing of big record, and return of records.
Disabled framepointer elimination for the time being.

git-svn-id: branches/laksen/riscv_new@39519 -
2018-07-28 20:06:06 +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
michael
f6867cbd63 * Patch by Cyrax to allow creating map file on linux (bug ID 33982)
git-svn-id: trunk@39449 -
2018-07-14 08:12:38 +00:00
Jeppe Johansen
3e2be29030 Make sure to align at the end of the .text, in case .data bytes will be placed there in flash.
git-svn-id: trunk@39442 -
2018-07-12 18:52:19 +00:00
pierre
6cab9fd7db Add replacement of $GCSECTIONS for shared libraries
git-svn-id: trunk@39403 -
2018-07-07 07:22:51 +00:00
marco
2a80eb3fdd * patch from #31920, pass gc-sections to .so's
git-svn-id: trunk@39392 -
2018-07-06 08:17:10 +00:00
nickysn
5b47bad32a * use uppercase object section names in the OMF linker script for matching the
dwarf debug sections. This is because they are converted to upper case when
  reading (so that we treat omf section names as case-insensitive)

git-svn-id: trunk@39220 -
2018-06-14 15:19:11 +00:00
nickysn
b3e4ace4e3 * fixed compilation of .com files in the i8086 tiny memory model, when used with
section based smartlinking

git-svn-id: trunk@39213 -
2018-06-12 00:38:51 +00:00