summary refs log tree commit diff
path: root/nix/libstore/local-store.hh
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-10-01 11:17:12 +0200
committerLudovic Courtès <ludo@gnu.org>2020-10-01 12:45:38 +0200
commit9556ac498fd648147ad7d3b52ec86202d0a8e171 (patch)
tree74b2029ab01c4bf58506817964cb39f6d48fc845 /nix/libstore/local-store.hh
parent905a2ff0c59d7d3701fc4c78190d4484ae833ff3 (diff)
downloadguix-9556ac498fd648147ad7d3b52ec86202d0a8e171.tar.gz
daemon: Try to execute derivation builders only for matching OS kernels.
Fixes <https://bugs.gnu.org/43668>.

Previously, guix-daemon would try to run GNU/Hurd executables on
GNU/Linux.  execve(2) would succeed, but the executable would
immediately crash.

This change prevents it from attempting to execute "i586-gnu" code on
"*-linux", while preserving the binfmt_misc-friendly behavior
implemented in commit 7bf2a70a4ffd976d50638d3b9f2ec409763157df.

* nix/libstore/build.cc (sameOperatingSystemKernel): New function.
(DerivationGoal::runChild): Call 'execve' only when
'sameOperatingSystemKernel' returns true.
Diffstat (limited to 'nix/libstore/local-store.hh')
0 files changed, 0 insertions, 0 deletions