This is the rust target I am interested in;
riscv32im-risc0-zkvm-elf
riscv32im-unknown-none-elf
#resources
https://github.com/0xPolygonHermez/zisk/tree/develop/riscv
The main uses of ELF are for;
The main terms you would be hearing in context of ELF are;
a. Sections
b. Segments
Each ELF file can coontain zero or more segment and zero or more sections.
Segements and sectios are two very different things, the most importatnt thing you need to note is that segements are exclusively used at runtime and section are exclusively used at link time.
Segment and section both represent data from the ELF file.
Structure of the ELF File
This is the crate I would like to use to handle the ELF parsing: https://github.com/cole14/rust-elf
Ended up making use of the ELF parser code implemented in the SP1 Succinct labs;
I would be implementing two classes of crates in this project;
Would be implementing only one binary crate which would be tasked to run the VM in debug mode printing each instruction in it disassembled format.
RUST implemenation of the project can be found here;
https://github.com/developeruche/riscv-emulator