Explorar el Código

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
YAMAMOTO Takashi hace 3 años
padre
commit
a67c1c1c01
Se han modificado 1 ficheros con 5 adiciones y 0 borrados
  1. 5 0
      doc/build_wasm_app.md

+ 5 - 0
doc/build_wasm_app.md

@@ -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.