Skip to content

Latest commit

 

History

History
23 lines (19 loc) · 831 Bytes

README.md

File metadata and controls

23 lines (19 loc) · 831 Bytes

Goblin

GOBLIN - the Generally Ok Binary Linker and INterpreter

Goblin is a work-in-progress ELF binary linker and interpreter, written out of curiosity to see how far one could get about loading and dynamically linking ELF binaries in userspace. My aim with this project is to replace ld-linux (and a bit of the Linux loader) as much as possible in userspace.

Currently only supports x86_64 binaries.

Features:

  • full shared object path resolution (RPATH, RUNPATH, LD_LIBRARY_PATH, etc.) (except for /etc/ld.so.cache)
  • eager binding
  • lazy binding
  • ELF hash
  • GNU hash
  • statically linked executables
  • dynamically linked executables
  • statically linked glibc executables
  • dynamically linked glibc executables
  • static TLS support
  • dynamic TLS support
  • dlopen() support