From b97f3a08edca89cf8444a5261eb6e5e0fd141303 Mon Sep 17 00:00:00 2001 From: Nikolay Nikolov Date: Sun, 11 Jun 2023 15:00:56 +0300 Subject: [PATCH] * since exporting webassembly globals doesn't yet work accross units, added a workaround by using property getters and setters --- rtl/wasi/system.pp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/rtl/wasi/system.pp b/rtl/wasi/system.pp index c0d4535e19..f138900f81 100644 --- a/rtl/wasi/system.pp +++ b/rtl/wasi/system.pp @@ -57,7 +57,12 @@ var argc: longint; argv: PPChar; envp: PPChar; - __fpc_wasm_suspender: WasmExternRef; section 'WebAssembly.Global'; + ___fpc_wasm_suspender: WasmExternRef; section 'WebAssembly.Global'; + +function __fpc_get_wasm_suspender: WasmExternRef; +procedure __fpc_set_wasm_suspender(v: WasmExternRef); + +property __fpc_wasm_suspender: WasmExternRef read __fpc_get_wasm_suspender write __fpc_set_wasm_suspender; implementation @@ -79,6 +84,16 @@ end; exports WasiAlloc,WasiFree; +function __fpc_get_wasm_suspender: WasmExternRef; +begin + result:=___fpc_wasm_suspender; +end; + +procedure __fpc_set_wasm_suspender(v: WasmExternRef); +begin + ___fpc_wasm_suspender:=v; +end; + function ConvertToFdRelativePath(path: RawByteString; out fd: LongInt; out relfd_path: RawByteString): Word; forward; function fpc_wasi_path_readlink_ansistring(