#elf #loader #unix

no-std elf_loader

A lightweight, extensible, and high-performance library for loading ELF files

1 unstable release

new 0.1.0 Nov 17, 2024

#276 in Embedded development

Download history 85/week @ 2024-11-13

85 downloads per month
Used in dlopen-rs

Apache-2.0

92KB
2.5K SLoC

elf_loader

A lightweight, extensible, and high-performance library for loading ELF files.

Usage

It implements the general steps for loading ELF files and leaves extension interfaces, allowing users to implement their own customized loaders.

Example

mini-loader

This repository provides an example of a mini-loader implemented using elf_loader. The miniloader can load PIE files and currently only supports x86_64 .

Load ls:

$ cargo build --release -p mini-loader --target=x86_64-unknown-none
$ ./mini-loader /bin/ls

It should be noted that mini-loader must be compiled with the release parameter.

dlopen-rs

dlopen-rs is also implemented based on the elf_loader library. It implements the functionality of dlopen, allowing dynamic libraries to be opened at runtime.


lib.rs:

elf_loader

A lightweight, extensible, and high-performance library for loading ELF files.

Usage

It implements the general steps for loading ELF files and leaves extension interfaces, allowing users to implement their own customized loaders.

Example

This repository provides an example of a mini-loader implemented using elf_loader. The miniloader can load PIE files and currently only supports x86_64.

Dependencies

~550KB
~11K SLoC