diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2017-08-17 14:10:56 +0300 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2017-08-17 18:16:57 +0300 |
commit | aacefef22247f4fce1710ffe79e4765a4195a6a1 (patch) | |
tree | 56096daaf0d62f0fb5b876f71dbdbe0194315038 /gnu | |
parent | 721e1987d059a0041f547300969c323a03635e74 (diff) | |
download | patches-aacefef22247f4fce1710ffe79e4765a4195a6a1.tar patches-aacefef22247f4fce1710ffe79e4765a4195a6a1.tar.gz |
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.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/debug.scm | 23 |
1 files changed, 19 insertions, 4 deletions
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 <bavier@member.fsf.org> +;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; 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 |