|
1 year ago | |
---|---|---|
Dependencies | 1 year ago | |
data/Fonts | 2 years ago | |
src | 1 year ago | |
test | 1 year ago | |
.gitignore | 2 years ago | |
.gitmodules | 1 year ago | |
Build.sh | 2 years ago | |
COPYING | 2 years ago | |
LICENSE | 2 years ago | |
ReadMe.org | 2 years ago | |
RunProfiler.sh | 2 years ago |
ReadMe.org
Linker Loader
Read the full introduction.
The goal of this library is to dynamically link and hot-load code from COFF and ELF files at runtime. The intent is to speed up iteration time by removing the whole-executable link step. This loader will make it possible to compile and load single functions rather than entire dynamic libraries, for example.
I was inspired by Hot Runtime Linking by Andreas Fredriksson (archive.org) and Naughty Dog's GOAL.
By controlling the linking and loading phases, I hope to make it easier to save "cores" of the entire application state (i.e., every static variable), show diagnostics on undefined/unused references, and a variety of other things.
I want to be able to load COFF and ELF files on either of the main platforms I support (Windows x64 and GNU/Linux x64), regardless of the sub-type of file:
-
.o
-
.obj
-
.lib
-
.so
-
.dll
-
.exe
-
ELF executable
This isn't intended to be shipped enabled for end-users, unless the application is supposed to be friendly to modification. I am making this as a tool primarily for applications in development.
Similar projects
-
Live++: "Live++ works at the binary level using .PDB, .EXE, .DLL, .LIB, and .OBJ directly. It extracts and reverses most of the needed information from executable and object files." Live++ has no GNU/Linux support.