Now I'm getting to understand this linker a little better, I have a different problem.
Since I'm intending to supply a side module as a component, I'd like it to have a .wasm filename extension, just to make clear that it is not an ordinary .so shared library. I can link my deliverable side module, libpskernel.wasm, that way with no trouble. The problem shows when I try to link my test harness side module against it. This isn't a critical problem, but it would be very much preferable to solve it.
Here's the error:
wasm-ld: error: unable to find library -lpskernel
em++: error: '/sdl/prairie/tools/kernel_tools/webasm/emscripten/lx86/v6.0.10/emsdk/upstream/bin/wasm-ld -o libkid_support.wasm -Bdynamic --import-memory --shared-memory --export=__wasm_call_ctors --export=_emscripten_tls_init --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 --unresolved-symbols=import-dynamic -shared --no-export-dynamic --stack-first --extra-features=extended-const clu_stubs.o aga_fix.o dummy_kid_main.o ./lsp/lisp.o ./lsp/lsp_kid_main.o -soname=libkid_support.wasm /Parasolid/lx86/v390_webasm/system/release/kid_support.a -L/u/jgd/regimes/webasm -L/Parasolid/lx86/v390_webasm/system/base/shared_object -lpskernel /Parasolid/lx86/v390_webasm/system/release/kid_support.a -L/sdl/prairie/tools/kernel_tools/webasm/emscripten/lx86/v6.0.10/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/pic -L/sdl/prairie/tools/kernel_tools/webasm/emscripten/lx86/v6.0.10/emsdk/upstream/emscripten/src/lib /sdl/prairie/tools/kernel_tools/webasm/emscripten/lx86/v6.0.10/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/pic/crtbegin-mt.o --fatal-warnings -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -mllvm -exception-model=emscripten' failed (returned 1)
Warning: Error building libkid_support.wasm
Warning: failed to make libkid_support
It can't match up -lpskernel. However, I have libpskernel.wasm in the current directory:
webasm[9]> ls *.wasm
libpskernel.wasm*
webasm[10]> pwd
/u/jgd/regimes/webasm
Is there documentation for the underlying linker?
Thanks in advance,
John