guix-commits
[Top][All Lists]
Advanced

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

branch core-updates updated: gnu: gcc: Fix cross-compilation.


From: guix-commits
Subject: branch core-updates updated: gnu: gcc: Fix cross-compilation.
Date: Tue, 06 Jul 2021 02:52:17 -0400

This is an automated email from the git hooks/post-receive script.

civodul pushed a commit to branch core-updates
in repository guix.

The following commit(s) were added to refs/heads/core-updates by this push:
     new eeedb32  gnu: gcc: Fix cross-compilation.
eeedb32 is described below

commit eeedb328dadc215f332f5446bc9a34cd4c2789e7
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Tue Jul 6 08:50:31 2021 +0200

    gnu: gcc: Fix cross-compilation.
    
    This fixes cross-compilation of GCC, as in:
    
      guix build --target=aarch64-linux-gnu -e '(@ (gnu packages gcc) gcc-10)'
    
    * gnu/packages/gcc.scm (gcc-canadian-cross-objdump-snippet): New variable.
    (gcc-5)[source]: Use it instead of inline 'snippet'.
    (gcc-8)[source]: Add 'modules' and 'snippet'.
    (gcc-9)[source]: Likewise.
    (gcc-10)[source]: Likewise.
    (gcc-11)[source]: Likewise.
---
 gnu/packages/gcc.scm | 42 ++++++++++++++++++++++++++----------------
 1 file changed, 26 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index ba69101..35f7d9a 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic 
Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 
Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ricardo Wurmus 
<rekado@elephly.net>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
@@ -46,6 +46,7 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
+  #:use-module (guix gexp)
   #:use-module (guix utils)
   #:use-module (srfi srfi-1)
   #:use-module (ice-9 regex))
@@ -457,6 +458,17 @@ Go.  It also includes runtime support libraries for these 
languages.")
                              "environment variable `CPLUS_INCLUDE_PATH' 
changed to ~a~%"
                              (getenv "CPLUS_INCLUDE_PATH"))))))))))))
 
+(define gcc-canadian-cross-objdump-snippet
+  ;; Fix 'libcc1/configure' error when cross-compiling GCC.  Without that,
+  ;; 'libcc1/configure' wrongfully determines that '-rdynamic' support is
+  ;; missing because $gcc_cv_objdump is empty:
+  ;;
+  ;;   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67590
+  ;;   
http://cgit.openembedded.org/openembedded-core/commit/?id=f6e47aa9b12f9ab61530c40e0343f451699d9077
+  #~(substitute* "libcc1/configure"
+      (("\\$gcc_cv_objdump -T")
+       "$OBJDUMP_FOR_TARGET -T")))
+
 (define-public gcc-5
   ;; Note: GCC >= 5 ships with .info files but 'make install' fails to install
   ;; them in a VPATH build.
@@ -479,17 +491,7 @@ Go.  It also includes runtime support libraries for these 
languages.")
                                        "gcc-fix-texi2pod.patch"
                                        "gcc-5-hurd.patch"))
               (modules '((guix build utils)))
-              (snippet
-               ;; Fix 'libcc1/configure' error when cross-compiling GCC.
-               ;; Without that, 'libcc1/configure' wrongfully determines that
-               ;; '-rdynamic' support is missing because $gcc_cv_objdump is
-               ;; empty:
-               ;;
-               ;;   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67590
-               ;;   
http://cgit.openembedded.org/openembedded-core/commit/?id=f6e47aa9b12f9ab61530c40e0343f451699d9077
-               '(substitute* "libcc1/configure"
-                  (("\\$gcc_cv_objdump -T")
-                   "$OBJDUMP_FOR_TARGET -T")))))
+              (snippet gcc-canadian-cross-objdump-snippet)))
     (inputs
      `(;; GCC5 needs <isl/band.h> which is removed in later versions.
        ("isl" ,isl-0.18)
@@ -557,7 +559,9 @@ It also includes runtime support libraries for these 
languages.")))
                 "0l7d4m9jx124xsk6xardchgy2k5j5l2b15q322k31f0va4d8826k"))
               (patches (search-patches "gcc-8-strmov-store-file-names.patch"
                                        "gcc-5.0-libvtv-runpath.patch"
-                                       
"gcc-8-sort-libtool-find-output.patch"))))))
+                                       "gcc-8-sort-libtool-find-output.patch"))
+              (modules '((guix build utils)))
+              (snippet gcc-canadian-cross-objdump-snippet)))))
 
 (define-public gcc-9
   (package
@@ -572,7 +576,9 @@ It also includes runtime support libraries for these 
languages.")))
               "13l3p6g2krilaawbapmn9zmmrh3zdwc36mfr3msxfy038hps6pf9"))
             (patches (search-patches "gcc-9-strmov-store-file-names.patch"
                                      "gcc-9-asan-fix-limits-include.patch"
-                                     "gcc-5.0-libvtv-runpath.patch"))))))
+                                     "gcc-5.0-libvtv-runpath.patch"))
+            (modules '((guix build utils)))
+            (snippet gcc-canadian-cross-objdump-snippet)))))
 
 (define-public gcc-10
   (package
@@ -586,7 +592,9 @@ It also includes runtime support libraries for these 
languages.")))
              (base32
               "0i6378ig6h397zkhd7m4ccwjx5alvzrf2hm27p1pzwjhlv0h9x34"))
             (patches (search-patches "gcc-9-strmov-store-file-names.patch"
-                                     "gcc-5.0-libvtv-runpath.patch"))))))
+                                     "gcc-5.0-libvtv-runpath.patch"))
+            (modules '((guix build utils)))
+            (snippet gcc-canadian-cross-objdump-snippet)))))
 
 (define-public gcc-11
   (package
@@ -600,7 +608,9 @@ It also includes runtime support libraries for these 
languages.")))
              (base32
               "1pwxrjhsymv90xzh0x42cxfnmhjinf2lnrrf3hj5jq1rm2w6yjjc"))
             (patches (search-patches "gcc-9-strmov-store-file-names.patch"
-                                     "gcc-5.0-libvtv-runpath.patch"))))))
+                                     "gcc-5.0-libvtv-runpath.patch"))
+            (modules '((guix build utils)))
+            (snippet gcc-canadian-cross-objdump-snippet)))))
 
 ;; Note: When changing the default gcc version, update
 ;;       the gcc-toolchain-* definitions.



reply via email to

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