summaryrefslogtreecommitdiff
path: root/gnu/packages/gcc.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gcc.scm')
-rw-r--r--gnu/packages/gcc.scm20
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"))