Avatar
kateinoigakukun さんの PR を見ていて知りましたが,wasi-sdk-25 のバージョン以降の wasi-libc は THREAD_MODEL=single なら stub の pthread API を備えているのですね.そして Swift の wasm32-unknown-wasip1 ターゲット向けに入っている wasi-libc は THREAD_MODEL=single なので pthread API を使っていても問題なくコンパイルが通るのですね.残念ながら Swift 6.2 時点では wasi-sdk-24 だったので swiftlang/swift-cmark とか swiftlang/swift-syntax とかをこれ前提でリファクタリングするには時期が早そうですが,Swift 6.3 以降は wasi-sdk-25 以降になっているので,将来は Swift package で pthread がない wasm32-unknown-wasip1 ターゲットを想定した分岐を入れる必要がなくなってスッキリしそうですね. https://github.com/WebAssembly/wasi-libc/pull/518 (edited)
This patch series first starts with a number of commits stubbing out functions in the existing THREAD_model=posix code. According to "The Open Group Base Specifications Issue 7, 2018 editi...