compress-elf is currently only able to translate very simple ELF executables. There are still issues with ambiguities between constants and addresses, and translated function addresses within ELF data segments.
Further investigation and potential compiler tuning to create a RISC-V target that can be statically translated. e.g. resolve static translation ambiguities using a well formed subset of RISC-V that can differentiate pointers vs integrals (LUI vs AUIPC), and resolve indirect call targets via symbol metadata. e.g. ELF debug symbols / DWARF.
This research into static translation will be feed into a future region or trace based dynamic translator.
compress-elf is currently only able to translate very simple ELF executables. There are still issues with ambiguities between constants and addresses, and translated function addresses within ELF data segments.
Further investigation and potential compiler tuning to create a RISC-V target that can be statically translated. e.g. resolve static translation ambiguities using a well formed subset of RISC-V that can differentiate pointers vs integrals (LUI vs AUIPC), and resolve indirect call targets via symbol metadata. e.g. ELF debug symbols / DWARF.
This research into static translation will be feed into a future region or trace based dynamic translator.