From 9e0b2869a3ecbb35eb9244db4352fe33a1513166 Mon Sep 17 00:00:00 2001 From: Nikolay Nikolov Date: Tue, 6 Aug 2024 07:07:41 +0300 Subject: [PATCH] * WebAssembly threads: disable stack checking for the FPCWasmThreadStartPascal procedure --- rtl/wasi/systhrd.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rtl/wasi/systhrd.inc b/rtl/wasi/systhrd.inc index 6501a84254..4caa5c0d29 100644 --- a/rtl/wasi/systhrd.inc +++ b/rtl/wasi/systhrd.inc @@ -322,6 +322,7 @@ procedure WasiAllocateThreadVars; forward; // Result:=tthreadfunc(RunFunction)(args); //end; +{$push}{$S-} // no stack checking for this procedure procedure FPCWasmThreadStartPascal(tid: longint; start_arg: PWasmThread); begin {$IFDEF DEBUGWASMTHREADS}DebugWriteln('FPCWasmThreadStartPascal(...)');{$ENDIF} @@ -344,6 +345,7 @@ begin {$IFDEF DEBUGWASMTHREADS}DebugWriteln('FPCWasmThreadStartPascal: Signaling end of thread');{$ENDIF} WasiRTLEventSetEvent(start_arg^.DoneEvent); end; +{$pop} procedure wasi_thread_start(tid: longint; start_arg: PWasmThread); assembler; nostackframe; asm