aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2017-08-17 14:10:56 +0300
committerEfraim Flashner <efraim@flashner.co.il>2017-08-17 18:16:57 +0300
commitaacefef22247f4fce1710ffe79e4765a4195a6a1 (patch)
tree56096daaf0d62f0fb5b876f71dbdbe0194315038 /gnu
parent721e1987d059a0041f547300969c323a03635e74 (diff)
downloadguix-aacefef22247f4fce1710ffe79e4765a4195a6a1.tar
guix-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.scm23
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