#elf #elf-file #parser #loaders #rv32i #alignment #elf32-littleriscv

elf-riscv32

为 elf32-littleriscv 定制的 ELF 解析器

1 个不稳定版本

0.0.1 2022年8月10日

27#elf-file

MIT 许可协议

23KB
587

包含 (ELF 可执行文件/库, 1KB) examples/test.elf

elf-riscv32

Get from crates.io Documentation on docs.rs

为 elf32-littleriscv 设计的无需标准库的快速 ELF 解析器。

elf_riscv32 = "0.0.1"

要求在内存中解析时对 ELF 文件进行对齐,因为它是在原地解析的。由于它旨在用于 rv32i 的操作系统加载器,因此尽量保持最小化。

let elf = Elf::new(&data).unwrap();
for section in elf.sections().unwrap() {
    let section = section.unwrap();
    println!("{} = {section:X?}", elf.section_name(&section).unwrap())
}
for program in elf.programs().unwrap() {
    let program = program.unwrap();
    println!("{program:X?}")
}

依赖项

~170–315KB