I have observed that, when compiling rust code, if any of the underlying wasix-libc source uses __eqtf2, this will result in an imported function in the resulting wasm module called env.__eqtf2. __eqtf2 appears to be an internal LLVM function. This behaviour was observed when core_handler is included when compiling rust code. core_handler calls fprintf, which eventually calls printf_core, the body for which includes calls to __eqtf2. Note that the same code works when compiling C sources with clang.
The following functions, as found by @john-sharratt, can likely cause the same problem:
I have observed that, when compiling rust code, if any of the underlying
wasix-libc
source uses__eqtf2
, this will result in an imported function in the resulting wasm module calledenv.__eqtf2
.__eqtf2
appears to be an internal LLVM function. This behaviour was observed whencore_handler
is included when compiling rust code.core_handler
callsfprintf
, which eventually callsprintf_core
, the body for which includes calls to__eqtf2
. Note that the same code works when compiling C sources withclang
.The following functions, as found by @john-sharratt, can likely cause the same problem: