diff options
author | Ludovic Courtès <ludo@gnu.org> | 2017-01-22 13:11:45 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-01-22 13:13:36 +0100 |
commit | 33ae7d43854d8e36f29892015d4ee172c7f518f6 (patch) | |
tree | 9a667f0260dcce1ab3b0b597335c73f8e8263350 /gnu/packages | |
parent | c8b44fc10717a106b305d66e95ea27d1a3be45f5 (diff) | |
download | gnu-guix-33ae7d43854d8e36f29892015d4ee172c7f518f6.tar gnu-guix-33ae7d43854d8e36f29892015d4ee172c7f518f6.tar.gz |
gnu: gcc: Properly set the dynamic linker file name on GNU/Hurd.
* gnu/packages/gcc.scm (gcc-4.7)[arguments]: In 'pre-configure' phase,
match 'GNU_USER_DYNAMIC_LINKER' in addition to 'GLIBC_DYNAMIC_LINKER'.
This fixes GNU/Hurd cross-compilation as reported at
<https://lists.gnu.org/archive/html/guix-devel/2017-01/msg01731.html>.
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/gcc.scm | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 206c67ed99..0cdef6dec9 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -205,17 +205,18 @@ where the OS part is overloaded to denote a specific ABI---into GCC (for-each (lambda (x) (substitute* (find-files "gcc/config" - "^linux(64|-elf|-eabi)?\\.h$") - (("(#define GLIBC_DYNAMIC_LINKER.*)\\\\\n$" _ line) + "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$") + (("(#define (GLIBC|GNU_USER)_DYNAMIC_LINKER.*)\\\\\n$" _ line) line))) '(1 2 3)) ;; Fix the dynamic linker's file name. (substitute* (find-files "gcc/config" "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$") - (("#define GLIBC_DYNAMIC_LINKER([^ ]*).*$" _ suffix) - (format #f "#define GLIBC_DYNAMIC_LINKER~a \"~a\"~%" - suffix + (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ ]*).*$" + _ gnu-user suffix) + (format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%" + gnu-user suffix (string-append libc ,(glibc-dynamic-linker))))) ;; Tell where to find libstdc++, libc, and `?crt*.o', except |