From 6c9bb96bca6a2a7db7df9ae1f4dfe42a1cf16542 Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Wed, 3 Nov 2021 23:25:29 +0100 Subject: [PATCH] wasm: update wasi-libc dependency The latest version allows overriding the default CFLAGS. By default, they're `-O2 -DNDEBUG`, thus not including DWARF debug information. This commit changes this to include the `-g` flag. Apart from an improved debug experience, this lets -size=full attribute code to wasi-libc. Before: $ tinygo build -o test.wasm -size=full ./testdata/alias.go code rodata data bss | flash ram | package ------------------------------- | --------------- | ------- 1780 0 188 130733 | 1968 130921 | (unknown) 84 0 0 0 | 84 0 | internal/task 281 0 0 0 | 281 0 | main 2374 0 4 147 | 2378 151 | runtime ------------------------------- | --------------- | ------- 4519 0 192 130880 | 4711 131072 | total After: $ tinygo build -o test.wasm -size=full ./testdata/alias.go code rodata data bss | flash ram | package ------------------------------- | --------------- | ------- 40 0 188 130733 | 228 130921 | (unknown) 1740 0 0 0 | 1740 0 | C wasi-libc 84 0 0 0 | 84 0 | internal/task 281 0 0 0 | 281 0 | main 2374 0 4 147 | 2378 151 | runtime ------------------------------- | --------------- | ------- 4519 0 192 130880 | 4711 131072 | total The main difference here is the `(unknown)` code, which turns out to be mostly wasi-libc in this trivial example. --- Makefile | 2 +- lib/wasi-libc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 7fbfddcb..2f89585e 100644 --- a/Makefile +++ b/Makefile @@ -175,7 +175,7 @@ $(LLVM_BUILDDIR): $(LLVM_BUILDDIR)/build.ninja wasi-libc: lib/wasi-libc/sysroot/lib/wasm32-wasi/libc.a lib/wasi-libc/sysroot/lib/wasm32-wasi/libc.a: @if [ ! -e lib/wasi-libc/Makefile ]; then echo "Submodules have not been downloaded. Please download them using:\n git submodule update --init"; exit 1; fi - cd lib/wasi-libc && make -j4 WASM_CC=$(CLANG) WASM_AR=$(LLVM_AR) WASM_NM=$(LLVM_NM) + cd lib/wasi-libc && make -j4 WASM_CFLAGS="-O2 -g -DNDEBUG" WASM_CC=$(CLANG) WASM_AR=$(LLVM_AR) WASM_NM=$(LLVM_NM) # Build the Go compiler. diff --git a/lib/wasi-libc b/lib/wasi-libc index 215adc8a..ad513341 160000 --- a/lib/wasi-libc +++ b/lib/wasi-libc @@ -1 +1 @@ -Subproject commit 215adc8ac9f91eb055311acc72683fd2eb1ae15a +Subproject commit ad5133410f66b93a2381db5b542aad5e0964db96