CDMF:A Cross-ISA Data Morphing Framework to enable library ABI compatibility in static binary translation
we propose CDMF, a Cross-ISA Data Morphing Framework that automates the analysis pipeline to detect ISA-specific composite discrepancies in third party libraries and introduces an auto-fix methodology to achieve cross-ISA ABI compatibility.
- build and install the llvm and its subproject clang [https://github.com/llvm/llvm-project.git]
- build the CDMF
make allWe will illustrate how to get the result shown in paper in this section.
- install a tool to generate
compile_commands.jsonfromMakefile, for examplebear
apt install -y bear- since the host platform is x86, we should prepare cross-compile toolchain of other platforms(aarch64, riscv in this example)
- run the script
pipeline.shin directory example. After it has finished successfully, it will generate composite AST database and composite diff database - run shell script
src/AffactedFunction/run.sh, it will detect diff composite