Merge pull request #65002 from matthewbauer/binfmt-wasm

Add binfmt interpreter for wasm
This commit is contained in:
Matthew Bauer 2019-08-09 14:04:21 -04:00 committed by GitHub
commit ddf38a8241
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 0 deletions

View File

@ -33,6 +33,15 @@
PHP 7.1 is no longer supported due to upstream not supporting this version for the entire lifecycle of the 19.09 release. PHP 7.1 is no longer supported due to upstream not supporting this version for the entire lifecycle of the 19.09 release.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The binfmt module is now easier to use. Additional systems can
be added through <option>boot.binfmt.emulatedSystems</option>.
For instance, <literal>boot.binfmt.emulatedSystems = [
"wasm32-wasi" "x86_64-windows" "aarch64-linux" ];</literal> will
set up binfmt interpreters for each of those listed systems.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>

View File

@ -115,6 +115,14 @@ let
magicOrExtension = ''\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00''; magicOrExtension = ''\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00'';
mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff''; mask = ''\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'';
}; };
wasm32-wasi = {
magicOrExtension = ''\x00asm'';
mask = ''\xff\xff\xff\xff'';
};
wasm64-wasi = {
magicOrExtension = ''\x00asm'';
mask = ''\xff\xff\xff\xff'';
};
x86_64-windows = { x86_64-windows = {
magicOrExtension = ".exe"; magicOrExtension = ".exe";
recognitionType = "extension"; recognitionType = "extension";
@ -226,6 +234,7 @@ in {
emulatedSystems = mkOption { emulatedSystems = mkOption {
default = []; default = [];
example = [ "wasm32-wasi" "x86_64-windows" "aarch64-linux" ];
description = '' description = ''
List of systems to emulate. Will also configure Nix to List of systems to emulate. Will also configure Nix to
support your new systems. support your new systems.