In the gcc package, the system-dependent paths to the dynamic linker get substituted before building, but only for Linux systems. This patch adds the substitution for GNU systems.

--
Marek.
>From 7ae53fd611dd78a8c185734dad268428a8b931a8 Mon Sep 17 00:00:00 2001
From: Marek Benc <dus...@gmx.com>
Date: Thu, 5 Feb 2015 17:12:54 +0100
Subject: [PATCH] gnu: gcc: Also substitute the dynamic linker name for GNU
 (ie. Hurd) systems.

* gnu/packages/gcc.scm (gcc-4.7): Also substitute the dynamic linker name for GNU (ie. Hurd) systems.

---
 gnu/packages/gcc.scm | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 0260158..271d277 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -186,6 +186,13 @@ where the OS part is overloaded to denote a specific ABI---into GCC
                            suffix
                            (string-append libc ,(glibc-dynamic-linker)))))
 
+                (substitute* (find-files "gcc/config"
+                                         "^gnu(64|-elf)?\\.h$")
+                  (("#define GNU_USER_DYNAMIC_LINKER([^ ]*).*$" _ suffix)
+                   (format #f "#define GNU_USER_DYNAMIC_LINKER~a \"~a\"~%"
+                           suffix
+                           (string-append libc ,(glibc-dynamic-linker)))))
+
                 ;; Tell where to find libstdc++, libc, and `?crt*.o', except
                 ;; `crt{begin,end}.o', which come with GCC.
                 (substitute* (find-files "gcc/config"
-- 
2.2.1

Reply via email to