Some experiments around compiling the most used Dwarf information (ELF debug data) directly into assembly.
benching | ||
env | ||
shared | ||
src | ||
stack_walker | ||
stack_walker_libunwind | ||
tests | ||
.gitignore | ||
compare_sizes.py | ||
extract_pc.py | ||
generate_eh_elf.py | ||
LICENSE | ||
Makefile | ||
README.md | ||
shared_python.py |
Dwarf Assembly
Some experiments around compiling the most used Dwarf informations (ELF debug data) directly into assembly.
This project is a big work in progress, don't expect anything to be stable for now.
Dependencies
As of now, this project relies on the following libraries:
- libelf
- libdwarf
- libdwarfpp, itself depending on
These libraries are expected to be installed somewhere your compiler can find them.
Scripts and directories
./generate_eh_elf.py
: generate.eh_elf.so
files for a binary (and its dependencies if required)./compare_sizes.py
: compare the sizes of the.eh_frame
of a binary (and its dependencies) with the sizes of the.text
of the generated ELFs../extract_pc.py
: extracts a list of valid program counters of an ELF and produce a file as read bydwarf-assembly