Commit Graph

65691 Commits

Author SHA1 Message Date
Nikolay Nikolov
4144f8d93a * apply the same alignment parameters to wasm32-embedded as wasm32-wasi 2022-07-15 17:06:47 +03:00
Nikolay Nikolov
dba189f4af + show a "linking" message before invoking the linker for the wasm32-embedded target 2022-07-15 16:09:52 +03:00
Nikolay Nikolov
46dcd4da76 - removed debug writeln when calling the linker for the wasm32-embedded target 2022-07-15 16:07:16 +03:00
Nikolay Nikolov
b6c4592513 + allow specifying custom extra linker options for the wasm32-wasi target 2022-07-15 16:06:03 +03:00
Nikolay Nikolov
ad35fc82af + allow specifying custom extra linker options for the wasm32-embedded target 2022-07-15 16:04:01 +03:00
Nikolay Nikolov
ec9c81e77e * use current_module.sharedlibfilename instead of current_module.exefilename, when linking a library for the wasm32-embedded target 2022-07-15 15:59:34 +03:00
Nikolay Nikolov
9dfda963a3 + allow creating a linker map file, when compiling for the wasm32-embedded target 2022-07-15 15:57:23 +03:00
Nikolay Nikolov
078aa5d046 + pass '-m wasm32' to the linker, when compiling for the wasm32-embedded target 2022-07-15 15:53:55 +03:00
Nikolay Nikolov
1bbd16d1b7 + allow setting the stack size for the wasm32-embedded target 2022-07-15 15:53:13 +03:00
Nikolay Nikolov
8aee781950 * set the stack size to 64kb and stack align to 16 bytes for the wasm32-embedded target 2022-07-15 15:51:00 +03:00
Nikolay Nikolov
7cef39657f * stack alignment on the WASI platform is 16 bytes 2022-07-15 10:52:50 +03:00
florian
30f5558bf2 * patch by Rika: optimize TStringHelper.StartsWith / EndsWith, resolves #39706 2022-07-14 22:38:07 +02:00
Nikolay Nikolov
4e3c170ad4 + allow changing the stack size for the WASI platform 2022-07-14 20:57:11 +03:00
Nikolay Nikolov
c910ec814c * set the default stack size for the WASI platform to 65536 bytes (this is the
default, used by the linker)
2022-07-14 20:56:11 +03:00
Nikolay Nikolov
db980a5d18 + add the "-m wasm32" parameter to the linker, when linking for the WASI
target. No idea if it does anything, but is passed to the linker by the
  official WASI SDK, so it shouldn't hurt.
2022-07-14 20:29:41 +03:00
Nikolay Nikolov
e3139fea21 + setup a thread manager (functions are still not yet implemented), when the WASI RTL is compiled with multithreading support 2022-07-14 05:14:20 +03:00
Nikolay Nikolov
b900be6142 + added WebAssembly intrinsics for reading __tls_size, __tls_align and __tls_base 2022-07-14 04:15:47 +03:00
Nikolay Nikolov
7475d22154 + declare the three magic global variables (__tls_size, __tls_align, __tls_base), created by the linker, when WebAssembly multithreading is enabled 2022-07-14 03:57:06 +03:00
Nikolay Nikolov
4db653998b + generate proper WebAssembly threadvar access when multithreading is turned on 2022-07-14 02:39:07 +03:00
Nikolay Nikolov
557e823734 + introduced trefaddr.addr_got_tls, to be used for generating WebAssembly threadvar access, when WASM multithreading is turned on 2022-07-14 00:28:03 +03:00
florian
d27c3b4b79 + test for #33559 2022-07-13 22:53:37 +02:00
Nikolay Nikolov
b821b9d502 + WebAssembly multithreading: also declare threadvar sections as TLS and prefix their name with '.tbss' when using the external assembler 2022-07-13 23:50:48 +03:00
Nikolay Nikolov
fa5575ea54 + prefix the threadvar sections with '.tbss' when WASM multithreading is enabled 2022-07-13 23:27:30 +03:00
Nikolay Nikolov
2606cef21f + set the TLS flag for threadvar sections when WASM threads are enabled 2022-07-13 23:19:48 +03:00
Nikolay Nikolov
eb8325300e + added WASM segment flag constants 2022-07-13 22:41:18 +03:00
Nikolay Nikolov
9859125c7b + added the WASM_SYM_TLS symbol flag constant 2022-07-13 22:39:29 +03:00
florian
8363c48863 * patch by rika: simplify tscannerfile.readstring, resolves #39835 2022-07-12 22:12:23 +02:00
Nikolay Nikolov
cf5feb0dca + support writing of 32-bit and 64-bit relocations in the REL object writer
for Z80. This fixes DWARF debug output and makes it behave consistently with
  the Z80 external assembler writer.
2022-07-12 19:16:23 +03:00
mattias
d9e156e90e webidl: wasmjob: error on passing not supported array as argument 2022-07-12 15:09:14 +02:00
florian
e25594c48e * correctly truncate rtti symbol names of enumeration types, resolves #39829 2022-07-11 22:07:57 +02:00
Michaël Van Canneyt
9d776f058e * Move fdbf back to private section 2022-07-11 18:03:32 +02:00
Frank Rademakers
9d4cdc9383 Additional Visual Foxpro functionality for TDbf. AutoInc fields work and can... 2022-07-11 15:57:30 +00:00
Luiz Américo Pereira Câmara
501f397277 fpexprpars: fix access violation when setting an expression after clear 2022-07-10 21:06:12 -03:00
J. Gareth "Curious Kit" Moreton
ef15d3d9ec * Fixed infinite loop when CONSTPROP is enabled
but USELOADMODIFYSTORE is not.
2022-07-10 21:15:26 +00:00
florian
6ea4ddd3d5 * deprecated warning fixed 2022-07-10 22:52:22 +02:00
Jonas Maebe
4193563190 LLVM address sanitizer: add asan library and rpath on Darwin
Also verified that "make all" works with asan on macOS/AArch64
2022-07-10 22:28:30 +02:00
Jonas Maebe
8c251db2c1 Darwin: fix compilation on macOS/AArch64 after 1f328cf3
No function suffixes there since there's no backward compatibility issue.
2022-07-10 22:28:30 +02:00
Joost van der Sluis
3385ce92a2 * Always generate CFI-information. During linking it can be omitted when
no debug-information is requested. On Linux this needed a change in the
   linker-script. On Windows it already works as desired. Other targets
   may need some adjustments as well.
2022-07-10 12:24:18 +02:00
florian
776c39dc0a + avr-embedded: keep fpc.* sections, should resolve #39825 2022-07-09 22:04:10 +02:00
mattias
bcb5365cca webidl: array arg pass as const 2022-07-08 10:25:44 +02:00
florian
f6b5c513bb * patch by Rika: makes #39786 work on more setups, resolves #39786 2022-07-07 23:00:47 +02:00
mattias
1aae90b294 webidl: wasmjob: array name 2022-07-07 09:42:50 +02:00
mattias
7486782674 webidl: wasmjob: started return type array 2022-07-07 09:42:50 +02:00
Jonas Maebe
7bad177139 msg files: regenerated 2022-07-06 22:26:13 +02:00
Jonas Maebe
403292a131 LLVM backend: address sanitizer support
Activate with -Clfsanitize=address. Only tested on Darwin/x86-64 for now.
2022-07-06 22:26:13 +02:00
Jonas Maebe
1ab6fc9a4b llvm: fix reading past end of data for some parameter references
Fixes false positives when using address sanitizer
2022-07-06 22:25:05 +02:00
Jonas Maebe
b2ea782eb4 agllvm: fix writing strings in metadata arrays
They were interpreted as part of larger strings
2022-07-06 22:25:05 +02:00
Jonas Maebe
a8352f3e99 ttai_typedconstbuilder: do not remove tcalo_vectorized_dead_strip_item
This was done because originally getting the finalized asmlist happend
through a single proc that either called the vectorized version or the
regular version depending on the presence of tcalo_vectorized_* flags.

Nowadays, calling either get_final_asmlist_vectorized_dead_strip or
get_final_asmlist happens directly as needed.

This flag will be used by the LLVM asmwriter to add appropriate
address sanitizer information.
2022-07-06 22:25:05 +02:00
Jonas Maebe
6dc47c71fb tstringconstnode.changestringtype: fix buffer overrun
Found by asan
2022-07-06 22:25:05 +02:00
Jonas Maebe
2ce3656ed3 x86 BuildInsTabMemRefSizeInfoCache: don't read past end of instab 2022-07-06 22:25:05 +02:00