Skip to content

zhuowei/rplloader

Repository files navigation

Loader for RPL libraries on Linux.

Large part taken/inspired from Chromium/Android NDK's CrazyLinker.

This is intended to be a very simple loader of 32-bit ELF libraries that supports the compressed sections used in the RPL format, and ignore program headers in favour of section headers (RPL doesn't have any). One would cross-compile it for PowerPC and run in QEMU user mode to debug RPL binaries.

It's written in C++, uses some C++11 features, and uses CMake to compile.

For testing, this can also be used to load (but not apply relocations or execute, of course) other 32-bit ELF libraries, such as i386 ones.

Currently implemented:

  • Read executable header
  • Read section headers
  • Reserve address space
  • Read sections into memory with standard file IO

Todo:

  • Decompress sections
  • Map sections into memory with mmap if possible
  • apply relocations and imports
  • Do something about the RPL import/exports table (current plan is to ignore it)
  • provide dlsym

About

pointless RPL runtime loader for Linux

Resources

License

BSD-2-Clause, Unknown licenses found

Licenses found

BSD-2-Clause
LICENSE
Unknown
LICENSE.crazy_linker

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published