diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2013-05-27 22:23:21 +0200 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2013-05-27 23:43:00 +0200 |
| commit | 47e74d6e9d7d3a5f72a2b67f1916a719c61c86f8 (patch) | |
| tree | b641b2ed6f21b339ea3cabe25fa7aad74c2421b6 /gnu | |
| parent | 4bfc4ea34961894cbe46eed6f2003bfd79646b3c (diff) | |
gnu: cross-binutils: Build with `--with-sysroot'.
This fixes resolution of DT_NEEDED entries in cross-built libraries.
For instance, if ltdl.so needs libdl.so and has it in its RUNPATH, then
libdl.so is searched for in the right place.
* gnu/packages/cross-base.scm (cross-binutils): Pass
`--with-sysroot=/no-such-path'.
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/packages/cross-base.scm | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 22878a20b07..5c46d00b201 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm | |||
| @@ -44,8 +44,21 @@ | |||
| 44 | `(cons ,(string-append "--target=" target) | 44 | `(cons ,(string-append "--target=" target) |
| 45 | ,flags)))))) | 45 | ,flags)))))) |
| 46 | 46 | ||
| 47 | (define cross-binutils | 47 | (define (cross-binutils target) |
| 48 | (cut cross binutils <>)) | 48 | "Return a cross-Binutils for TARGET." |
| 49 | (let ((binutils (package (inherit binutils) | ||
| 50 | (arguments | ||
| 51 | (substitute-keyword-arguments (package-arguments | ||
| 52 | binutils) | ||
| 53 | ((#:configure-flags flags) | ||
| 54 | ;; Build with `--with-sysroot' so that ld honors | ||
| 55 | ;; DT_RUNPATH entries when searching for a needed | ||
| 56 | ;; library. This works because as a side effect | ||
| 57 | ;; `genscripts.sh' sets `USE_LIBPATH=yes', which tells | ||
| 58 | ;; elf32.em to use DT_RUNPATH in its search list. | ||
| 59 | `(cons "--with-sysroot=/no-such-path" | ||
| 60 | ,flags))))))) | ||
| 61 | (cross binutils target))) | ||
| 49 | 62 | ||
| 50 | (define* (cross-gcc target | 63 | (define* (cross-gcc target |
| 51 | #:optional (xbinutils (cross-binutils target)) libc) | 64 | #:optional (xbinutils (cross-binutils target)) libc) |
