6833b056 — Olivier Dion 7 days ago
libpatch/x86-64: Fix restoration of rbx in handlers
f7941944 — Olivier Dion a month ago
libpatch: Fix return value when collision
a882a341 — Olivier Dion 3 months ago
tests/manpages: Add patch_attr* manpages



You can also use your local clone with git send-email.

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


Lightweight dynamic binary probe inserter. Can be used for dynamic binary instrumentation and other usages.

#Quick usage

See examples/tutorial.c.


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:


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.


  • capstone
  • liburcu
  • libdw (elfutils >= 0.158)


  • gcc >= 8 || clang >= 8
  • Guile 3
  • GNU Make
  • pkg-config


  • dyninst
  • gdb
  • git
  • guix
  • lcov
  • lttng-ust
  • perf


#Build system

Custom build system written in Guile. The build system mimics GNU auto-tools with the classic configure, make, make install.


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.


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.