aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/linux.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-06-06 17:19:18 +0200
committerMarius Bakke <mbakke@fastmail.com>2018-06-16 21:35:24 +0200
commitcdbcfc113bfc02e58bdf6ec42c545c479681602f (patch)
tree34abebc1683bb1d54bea3507fda63cbd4cf6ad00 /gnu/packages/linux.scm
parent38ab778fbd676fe7f7a84220d0cf7f474573dc2b (diff)
downloadgnu-guix-cdbcfc113bfc02e58bdf6ec42c545c479681602f.tar
gnu-guix-cdbcfc113bfc02e58bdf6ec42c545c479681602f.tar.gz
gnu: linux-libre: Fix build on AArch64.
* gnu/packages/patches/binutils-aarch64-symbol-relocation.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/base.scm (binutils/fixed): New public variable. * gnu/packages/linux.scm (make-linux-libre)[native-inputs]: On aarch64, define new ld-wrapper with the above binutils and use it.
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r--gnu/packages/linux.scm6
1 files changed, 6 insertions, 0 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 9938af99b8..4ed418d6a9 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -295,6 +295,12 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(or (%current-target-system) (%current-system)))
((or "x86_64" "i386")
`(("gcc" ,gcc-7)))
+ ("arm64"
+ ;; Work around a binutils 2.30 bug where some kernel symbols would
+ ;; be incorrectly marked as relocatable:
+ ;; <https://sourceware.org/bugzilla/show_bug.cgi?id=22764>.
+ `(("ld-wrapper" ,(make-ld-wrapper "ld-wrapper"
+ #:binutils binutils/fixed))))
(_
'()))
,@(match (and configuration-file