fix(packaging): assemble compiler-rt's wasm stubs for wasm32
wasi-sdk's sysroot build hands its compiler-rt sub-build CMAKE_C_COMPILER_TARGET but nothing for the ASM language, so the two wasm/*.S stubs in the builtins (the setjmp/longjmp and C++ exception tags) were assembled for x86-64. wasm-ld warned on every wasm link that the archive members were neither Wasm objects nor bitcode, and anything that reaches those tags, which crafter-build's -wasm-enable-sjlj does, would fail to link. wasi-sdk's own toolchain never sees it because its clang defaults to wasm32-wasip1; the sysroot-only mode against a host clang does. A one-line patch adds CMAKE_ASM_COMPILER_TARGET to that sub-build; it belongs upstream. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
ff2e8c03a9
commit
a902b32938
2 changed files with 25 additions and 0 deletions
|
|
@ -154,6 +154,11 @@ modules:
|
|||
url: https://github.com/WebAssembly/wasi-sdk.git
|
||||
tag: wasi-sdk-34
|
||||
disable-submodules: true
|
||||
# The compiler-rt sub-build gets the C target but not the ASM target, so
|
||||
# its two wasm/*.S stubs come out as host objects when the driving clang
|
||||
# does not default to wasm32. Reported upstream; drop once wasi-sdk has it.
|
||||
- type: patch
|
||||
path: wasi-sdk-asm-target.patch
|
||||
- type: git
|
||||
url: https://github.com/WebAssembly/wasi-libc.git
|
||||
commit: 2e6fb9d8ee0cdf9e431fbcabe8af3115de000a13
|
||||
|
|
|
|||
Loading…
Reference in a new issue