diff options
author | Marius Bakke <mbakke@fastmail.com> | 2018-06-11 23:52:15 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2018-06-11 23:52:15 +0200 |
commit | a032b4454b3fc67e11e9fc2d8c2345288065fa29 (patch) | |
tree | c208124b79dbd2224b68c52106aa72ff2ebfa7ab /nix/libstore | |
parent | b5724230fed2d043206df20d12a45bb962b7ee77 (diff) | |
parent | 6321ce42ab4d9ab788d858cb19bde4aa7a0e3ecc (diff) | |
download | patches-a032b4454b3fc67e11e9fc2d8c2345288065fa29.tar patches-a032b4454b3fc67e11e9fc2d8c2345288065fa29.tar.gz |
Merge branch 'master' into staging
Diffstat (limited to 'nix/libstore')
-rw-r--r-- | nix/libstore/build.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc index 34647e6774..c7f32494d0 100644 --- a/nix/libstore/build.cc +++ b/nix/libstore/build.cc @@ -1244,6 +1244,7 @@ static bool canBuildLocally(const string & platform) return platform == settings.thisSystem #if __linux__ || (platform == "i686-linux" && settings.thisSystem == "x86_64-linux") + || (platform == "armhf-linux" && settings.thisSystem == "aarch64-linux") #endif ; } @@ -2220,6 +2221,13 @@ void DerivationGoal::runChild() throw SysError("cannot set i686-linux personality"); } + if (drv.platform == "armhf-linux" && + (settings.thisSystem == "aarch64-linux" || + (!strcmp(utsbuf.sysname, "Linux") && !strcmp(utsbuf.machine, "aarch64")))) { + if (personality(PER_LINUX32) == -1) + throw SysError("cannot set armhf-linux personality"); + } + /* Impersonate a Linux 2.6 machine to get some determinism in builds that depend on the kernel version. */ if ((drv.platform == "i686-linux" || drv.platform == "x86_64-linux") && settings.impersonateLinux26) { |