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