Brussels / 3 & 4 February 2024


elfconv: AOT compiler that translates Linux/AArch64 ELF binary to LLVM bitcode targeting WebAssembly

WebAssembly (WASM) enables us to use sandbox environments on edge devices and servers as well as browsers so that we can distribute platform-independent and secure applications. Previously, we could compile from several programming languages to WASM binary, but cannot generate them if we cannot use original source codes. In this talk, Masashi will introduce "elfconv", an AOT compiler that translates Linux/AArch64 ELF binary into LLVM bitcode targeting WASM. This compiler generates an LLVM bitcode that translates every instruction of the original ELF binary based on remill (library for lifting machine code to LLVM IR) and uses emscripten to generate the WASM binary. we can execute the generated WASM binary using Wasm Runtime (e.g. Wasmedge, Wasmtime). This talk will describe the technical details (methods to translate to LLVM bitcode and emulate Linux syscall targeting WASM) of elfconv and the performance of translating and future perspectives. Repository URL :


Masashi Yoshimura