A elf32 loader in pure rust for osdev purposes
Find a file
2025-07-24 13:37:20 +02:00
examples examples/module: restrict generated units to 1 2025-02-03 02:38:57 +01:00
src Add data_slice to Elf32_Shdr and ElfSection 2025-07-24 12:18:44 +02:00
.gitignore Initial commit; release v0.1.0 2025-02-03 02:33:14 +01:00
Cargo.lock Initial commit; release v0.1.0 2025-02-03 02:33:14 +01:00
Cargo.toml Initial commit; release v0.1.0 2025-02-03 02:33:14 +01:00
LICENSE Initial commit; release v0.1.0 2025-02-03 02:33:14 +01:00
readme.md Update readme.md 2025-07-24 13:37:20 +02:00

elf32-loader

A crate that provides an way of loading elf32 files.

License

This project is licensed under AGPL3.0-or-later; for more details see the LICENSE file.

Usage

Note: this crate is an early version, any API may change in the future!

For examples on how to use this, please see the examples folder inside the repository.

Restrictions

  • Currently only the ET_REL type (relocateable) is supported

  • Elf file must be loaded fully into an memoryregion that is both writeable and executable! An example of loading a file this way can be found in examples/runner/src/main.rs inside the repository.

  • Only i386 / x86 relocations are supported for now.

  • The dynamic linker only supports R_386_32 and R_386_PC32 right now.