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>.
This commit is contained in:
parent
c8b44fc107
commit
33ae7d4385
|
@ -205,17 +205,18 @@ where the OS part is overloaded to denote a specific ABI---into GCC
|
||||||
(for-each
|
(for-each
|
||||||
(lambda (x)
|
(lambda (x)
|
||||||
(substitute* (find-files "gcc/config"
|
(substitute* (find-files "gcc/config"
|
||||||
"^linux(64|-elf|-eabi)?\\.h$")
|
"^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$")
|
||||||
(("(#define GLIBC_DYNAMIC_LINKER.*)\\\\\n$" _ line)
|
(("(#define (GLIBC|GNU_USER)_DYNAMIC_LINKER.*)\\\\\n$" _ line)
|
||||||
line)))
|
line)))
|
||||||
'(1 2 3))
|
'(1 2 3))
|
||||||
|
|
||||||
;; Fix the dynamic linker's file name.
|
;; Fix the dynamic linker's file name.
|
||||||
(substitute* (find-files "gcc/config"
|
(substitute* (find-files "gcc/config"
|
||||||
"^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$")
|
"^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$")
|
||||||
(("#define GLIBC_DYNAMIC_LINKER([^ ]*).*$" _ suffix)
|
(("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ ]*).*$"
|
||||||
(format #f "#define GLIBC_DYNAMIC_LINKER~a \"~a\"~%"
|
_ gnu-user suffix)
|
||||||
suffix
|
(format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%"
|
||||||
|
gnu-user suffix
|
||||||
(string-append libc ,(glibc-dynamic-linker)))))
|
(string-append libc ,(glibc-dynamic-linker)))))
|
||||||
|
|
||||||
;; Tell where to find libstdc++, libc, and `?crt*.o', except
|
;; Tell where to find libstdc++, libc, and `?crt*.o', except
|
||||||
|
|
Loading…
Reference in New Issue