summaryrefslogtreecommitdiff
path: root/gnu/packages/debug.scm
diff options
context:
space:
mode:
authorNguyễn Gia Phong <mcsinyx@disroot.org>2025-10-05 23:55:52 +0900
committer宋文武 <iyzsong@member.fsf.org>2025-11-22 13:39:08 +0800
commit6c965c460fb16fe805d4151bc1624dc2e18120d3 (patch)
tree1fe53240877071f849156daa2db651e0d8d91bec /gnu/packages/debug.scm
parentb9e5d234d9551dfb85f1c2c6f400b6ae93ddb559 (diff)
gnu: aflplusplus: Use qemu-for-aflplusplus.
* gnu/packages/debug.scm (aflplusplus) [inputs]: Replace qemu with qemu-for-aflplusplus. Closes: guix/guix#3319 Change-Id: I17f7f5eba5ac0ace54634dc2b8eecde4b3e19a6f Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
Diffstat (limited to 'gnu/packages/debug.scm')
-rw-r--r--gnu/packages/debug.scm18
1 files changed, 16 insertions, 2 deletions
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 6869436deb3..cf00e82cca0 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -639,10 +639,24 @@ server and embedded PowerPC, and S390 guests.")
(search-input-file inputs "bin/gcc")))
(("alt_cxx = \"g\\+\\+\";")
(format #f "alt_cxx = \"~a\";"
- (search-input-file inputs "bin/g++"))))))))))
+ (search-input-file inputs "bin/g++"))))))
+ (add-after 'build 'build-qasan
+ (lambda* (#:key parallel-build? make-flags #:allow-other-keys)
+ (apply invoke "make" "-C" "qemu_mode/libqasan"
+ "-j" (number->string (if parallel-build?
+ (parallel-job-count)
+ "1"))
+ make-flags)))
+ ;; afl-qemu-trace is a symbolic link to QEMU's binary.
+ ;; Substituting its source code with AFL++'s output path
+ ;; would result in a dependency cycle.
+ (add-after 'install-qemu 'wrap-qemu
+ (lambda _
+ (wrap-program (string-append #$output "/bin/afl-qemu-trace")
+ `("AFL_PATH" = (,(string-append #$output "/lib/afl"))))))))))
;; According to the Dockerfile, GCC 12 is producing compile errors for some
;; targets, so explicitly use GCC 11 here.
- (inputs (list gcc-11 gmp python qemu))
+ (inputs (list gcc-11 gmp python qemu-for-aflplusplus))
(native-inputs (list gcc-11))
(home-page "https://aflplus.plus/")
(description