From 6c965c460fb16fe805d4151bc1624dc2e18120d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Gia=20Phong?= Date: Sun, 5 Oct 2025 23:55:52 +0900 Subject: [PATCH] gnu: aflplusplus: Use qemu-for-aflplusplus. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/debug.scm (aflplusplus) [inputs]: Replace qemu with qemu-for-aflplusplus. Closes: guix/guix#3319 Change-Id: I17f7f5eba5ac0ace54634dc2b8eecde4b3e19a6f Signed-off-by: 宋文武 --- gnu/packages/debug.scm | 18 ++++++++++++++++-- 1 file 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