From ad30085b93542490a4b24bf3b934aafcf1208243 Mon Sep 17 00:00:00 2001 From: deadprogram Date: Thu, 15 Feb 2024 18:46:24 +0100 Subject: [PATCH] targets/wasm_unknown: use proper defaults for GC Signed-off-by: deadprogram --- GNUmakefile | 2 +- src/runtime/runtime_wasm_unknown.go | 2 +- targets/wasm-unknown.json | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index 9df6c41a..e2a34a55 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -773,7 +773,7 @@ endif ifneq ($(WASM), 0) $(TINYGO) build -size short -o wasm.wasm -target=wasm examples/wasm/export $(TINYGO) build -size short -o wasm.wasm -target=wasm examples/wasm/main - $(TINYGO) build -size short -o wasm.wasm -target=wasm-unknown -gc=leaking -no-debug examples/hello-wasm-unknown + $(TINYGO) build -size short -o wasm.wasm -target=wasm-unknown examples/hello-wasm-unknown endif # test various compiler flags $(TINYGO) build -size short -o test.hex -target=pca10040 -gc=none -scheduler=none examples/blinky1 diff --git a/src/runtime/runtime_wasm_unknown.go b/src/runtime/runtime_wasm_unknown.go index 5ba83211..2d1ef9cc 100644 --- a/src/runtime/runtime_wasm_unknown.go +++ b/src/runtime/runtime_wasm_unknown.go @@ -16,7 +16,7 @@ func _start() { // These need to be initialized early so that the heap can be initialized. heapStart = uintptr(unsafe.Pointer(&heapStartSymbol)) heapEnd = uintptr(wasm_memory_size(0) * wasmPageSize) - run() + initAll() } func init() { diff --git a/targets/wasm-unknown.json b/targets/wasm-unknown.json index aefc6047..903afa49 100644 --- a/targets/wasm-unknown.json +++ b/targets/wasm-unknown.json @@ -1,13 +1,14 @@ { "llvm-target": "wasm32-unknown-unknown", "cpu": "generic", - "features": "+mutable-globals,+nontrapping-fptoint,+sign-ext", + "features": "+mutable-globals,+nontrapping-fptoint,+sign-ext,-bulk-memory", "build-tags": ["tinygo.wasm", "wasm_unknown"], "goos": "linux", "goarch": "arm", "linker": "wasm-ld", "rtlib": "compiler-rt", "scheduler": "none", + "gc": "leaking", "default-stack-size": 4096, "cflags": [ "-mno-bulk-memory", @@ -15,6 +16,7 @@ "-msign-ext" ], "ldflags": [ + "--stack-first", "--no-demangle", "--no-entry", "--import-memory"