guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: gnu: american-fuzzy-lop: Add support for non-Intel architectures.


From: Efraim Flashner
Subject: 01/02: gnu: american-fuzzy-lop: Add support for non-Intel architectures.
Date: Thu, 17 Aug 2017 11:17:40 -0400 (EDT)

efraim pushed a commit to branch master
in repository guix.

commit aacefef22247f4fce1710ffe79e4765a4195a6a1
Author: Efraim Flashner <address@hidden>
Date:   Thu Aug 17 14:10:56 2017 +0300

    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(-)

diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index bde06f3..91fdcde 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 <address@hidden>
+;;; Copyright © 2016, 2017 Efraim Flashner <address@hidden>
 ;;;
 ;;; 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]