Some experiments around compiling the most used Dwarf information (ELF debug data) directly into assembly.
Go to file
Théophile Bastian fd8478552a (WIP) python scripts to generate csmith benchs
This is not working yet, and might well be an abandonned approach
2018-06-04 14:54:58 +02:00
benching (WIP) python scripts to generate csmith benchs 2018-06-04 14:54:58 +02:00
shared Move _fde_func_t typedef to shared .h 2018-04-27 11:05:34 +02:00
src [BREAKING CHANGE] Unwinding stops at the end 2018-05-16 16:51:01 +02:00
stack_walker Add a libunwind-powered stack_walker 2018-05-18 11:33:39 +02:00
stack_walker_libunwind Add a libunwind-powered stack_walker 2018-05-18 11:33:39 +02:00
tests Add a libunwind-powered stack_walker 2018-05-18 11:33:39 +02:00
.gitignore Add two csmith benching scripts 2018-05-18 11:39:01 +02:00
LICENSE Initial commit 2018-04-20 11:33:48 +02:00
Makefile Add python script to compile easily 2018-04-25 17:33:59 +02:00
README.md Add READMEs 2018-05-15 18:13:09 +02:00
__init__.py (WIP) python scripts to generate csmith benchs 2018-06-04 14:54:58 +02:00
compare_sizes.py Add .rodata to compare-sizes 2018-05-15 16:14:17 +02:00
extract_pc.py Refactor extract_pc 2018-05-11 13:09:58 +02:00
generate_eh_elf.py Refactor generate_eh_elf args handling 2018-06-04 13:57:21 +02:00
shared_python.py Refactor generate_eh_elf args handling 2018-06-04 13:57:21 +02:00

README.md

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:

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 by dwarf-assembly