summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/bootstrap.scm5
-rw-r--r--gnu/packages/cross-base.scm8
2 files changed, 5 insertions, 8 deletions
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index eaad45a741..86723a9591 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -131,7 +131,10 @@ check whether everything is alright."
(propagated-inputs (map rewritten-input
(package-propagated-inputs p)))))))
-(define* (glibc-dynamic-linker #:optional (system (%current-system)))
+(define* (glibc-dynamic-linker
+ #:optional (system (or (and=> (%current-target-system)
+ gnu-triplet->nix-system)
+ (%current-system))))
"Return the name of Glibc's dynamic linker for SYSTEM."
(cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2")
((string=? system "i686-linux") "/lib/ld-linux.so.2")
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index e6a8a1b550..68c321ee89 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -70,12 +70,6 @@
"Return a cross-compiler for TARGET, where TARGET is a GNU triplet. Use
XBINUTILS as the associated cross-Binutils. If LIBC is false, then build a
GCC that does not target a libc; otherwise, target that libc."
- (define args
- ;; Get the arguments as if we were building for TARGET. In particular, we
- ;; want `glibc-dynamic-linker' to return the right thing.
- (parameterize ((%current-system (gnu-triplet->nix-system target)))
- (package-arguments gcc-4.7)))
-
(package (inherit gcc-4.7)
(name (string-append "gcc-cross-"
(if libc "" "sans-libc-")
@@ -89,7 +83,7 @@ GCC that does not target a libc; otherwise, target that libc."
(srfi srfi-26))
#:patches (list (assoc-ref %build-inputs "patch/cross-env-vars"))
- ,@(substitute-keyword-arguments args
+ ,@(substitute-keyword-arguments (package-arguments gcc-4.7)
((#:configure-flags flags)
`(append (list ,(string-append "--target=" target)
,@(if libc