nickysn
caf1b11db9
* initialize SysInitUnit in InitSysInitUnitName on BSD
...
git-svn-id: trunk@41700 -
2019-03-14 17:20:12 +00:00
nickysn
58d9e58742
* initialize prtobj and reorder in InitSysInitUnitName
...
git-svn-id: trunk@41699 -
2019-03-14 17:02:20 +00:00
nickysn
525eff2927
* initialize linklibc earlier (in InitSysInitUnitName); this is necessary,
...
because the sysinit unit name depends on whether libc is linked or not.
Helper function ModulesLinkToLibc copied from t_linux.pas
git-svn-id: trunk@41698 -
2019-03-14 16:47:34 +00:00
nickysn
dc32554556
* prtobj, linklibc and reorder converted from local to member variables of the class
...
git-svn-id: trunk@41697 -
2019-03-14 16:23:55 +00:00
nickysn
a15ec46751
* don't put the prtobj file in the BSD linker script, in case the current system uses sysinit
...
git-svn-id: trunk@41696 -
2019-03-14 15:57:09 +00:00
nickysn
89c921a11c
+ enabled PIC by default for i386-openbsd as well
...
git-svn-id: trunk@41675 -
2019-03-11 13:48:43 +00:00
nickysn
ac86980f8a
+ pass the -dynamic-linker option to the linker even when making a static binary
...
on OpenBSD, because that seems to be needed in order to produce a static
position independent executable in the correct format for that platform
git-svn-id: trunk@41668 -
2019-03-10 15:56:09 +00:00
nickysn
3a58a6261a
* link with -nopie on OpenBSD only if PIC code generation is disabled
...
git-svn-id: trunk@41652 -
2019-03-09 16:11:52 +00:00
nickysn
b659720f04
* Do not link to /usr/libexec/ld.so as a shared library on OpenBSD. Based on 3/3
...
of OpenBSD ports patch patch-fpcsrc_compiler_systems_t_bsd_pas
git-svn-id: trunk@41639 -
2019-03-08 16:04:48 +00:00
nickysn
bd9f6170cd
* always add -nopie to linker flags on OpenBSD. Based on 2/3 of OpenBSD ports
...
patch patch-fpcsrc_compiler_systems_t_bsd_pas
git-svn-id: trunk@41638 -
2019-03-08 16:01:30 +00:00
nickysn
c3c9e07867
* Correct library search path for OpenBSD. Based on 1/3 of OpenBSD ports patch
...
patch-fpcsrc_compiler_systems_t_bsd_pas
git-svn-id: trunk@41637 -
2019-03-08 15:59:00 +00:00
Jonas Maebe
efaa7d67bb
* enable Dwarf CFI using cfi_* directives for Darwin/x86 platforms
...
git-svn-id: branches/debug_eh@41579 -
2019-03-03 17:15:06 +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
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
nickysn
b9ab9e5782
+ initial (experimental) implementation of section-based smartlinking for i8086.
...
Use -dI8086_SMARTLINK_SECTIONS to enable.
git-svn-id: trunk@39211 -
2018-06-11 16:56:33 +00:00
nickysn
22e8763100
+ generate script code for creating the dwarf exe sections when using the
...
internal linker with dwarf debug info enabled on i8086-msdos
git-svn-id: trunk@39117 -
2018-05-25 15:35:17 +00:00
pierre
a5a6b70658
Add tf_no_pic_supported to go32v2 target (was generating wrong code)
...
git-svn-id: trunk@39102 -
2018-05-23 21:12:56 +00:00
nickysn
6f44deb557
+ implemented the -Xg option for putting the debug information in a separate
...
file on i8086-msdos and i8086-win16
git-svn-id: trunk@39096 -
2018-05-22 15:33:26 +00:00
nickysn
b80642c384
+ started implementing support for generating Microsoft CodeView debug
...
information. Only enabled on i8086 (for now). Does not do much yet, but
hopefully, soon it'll start emitting line number information for i8086-msdos
that is usable by DOS debuggers.
git-svn-id: trunk@39006 -
2018-05-16 15:25:33 +00:00
Jonas Maebe
4686f61002
* keep track of the temp position separately from the offset in references,
...
so that they can still be freed after the reference has been changed
(e.g. in case of array indexing or record field accesses) (mantis #33628 )
git-svn-id: trunk@38814 -
2018-04-22 17:03:16 +00:00
Károly Balogh
626dc172ee
arm-netbsd: append -N to the command line. lets figure out later if this is the right solution here
...
git-svn-id: trunk@38590 -
2018-03-22 00:43:32 +00:00
Károly Balogh
5e8e9efd83
arm-netbsd: use HF ABI, needs proper alignment
...
git-svn-id: trunk@38589 -
2018-03-22 00:42:43 +00:00
florian
35d49f804c
* search also the "lib" path variants on x86-64 if the "lib64" ones are not
...
found, some distros use lib instead of lib64 for x86-64
git-svn-id: trunk@38557 -
2018-03-17 21:58:24 +00:00
florian
aa4af19027
* set localalignmin to 4 on x86_64-win64, there is no reason to leave it at 8 (same as linux)
...
* adapt tasm23b
git-svn-id: trunk@38554 -
2018-03-17 21:30:49 +00:00
Károly Balogh
054ef133f9
netbsd/arm: default to EABI
...
git-svn-id: trunk@38530 -
2018-03-15 13:44:54 +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
0baf3f69d8
* modified patch of Sergey Shishmintzev: add a __text_start symbol if an external linker is used, resolves #26190
...
git-svn-id: trunk@38235 -
2018-02-13 21:16:58 +00:00
Károly Balogh
ba2327f89b
macos: initial cross-linker support, based on the binutils in the Retro68 GNU binutils
...
git-svn-id: trunk@38101 -
2018-02-02 23:01:25 +00:00
Károly Balogh
aaa40927fe
palmos: also pass --embedded-relocs to the linker. mimics what prc-tools GCC does
...
git-svn-id: trunk@37899 -
2018-01-04 08:27:23 +00:00
Károly Balogh
ae1b005b1a
palmos: turned off large object generation for palmos, fixed linking by skipping the unnecessary obj-res stage
...
git-svn-id: trunk@37894 -
2018-01-04 07:36:10 +00:00
pierre
dcc6a20d22
Call RegisterTarget for system_x86_6432_linux_info
...
git-svn-id: trunk@37891 -
2018-01-02 16:52:41 +00:00
Károly Balogh
ad1742373a
atari: remove -sd vlink option. this stops the linker from merging the bss segment into the data segment shaving off about 8K from the Hello, world! size. the data segment is merged into a single one on atari anyway, so this argument is not needed
...
git-svn-id: trunk@37826 -
2017-12-27 01:01:41 +00:00
nickysn
125360ca16
* fixed the amount of bytes in the 'data' section, reported by the compiler,
...
when compiling an msdos executable in the huge memory model with the internal
linker (previously it would always print "0 bytes data" in the huge memory
model)
git-svn-id: trunk@37771 -
2017-12-20 17:55:03 +00:00
florian
0b10193660
* use dwarf-3 for avr-embedded by default as it makes the size of DW_FORM_ref_addr target indepented
...
git-svn-id: trunk@37661 -
2017-12-02 17:37:11 +00:00
Károly Balogh
e6aed467b5
renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin
...
git-svn-id: trunk@37598 -
2017-11-17 11:27:19 +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
93910c60be
palmos: register the linker at least, although it's probably not functional with current RTL
...
git-svn-id: trunk@37211 -
2017-09-15 11:33:40 +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
1d78e73ed8
m68k: there are now cross-binutils for old MacOS, so based on the old/existing bits, fix the support in the compiler
...
git-svn-id: trunk@37028 -
2017-08-22 10:41:02 +00:00
svenbarth
01046b8a17
* more sensible values for the alignments (based on the powerpc-darwin ones)
...
git-svn-id: trunk@36886 -
2017-08-12 15:35:24 +00:00
Károly Balogh
071b588da2
netbsd/m68k: tweaks, so it works at least in my test-env with NetBSD/amiga 7.1
...
git-svn-id: trunk@36801 -
2017-07-27 19:00:37 +00:00
florian
13801bebfe
* pass debian specific path to c init files to ld for sparc64 as it is done on other targets as well
...
git-svn-id: trunk@36676 -
2017-07-07 22:33:42 +00:00
Károly Balogh
8a22807efa
m68k: also add Debian's custom library path like on other CPUs
...
git-svn-id: trunk@36645 -
2017-07-04 22:51:08 +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
ac16c90357
* linker command for sparc64-linux fixed
...
git-svn-id: trunk@36517 -
2017-06-18 15:45:32 +00:00
Károly Balogh
903548b21a
morphos: added legacy GNU AS support for the ancient AS version, which is still bundled as default in the SDK. switches off named sections support in the assembler generator
...
git-svn-id: trunk@36487 -
2017-06-11 23:36:40 +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
1f4432af6b
* sparc64 compiler can be build, not working yet
...
git-svn-id: trunk@36399 -
2017-06-02 20:13:30 +00:00
Károly Balogh
1252aefb86
t_linux: whitespace and tab 2 space fix. no functional change.
...
git-svn-id: trunk@36370 -
2017-05-29 16:11:24 +00:00
maciej-izak
fa75f25fac
* Enabling crosscompiling from Windows towards Darwin. Patch from Alfred (mantis 31099). Thanks! :)
...
git-svn-id: trunk@36168 -
2017-05-10 07:53:43 +00:00
florian
b1dff29cbf
* removed unused units
...
git-svn-id: trunk@36165 -
2017-05-09 19:53:14 +00:00
Károly Balogh
01ebb52ba8
morphos: added tf_needs_smybol_type and tf_needs_symbol_size flags. fixes generated executables to not be falsely recognized as PowerUP but native binaries
...
git-svn-id: trunk@36019 -
2017-04-29 22:31:41 +00:00
florian
fc4a8c0daa
* more z80 support for the compiler
...
git-svn-id: branches/z80@35678 -
2017-03-28 20:21:03 +00:00
florian
0897bd154a
+ align(<int64>,<int64>) and align(<qword>,<qword>), resolves an issue reported on the mailing list with large records
...
+ tests
* trecordsymtable.insertunionst takes a asizeint parameter
* changed one aint into a asizeint
git-svn-id: trunk@35662 -
2017-03-26 09:35:56 +00:00
Károly Balogh
a4b096e9da
m68k: added the embedded target
...
git-svn-id: trunk@35589 -
2017-03-15 13:37:56 +00:00
Károly Balogh
1c4207642c
tabs to spaces indentation fixes. no functional changes
...
git-svn-id: trunk@35318 -
2017-01-17 13:41:13 +00:00
Károly Balogh
b2ff3f82bc
m68k: marked palmos as 'under development', as there's code there, but was never really tested with the current CG
...
git-svn-id: trunk@35316 -
2017-01-16 21:31:49 +00:00
Jeppe Johansen
7e75457a3e
Added more Nordic Semi controllers. Created a new unit for NRF52x controllers with a more precise register naming following Nordic SDK conventions.
...
Patch from Paul Mitchell.
git-svn-id: trunk@35274 -
2017-01-10 20:30:20 +00:00
Károly Balogh
c4ba3ef09d
amigaos4: fix linker script and signature symbol preservation with current vlink
...
git-svn-id: trunk@35272 -
2017-01-08 20:33:28 +00:00
Károly Balogh
49fc799e97
atari: section smartlinking support for atari. needs vlink nightly
...
git-svn-id: trunk@35244 -
2017-01-06 02:44:12 +00:00
Károly Balogh
48744d0abd
amiga: section smartlinking support for amiga. needs vlink nightly
...
git-svn-id: trunk@35243 -
2017-01-05 23:08:08 +00:00
Károly Balogh
48de52f41b
morphos: added section smartlinking support using vlink. needs vlink nightly
...
git-svn-id: trunk@35242 -
2017-01-05 22:39:54 +00:00
Károly Balogh
ab5b9982ee
aros: enabled internal sysinit for i386-aros
...
git-svn-id: trunk@35238 -
2017-01-05 00:25:10 +00:00
Károly Balogh
789fb552d5
aros: fixed striping and added section smartlinking support
...
git-svn-id: trunk@35236 -
2017-01-04 22:59:05 +00:00
florian
53019b2470
* align code slightly better on i386-win32/x86_64-win64
...
git-svn-id: trunk@35224 -
2017-01-03 16:43:26 +00:00
Károly Balogh
95274c1d7b
atari: enable apptype directive, and change exe extension when compiling a GUI app
...
git-svn-id: trunk@35215 -
2016-12-30 10:27:27 +00:00
Károly Balogh
217307cd69
atari: revert back to unix dirsep, because thats what the 3rd party dev tools prefer
...
git-svn-id: trunk@35213 -
2016-12-29 16:15:37 +00:00
Károly Balogh
adb58ad467
atari: fixed newline and dirsep
...
git-svn-id: trunk@35212 -
2016-12-29 14:53:23 +00:00
Károly Balogh
9ce4184dd9
atari: add fastload and fastram flags for TOS exes. ideally this should become a directive or some option at some point
...
git-svn-id: trunk@35207 -
2016-12-27 22:22:13 +00:00
Károly Balogh
8760ff96e1
atari: new pascal startup code, reworked build, also ParamStr/ParamCount works now
...
git-svn-id: trunk@35201 -
2016-12-27 08:14:34 +00:00
Károly Balogh
4e51dc2298
m68k: enable named sections for vasm generated objects. have a separate as_m68k_as_aout for a.out objects which doesn't have named sections. amiga and atari gas defaults to a.out, so have it default on these systems. finally enable section smartlinking for amiga and atari, which will be used with vasm assembler
...
git-svn-id: trunk@35112 -
2016-12-11 23:27:24 +00:00
Károly Balogh
788c622307
amiga: pascal startup code for 68k and buildrtl refactor
...
git-svn-id: trunk@35068 -
2016-12-04 18:21:24 +00:00
marcus
bebef242d4
AROS: Initial ABIv1 Support
...
git-svn-id: trunk@35066 -
2016-12-04 15:41:35 +00:00
Károly Balogh
f3e33a9dde
morphos: new pascal-written internal startup code. also refactored the rtl build process for morphos
...
git-svn-id: trunk@35054 -
2016-12-04 00:15:41 +00:00
marcus
b02d541e78
AROS: x86_64 needs also BINCOMPAT, TTask fixed type for 64 bit
...
git-svn-id: trunk@35028 -
2016-12-01 17:22:11 +00:00
Jonas Maebe
a25ebbba3e
+ added volatility information to all memory references
...
o separate information for reading and writing, because e.g. in a
try-block, only the writes to local variables and parameters are
volatile (they have to be committed immediately in case the next
instruction causes an exception)
o for now, only references to absolute memory addresses are marked
as volatile
o the volatily information is (should be) properly maintained throughout
all code generators for all archictures with this patch
o no optimizers or other compiler infrastructure uses the volatility
information yet
o this functionality is not (yet) exposed at the language level, it
is only for internal code generator use right now
git-svn-id: trunk@34996 -
2016-11-27 18:17:37 +00:00
marcus
3207a346e1
AROS: arm needs AROS_FLAVOUR_BINCOMPAT defines
...
git-svn-id: trunk@34895 -
2016-11-13 21:05:12 +00:00
marcus
86940dfb32
AROS: added arm-aros target to compiler and fpcmake
...
git-svn-id: trunk@34805 -
2016-11-06 10:51:45 +00:00
Károly Balogh
b8e1151eed
atari: add tf_requires_proper_alignment to the atari target
...
git-svn-id: trunk@34703 -
2016-10-09 22:56:23 +00:00
Károly Balogh
311f6dbf84
atari: fixed exe extension typo.
...
git-svn-id: trunk@34603 -
2016-10-03 04:06:04 +00:00
Károly Balogh
8d56d60d78
atari: added an external linker implementation, supporting GNU LD and VLink in theory. however the GNU LD version I have segfaults when I try to link the executable...
...
git-svn-id: trunk@34602 -
2016-10-03 03:54:56 +00:00
yury
c29c5571b8
* android: Fixed AV during linking when JNI_OnLoad is located in a non-main unit.
...
git-svn-id: trunk@34553 -
2016-09-22 07:40:51 +00:00
yury
a0d6873331
* android: Android versions prior to 4.1 do not support recursive dlopen() calls.
...
Therefore if a shared library is loaded by JVM ( using dlopen() ),
it is not possible to use dlopen() in a units initialization code -
dlopen() simply hangs.
To workaround this issue, if a library exports JNI_OnLoad(), then
no unit initialization is performed during library load.
The initialization is called when JVM has loaded the library and calls
JNI_OnLoad().
git-svn-id: trunk@34406 -
2016-09-01 23:22:41 +00:00
florian
f274e316fe
+ search /usr/lib/powerpc-linux-gnu for powerpc startup files
...
git-svn-id: trunk@34365 -
2016-08-22 10:01:47 +00:00
svenbarth
2808be3e20
+ add and use sysinit unit for Win64 (only one since we don't support cygwin and gprof there)
...
* switch Win64 to indirect entry information
git-svn-id: trunk@34307 -
2016-08-13 19:10:27 +00:00
Jonas Maebe
aa1be3276f
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
...
it was AT_NONE, which is invalid and should never be used
* explicitly pass the correct value for all calls to those methods elsewhere
in the compiler
git-svn-id: trunk@34250 -
2016-08-05 07:09:16 +00:00
Jeppe Johansen
6a1c1e4f29
Added support for NRF52832 controllers.
...
git-svn-id: trunk@34170 -
2016-07-22 10:01:10 +00:00
Jonas Maebe
1cb8c0d00c
* specify the def of assembler level symbols defined via
...
tasmdata.DefineAsmSymbol() and all routines that call it
o will be used to automatically generate AB_INDIRECT sybols when
necessary
git-svn-id: trunk@34164 -
2016-07-20 20:52:59 +00:00
Jonas Maebe
53ace5b489
- removed disabled exportlib override code
...
git-svn-id: trunk@34163 -
2016-07-20 20:52:55 +00:00
pierre
e68b8467b6
Use 'debug watcom all' if -g, without dwarf option is used
...
git-svn-id: trunk@34077 -
2016-07-06 06:13:08 +00:00
pierre
fba50767b3
Add SUPPORT_OMF conditional to be able to test OMF for win32/win64 targets, not working for now
...
git-svn-id: trunk@34076 -
2016-07-06 06:08:01 +00:00