- Scheme 45.9%
- C 42.1%
- Roff 5.5%
- C++ 4.4%
- Assembly 2.1%
Guix: builds.sr.ht status Debian: builds.sr.ht status Ubuntu: builds.sr.ht status Arch Linux: builds.sr.ht status Fedora Linux: builds.sr.ht status
libpatch
Lightweight dynamic binary probe inserter. Can be used for dynamic binary instrumentation and other usages.
Quick usage
See examples/tutorial.c.
Dependencies
If you're not using Guix, then here's the list of dependencies depending on your usage. However, if you are using Guix, simply do:
./dev-env
to have a shell setup for development.
For other distros, check under .builds to see if there is a list of package to
install for it.
Runtime
- capstone
- liburcu
- libdw (elfutils >= 0.158)
Compilation
- gcc >= 8 || clang >= 8
- Guile 3
- GNU Make
- pkg-config
Developments
- dyninst
- gdb
- git
- guix
- lcov
- lttng-ust
- perf
Workflow
Build system
Custom build system written in Guile. The build system mimics GNU auto-tools with
the classic configure, make, make install.
Emacs
The project can be compiled and tested from Emacs. If you're using the package
projectile, then you're good to go. If not, look at what .dir-locals.el does
and tweak it to your needs.
Other
If you're not using Emacs, then you can still use the scripts under scripts/.
Some of these scripts assume that you're using Guix. Others don't. However,
they all require Guile 3.0.8.