aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/gcc.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2022-07-10 08:44:55 +0300
committerEfraim Flashner <efraim@flashner.co.il>2022-07-10 08:44:55 +0300
commit7476a910a1c044583a2cb50037761c294761f1ad (patch)
treeeb836f300de50600415e2a20d81934f3b6792d4c /gnu/packages/gcc.scm
parent1ed0283fcc12b4b48f5b61be026a7b832d9781dc (diff)
downloadguix-7476a910a1c044583a2cb50037761c294761f1ad.tar
guix-7476a910a1c044583a2cb50037761c294761f1ad.tar.gz
gnu: gcc: Patch gcc for riscv unconditionally.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: In custom 'pre-configure phase unconditionally remove STARTFILE_PREFIX_SPEC in all locations it may exist.
Diffstat (limited to 'gnu/packages/gcc.scm')
-rw-r--r--gnu/packages/gcc.scm12
1 files changed, 5 insertions, 7 deletions
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index c5d21b50d9..75ee094531 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -295,15 +295,13 @@ where the OS part is overloaded to denote a specific ABI---into GCC
(substitute* "gcc/config/aarch64/t-aarch64-linux"
(("lib64") "lib")))
- ;; TODO: Make this unconditional in core-updates.
;; The STARTFILE_PREFIX_SPEC prevents gcc from finding the
;; gcc:lib output, which causes ld to not find -lgcc_s.
- ,@(if (target-riscv64?)
- `((when (file-exists? "gcc/config/riscv")
- (substitute* "gcc/config/riscv/linux.h"
- (("define STARTFILE_PREFIX_SPEC")
- "define __STARTFILE_PREFIX_SPEC"))))
- '())
+ (when (file-exists? "gcc/config/riscv")
+ (substitute* '("gcc/config/riscv/linux.h"
+ "gcc/config/riscv/riscv.h") ; GCC < 10
+ (("define STARTFILE_PREFIX_SPEC")
+ "define __STARTFILE_PREFIX_SPEC")))
(when (file-exists? "libbacktrace")
;; GCC 4.8+ comes with libbacktrace. By default it builds