summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-06-26 14:31:24 +0200
committerLudovic Courtès <ludo@gnu.org>2013-06-26 14:31:24 +0200
commitc8fa51f2d6dd8ab9157f8c87b909f73b956371d1 (patch)
tree1c1112491e0da4141c7b5ad63a0375fd4dcf3efc
parent9306d350b2ab911cdebf82cf79c23df2c57b2a10 (diff)
downloadguix-c8fa51f2d6dd8ab9157f8c87b909f73b956371d1.tar.gz
gnu: cross-base: Build Binutils with `--with-sysroot=/'.
* gnu/packages/cross-base.scm (cross-binutils): Use `--with-sysroot=/'.
-rw-r--r--gnu/packages/cross-base.scm9
1 files changed, 7 insertions, 2 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 4cfbbba234..e6a8a1b550 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -56,8 +56,13 @@
                         ;; library.  This works because as a side effect
                         ;; `genscripts.sh' sets `USE_LIBPATH=yes', which tells
                         ;; elf32.em to use DT_RUNPATH in its search list.
-                        `(cons "--with-sysroot=/no-such-path"
-                               ,flags)))))))
+                        ;; See <http://sourceware.org/ml/binutils/2013-05/msg00312.html>.
+                        ;;
+                        ;; In theory choosing / as the sysroot could lead ld
+                        ;; to pick up native libs instead of target ones.  In
+                        ;; practice the RUNPATH of target libs only refers to
+                        ;; target libs, not native libs, so this is safe.
+                        `(cons "--with-sysroot=/" ,flags)))))))
     (cross binutils target)))
 
 (define* (cross-gcc target