From aacefef22247f4fce1710ffe79e4765a4195a6a1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 17 Aug 2017 14:10:56 +0300 Subject: gnu: american-fuzzy-lop: Add support for non-Intel architectures. * gnu/packages/debug.scm (americal-fuzzy-lop): Add qemu target for non-Intel targets. [arguments]: On non-Intel systems, add phase to disable non-Intel architecture warning and remove incompatible binaries. --- gnu/packages/debug.scm | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'gnu/packages/debug.scm') diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index bde06f35b9..91fdcde048 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier +;;; Copyright © 2016, 2017 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -166,6 +167,9 @@ tools that process C/C++ code.") (%current-system)) ("x86_64-linux" "x86_64") ("i686-linux" "i386") + ("aarch64-linux" "aarch64") + ("armhf-linux" "arm") + ("mips64el-linux" "mips64el") ;; Prevent errors when querying this package on unsupported ;; platforms, e.g. when running "guix package --search=" (_ "UNSUPPORTED")))) @@ -234,6 +238,20 @@ tools that process C/C++ code.") "CC=gcc") #:phases (modify-phases %standard-phases (delete 'configure) + ,@(if (string=? (%current-system) (or "x86_64-linux" + "i686-linux")) + '() + '((add-before 'build 'set-afl-flag + (lambda _ (setenv "AFL_NO_X86" "1") #t)) + (add-after 'install 'remove-x86-programs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin/"))) + (delete-file (string-append bin "afl-gcc")) + (delete-file (string-append bin "afl-g++")) + (delete-file (string-append bin "afl-clang")) + (delete-file (string-append bin "afl-clang++"))) + #t)))) (add-after ;; TODO: Build and install the afl-llvm tool. 'install 'install-qemu @@ -243,10 +261,7 @@ tools that process C/C++ code.") (symlink (string-append qemu "/bin/qemu-" ,machine) (string-append out "/bin/afl-qemu-trace")) #t))) - (delete 'check)))) - (supported-systems (fold delete - %supported-systems - '("armhf-linux" "mips64el-linux"))) + (delete 'check)))) ; Tests are run during 'install phase. (home-page "http://lcamtuf.coredump.cx/afl") (synopsis "Security-oriented fuzzer") (description -- cgit v1.2.3