Skip to content

Support building wasm backend using emscripten

Currently, our wasm backend only works if the target toolchain is wasi-sdk. Using emscripten as the target toolchain requires some extra patches, and it'll fail at link-time with certain unresolved symbol warnings, likely caused by some incoherent feature macros across the tree (e.g. asserting that certain functionality like POSIX signal doesn't exist on wasm32_HOST_ARCH, but also using HAVE_SIGNAL_H, when emscripten sysroot does provide it).

The main reason for adding emscripten support is for better sanitizer support. According to https://emscripten.org/docs/debugging/Sanitizers.html, emscripten supports UBSAN and ASAN, both may be useful when debugging the wasm backend.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information