[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/03: gnu: gcc: For riscv64-linux remove STARTFILE_PREFIX_SPEC.
From: |
guix-commits |
Subject: |
01/03: gnu: gcc: For riscv64-linux remove STARTFILE_PREFIX_SPEC. |
Date: |
Wed, 16 Mar 2022 06:20:11 -0400 (EDT) |
efraim pushed a commit to branch master
in repository guix.
commit 32f52f82b3206f27669ba89d0f6f657e3f389ec3
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Wed Mar 16 12:09:42 2022 +0200
gnu: gcc: For riscv64-linux remove STARTFILE_PREFIX_SPEC.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: When building for
riscv64-linux and the 'gcc/configure/riscv' directory exists adjust the
STARTFILE_PREFIX_SPEC so it doesn't do anything.
---
gnu/packages/gcc.scm | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index e00ecd947b..cd1635aff3 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -294,6 +294,16 @@ 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? "libbacktrace")
;; GCC 4.8+ comes with libbacktrace. By default it builds
;; with -Werror, which fails with a -Wcast-qual error in
glibc