doc/build_wasm_app.md: Mention a glitch with LLVM 13 and later (#1255)

References:
https://reviews.llvm.org/D81689#3611504
https://github.com/WebAssembly/WASI/issues/471
This commit is contained in:
YAMAMOTO Takashi 2022-06-28 20:56:24 +09:00 committed by GitHub
parent 625d59191d
commit a67c1c1c01
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -160,6 +160,11 @@ Firstly if libc-builtin (-nostdlib) mode meets the requirements, e.g. there are
Most of the above methods are also available for libc-wasi mode, besides them, we can export malloc and free functions with `-Wl,--export=malloc -Wl,--export=free` option, so WAMR runtime will disable its app heap and call the malloc/free function exported to allocate/free the memory from/to the heap space managed by libc.
Note: wasm-ld from LLVM 13 and later automatically inserts dtor calls
for exported funtions. It breaks the malloc/free export mentioned above.
A workaround: Add `-Wl,--export=__wasm_call_ctors`, which happens to
prevent the automatic insertions for the current implementation.
## 3. Build wasm app with pthread support
Please ref to [pthread library](./pthread_library.md) for more details.