summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-07-17 03:31:28 -0400
committerMark H Weaver <mhw@netris.org>2015-07-17 03:31:28 -0400
commite12027179f136766609fb8dbc920f5705d62fc95 (patch)
treeb7186101339586de6f32d70a89ba6167cdec977f
parent2fdc68274282a0e6243c706ea6d97785be4ead3b (diff)
downloadguix-e12027179f136766609fb8dbc920f5705d62fc95.tar.gz
gnu: openssl: Work around GCC code generation bug on ARM with NEON.
* gnu/packages/tls.scm (openssl)[arguments]: When compiling natively for
  armhf, pass -mfpu=vfpv3 to ./config.
-rw-r--r--gnu/packages/tls.scm10
1 files changed, 8 insertions, 2 deletions
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 61a26ce662..090f64afaf 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -190,7 +190,7 @@ required structures.")
    (build-system gnu-build-system)
    (native-inputs `(("perl" ,perl)))
    (arguments
-    '(#:parallel-build? #f
+    `(#:parallel-build? #f
       #:parallel-tests? #f
       #:test-target "test"
       #:phases
@@ -202,7 +202,13 @@ required structures.")
             (system* "./config"
                      "shared"                   ; build shared libraries
                      "--libdir=lib"
-                     (string-append "--prefix=" out)))))
+                     (string-append "--prefix=" out)
+                     ;; XXX FIXME: Work around a code generation bug in GCC
+                     ;; 4.9.3 on ARM when compiled with -mfpu=neon.
+                     ,@(if (and (not (%current-target-system))
+                                (string-prefix? "armhf" (%current-system)))
+                           '("-mfpu=vfpv3")
+                           '())))))
        (alist-cons-before
         'patch-source-shebangs 'patch-tests
         (lambda* (#:key inputs native-inputs #:allow-other-keys)