Link failure with -sWASMFS -flto=thin
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 15/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- c, wasm
- 領域
- build-system
調査の方向性
The failure is a wasm-ld import module mismatch for __wasi_fd_sync, between the WASMFS syscalls.o in libwasmfs-debug.a (imported as env) and the fsync.o from the libc archive built under -flto=thin (imported as wasi_snapshot_preview1). Start by reproducing with the 4-line fsync/fdatasync program using emcc -sWASMFS -flto=thin, then compare against each flag alone. Done means the program links with both flags, and the import module for __wasi_fd_sync is consistent across the ThinLTO archives.
索引モデルが issue の本文から書いたものです。
説明
Version of emscripten/emsdk:
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 6.0.11 (a0014542110d6078c3a1a7941fa1ddb3a2281f16)
clang version 24.0.0git (https:/github.com/llvm/llvm-project f718ebe873411a562ef6e5c27da36d75b7aaec98)
Target: wasm32-unknown-emscripten
Thread model: posix
Failing command line in full:
Use the reproducer:
#include <unistd.h>
int main(int argc, char **argv) {
fsync(0);
fdatasync(0);
return 0;
}
Link with:
emcc -sWASMFS -flto=thin minimal.c -o minimal.js
Result:
wasm-ld: error: import module mismatch for symbol: __wasi_fd_sync
>>> defined as env in /home/paradust/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/thinlto/libwasmfs-debug.a(syscalls.o)
>>> defined as wasi_snapshot_preview1 in /home/paradust/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/thinlto/minimal.wasm.lto.libc-debug.a(fsync.o at 2366516).o
emcc: error: '/home/paradust/emsdk/upstream/bin/wasm-ld -o minimal.wasm /tmp/tmp_mszapyplibemscripten_js_symbols.so -Bstatic --strip-debug -u__cxa_atexit --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=wasmfs_flush --export=_emscripten_stack_alloc --export=setThrew --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1 /tmp/emscripten_temp_8xy2kcjf/minimal.o -L/home/paradust/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/thinlto -L/home/paradust/emsdk/upstream/emscripten/src/lib -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lclang_rt.builtins -lc++-debug-noexcept -lc++abi-debug-noexcept -lsockets -lwasmfs_no_fs -lwasmfs-debug -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr' failed (returned 1)
Omitting either flag results in a successful compile.
- 主要言語
- C++
- スター
- 27.8k
- フォーク
- 3.6k
- 平均マージ
- 1日 3時間
- マージ済み PR(30日)
- 179
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
emscripten-core/emscripten のほかの issue
-
`other.test_cmake_cxx_import_std` fails on CMake 3.30–4.0.2 due to missing `CMAKE_EXPERIMENTAL_CXX_IMPORT_STD` UUIDs対応中かも @subhaushsingh が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
emscripten-core/emscripten#28160 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
emscripten-core/emscripten#27994 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
LEGACY_GL_EMULATION: generated fixed-function fragment shaders use mediump — fp16 overflow where mediump is half precision対応中かも @TheTomBritton が 12 日前に担当しました。 オープンDesktop OpenGL emulation
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
emscripten-core/emscripten#27948 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
emscripten-core/emscripten#27906 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
run_python, run_python_compiler could readlink -f対応中かも @kapouer が 128 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
emscripten-core/emscripten#27211 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
emscripten-core/emscripten の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 65/100
-
[XLA] hlo/pass/README.md says passes implement Run; since the NVI change they implement RunImplオープン
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
NVIDIA-RTX/NRI#312 ·
メンテナーはふだん 1 日以内に返信
-
permute_q_b_proj / permute_wv_proj accept scale factors from another device対応中かも @0z5a が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
deepseek-ai/FlashMLA#247 ·
メンテナーはふだん 1 日以内に返信
-
Linux npm packaging leaves workspace files that block subsequent CI checkout対応中かも @Spockkk0225 が今日担当しました。 オープンci
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
alibaba/neug#1195 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信