1
0
Fork
You've already forked libpatch
0
No description
  • Scheme 45.9%
  • C 42.1%
  • Roff 5.5%
  • C++ 4.4%
  • Assembly 2.1%
Find a file
Olivier Dion f47b853262 tests: Remove test-count to test-begin
This is a bug introduced in Guile 3.0.11. Just remove them.
Signed-off-by: Olivier Dion <odion@efficios.com>
2026年03月25日 12:34:56 -04:00
.builds builds: Bump libolx version 2025年08月21日 12:11:37 -04:00
.guix benchmark: Add frida-gum 2026年03月13日 13:30:05 -04:00
aux Refactor build system 2024年12月19日 16:37:25 -05:00
benchmarks latency: Use absolute timer for better resolution 2026年03月18日 11:52:35 -04:00
doc/man API: New patch_dump_to_file function 2025年09月02日 15:20:44 -04:00
examples API: Add patch attributes 2024年03月20日 20:17:06 -04:00
include API: New patch_dump_to_file function 2025年09月02日 15:20:44 -04:00
LICENSES LICENSE: Clean it 2023年08月25日 13:16:54 -04:00
project benchmark: Add frida-gum 2026年03月13日 13:30:05 -04:00
scripts latency: Use absolute timer for better resolution 2026年03月18日 11:52:35 -04:00
src Fix coverage benchmark 2026年01月08日 09:47:50 -05:00
tests tests: Remove test-count to test-begin 2026年03月25日 12:34:56 -04:00
.dir-locals.el Cleanup guix environment stuff 2026年01月07日 09:38:15 -05:00
.envrc Cleanup guix environment stuff 2026年01月07日 09:38:15 -05:00
.gitattributes gitattributes: Add diff type for Scheme 2023年09月29日 22:03:54 -04:00
.gitignore Refactor build system 2024年12月19日 16:37:25 -05:00
.lsan-suppress.txt Fix support for ASAN/UBSAN/TSAN 2023年07月11日 21:44:33 -04:00
.mailmap Refactor project layout 2024年11月05日 15:16:48 -05:00
CodingStyle CodingStyle: Update it 2024年01月18日 21:22:01 -05:00
configure benchmark: Add frida-gum 2026年03月13日 13:30:05 -04:00
CONTRIBUTING.md CONTRIBUTING: Fix typo 2023年08月25日 13:18:10 -04:00
dev-env dev-env: Remove gcc@14 2026年01月07日 09:47:28 -05:00
LICENSE LICENSE: Clean it 2023年08月25日 13:16:54 -04:00
NOTES.org NOTES: Document possibilities for better coverage 2024年01月30日 16:39:15 -05:00
README README.md: Use markdown instead of org-mode 2022年03月09日 13:15:20 -05:00
README.md Support Fedora 2024年02月07日 15:30:13 -05:00
TODO.org TODO: Add optimization for OLX buffers 2025年08月21日 12:35:44 -04:00

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.