diff options
Diffstat (limited to 'gnu/packages/gcc.scm')
-rw-r--r-- | gnu/packages/gcc.scm | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index c6b745298c..cefd6447cc 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2023 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2015-2018, 2020-2023 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015-2018, 2020-2024 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2020, 2022 Marius Bakke <marius@gnu.org> @@ -78,6 +78,9 @@ where the OS part is overloaded to denote a specific ABI---into GCC "--with-mode=thumb" "--with-fpu=neon")) + ((string-match "x86_64-linux-gnux32" target) + '("--with-abi=mx32")) + ((and (string-suffix? "-gnu" target) (not (string-contains target "-linux"))) ;; Cross-compilation of libcilkrts in GCC 5.5.0 to GNU/Hurd fails @@ -1168,6 +1171,21 @@ provides the GNU compiler for the Go programming language.") (substitute-keyword-arguments (package-arguments gccgo) ((#:phases phases) #~(modify-phases #$phases + #$@(if (version>=? (package-version gccgo) "12.0") + #~((add-after 'unpack 'adjust-libgo-dependencies + (lambda _ + (substitute* "Makefile.in" + ;; libgo.la depends on libbacktrace.la but the + ;; current dependency rules don't have libbacktrace + ;; building early enough for libgo. When built + ;; with more than 1 core this issue doesn't appear. + ;; see commit 5fee5ec362f7a243f459e6378fd49dfc89dc9fb5. + (("all-target-libgo: maybe-all-target-libffi") + (string-append + "all-target-libgo: maybe-all-target-libbacktrace\n" + "all-target-libgo: maybe-all-target-libffi\n" + "all-target-libgo: maybe-all-target-libatomic")))))) + #~()) (add-after 'install 'wrap-go-with-tool-path (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) |