Commit Graph

1574 Commits

Author SHA1 Message Date
Nikolay Nikolov
b8db469c48 + WASI internal linker: simplify linker script generation for the .text, .rodata, .data and .bss sections via the use of ScriptAddGenericSections 2024-01-06 23:26:14 +02:00
Nikolay Nikolov
749688b3b0 + WASI internal linker: also add .debug_frame and .debug_str sections to the output binary 2024-01-06 23:24:26 +02:00
Nikolay Nikolov
49395f2b00 + WASI internal linker: add all object sections, starting with '.bss' to the .bss section 2024-01-06 23:22:25 +02:00
Nikolay Nikolov
995309c209 + add the debug sections in the WASI internal linker script file 2024-01-02 20:33:55 +02:00
Nikolay Nikolov
3c08ad4af5 + increased the default stack size of the WASI platform from 64 KB to 8 MB (like in i386-linux) 2024-01-02 18:38:22 +02:00
Pierre Muller
d83004dee1 Add emulation_opt settings for all four mips CPUs 2024-01-02 14:31:21 +01:00
Nikolay Nikolov
bbeb98aeef + wasm internal linker: put all wasm global symbols in separate sections,
called .wasm_globals.n_XXX. This allows section-based smartlinking to work on
  global symbols.
2024-01-01 19:06:24 +02:00
Nikolay Nikolov
ef796906e9 + wasm internal obj reader: add globals to a '.wasm_globals' object section 2024-01-01 18:03:02 +02:00
Nikolay Nikolov
2eae62a6e8 * define the __stack_pointer symbol in a different way, so it doesn't crash during linking 2024-01-01 17:54:59 +02:00
Nikolay Nikolov
1e89579766 + WASI internal linker: implemented GetCodeSize, GetDataSize and GetBssSize. 2024-01-01 15:32:28 +02:00
Nikolay Nikolov
b361b41a86 + webassembly internal linker: create separate exe sections for .rodata and .bss 2024-01-01 14:56:33 +02:00
Nikolay Nikolov
605740fd0a + create exe sections in the wasi internal linker script 2023-12-28 15:17:59 +02:00
Nikolay Nikolov
34445a912a * implementation of TInternalLinkerWasi.DefaultLinkScript. Create a script that reads all the object files. 2023-12-24 12:45:18 +02:00
Nikolay Nikolov
340499dd3a * override GetCodeSize, GetDataSize and GetBssSize in TInternalLinkerWasi to avoid crash 2023-12-24 12:38:52 +02:00
Nikolay Nikolov
0f8ecb73e7 * override and implement TInternalLinkerWasi.InitSysInitUnitName 2023-12-24 12:30:56 +02:00
Nikolay Nikolov
7879387861 * enable the WASM internal linker, in case the compiler is compiled with the ENABLE_WASM_INTERNAL_LINKER define 2023-12-24 12:22:59 +02:00
Nikolay Nikolov
790a58be52 + added ld_int_wasi constant. Register the WASI internal linker. 2023-12-24 12:18:15 +02:00
Karoly Balogh
b81b818a75 human68k: set default stack size to 16KiB 2023-12-03 12:14:22 +01:00
Pierre Muller
34ae77bd3b Improve GNU linker call for m68k-human68k target
+ Add '-b xfile' option
  + Add '-m human68kxfile' option
  + Add $GCSECTIONS and set GCSectionStr for GNU linker
2023-12-01 22:51:03 +01:00
Karoly Balogh
a398da4c72 human68k: fix xecutable generation 2023-11-30 23:43:27 +00:00
Karoly Balogh
4a1db1dc79 m68k: initial compiler changes for Human68k (Sharp X68000) support 2023-11-30 23:43:27 +00:00
Pierre Muller
429d2cdf12 Call FindUtil for ld or nlmconv utils at linking stage, not before 2023-11-23 20:54:30 +01:00
Nikolay Nikolov
5a61f51b3c + added TWasmExeOutput class (not implemented, yet) 2023-11-17 00:12:18 +02:00
Nikolay Nikolov
ddac127347 + added TInternalLinkerWasi class (not fully implemented, yet) 2023-11-17 00:08:42 +02:00
ccrause
652f21b656 RP2040 support based on modification by Michael Ring (https://github.com/michael-ring/freepascal). 2023-11-11 17:45:23 +00:00
Pierre Muller
4f7c289029 Change loongarch64 default dynamic linker directory according to gcc 2023-09-16 21:11:46 +00:00
ccrause
9440b17eea [AVR] Add command line options to selectively remove portions of the RTL startup code. 2023-08-15 21:33:58 +00:00
Pierre Muller
ffdb789a49 Fix syntax errors in make fullcycle 2023-08-11 02:31:43 -05:00
Pierre Muller
b8f8a1dd1f Cleanup TLinkerLinux.SetDefaultInfo method in t_linux unit 2023-08-10 22:08:26 +00:00
Pierre Muller
071ae41d24 Try to fix linker script for aarch64-win64 2023-08-10 22:08:26 +00:00
Pierre Muller
79d1fcd40d Introduce -XLL option for link using ld.lld linker 2023-07-19 19:00:30 +02:00
Nikolay Nikolov
8bd18fc6d3 Merge remote-tracking branch 'origin/main' into wasm_js_promise_integration 2023-06-17 17:11:23 +03:00
Nikolay Nikolov
2f1ccd6f2a + support 'promising last' exports 2023-06-16 11:00:19 +03:00
Pierre Muller
be0c92c65d Set default abi for riscv 32/64 embedded 2023-06-15 15:33:23 +00:00
Pierre Muller
f410d8a77c Set defualt riscv32 linux abi to abi_riscv_ipl32 2023-06-13 19:41:02 +00:00
Nikolay Nikolov
c67bcf0032 + introduced tcpuprocdef.add_promising_export 2023-06-13 11:57:23 +03:00
Nikolay Nikolov
601c8f9c8b * assert that any exported promising function is not synthetic 2023-06-13 11:44:10 +03:00
Nikolay Nikolov
c6b059ede6 * eo_promising renamed eo_promising_first 2023-06-13 11:42:15 +03:00
Nikolay Nikolov
15c95e0ac7 + initial implementation of WebAssembly promising exports 2023-06-11 16:43:45 +03:00
Pierre Muller
c1e2f557f1 Add '-b pei_aarch64' option for aarch64-win64 system 2023-05-26 11:15:55 +00:00
Pierre Muller
c6d936dc25 Use clang instead of as for AsBinStr for aarch64-win64 target 2023-05-22 13:27:48 +00:00
Pierre Muller
7c64bce04e Set defdynlinker depending on selected ABI for riscv32 and riscv64 2023-05-11 16:21:05 +00:00
Pierre Muller
4750840e89 Specify endianess and abi when calling xtensa linker 2023-05-11 01:02:04 +00:00
Pierre Muller
3855625b8d Add tf_use_psabieh for LLVM for x86_64-iphonesim, aarch64-ios and aarch64-iphonesim targets 2023-04-05 00:01:03 -05:00
Dmytro Bogatskyy
327aac7f24 Add aarch64-iphonesim target 2023-03-27 18:45:00 +00:00
florian
2b0317f400 * compilation fixed with -Oodfa 2023-03-14 23:10:32 +01:00
florian
30cb20bccd + riscv32-freertos: first version of TlinkerFreeRTOS.GenerateDefaultLinkerScripts 2023-03-14 22:22:01 +01:00
florian
708aaa7b97 * fix (hopefully) build without an ld.bfd variant 2023-03-02 22:56:23 +01:00
florian
40f23030dc * check if a linker with the postfix .bfd exists, if yes, use it, resolves #40175 2023-03-01 23:01:19 +01:00
florian
586a7d30ab * patch by ccrause: fixes another .fpc* section problem for AVR, resolves #40162 2023-02-20 22:48:15 +01:00