diff options
| author | xReveres <pawel.ko@interia.pl> | 2022-02-21 22:40:45 +0100 |
|---|---|---|
| committer | Luuk de Gram <luuk@degram.dev> | 2022-02-23 08:57:20 +0100 |
| commit | b2805666a7ced0fd11ab7f25f7599d372e766c42 (patch) | |
| tree | cd0c1ce52ac46860254ec7a4009fcb0ebc27fbba /src/main.zig | |
| parent | 6fdcf1ad2d860120564f328535903c4c70e30a0d (diff) | |
| download | zig-b2805666a7ced0fd11ab7f25f7599d372e766c42.tar.gz zig-b2805666a7ced0fd11ab7f25f7599d372e766c42.zip | |
stage1-wasm: implement shared memory
Diffstat (limited to 'src/main.zig')
| -rw-r--r-- | src/main.zig | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main.zig b/src/main.zig index 6a85c92537..aafd0ecaae 100644 --- a/src/main.zig +++ b/src/main.zig @@ -438,6 +438,7 @@ const usage_build_generic = \\ --export-table (WebAssembly) export function table to the host environment \\ --initial-memory=[bytes] (WebAssembly) initial size of the linear memory \\ --max-memory=[bytes] (WebAssembly) maximum size of the linear memory + \\ --shared-memory (WebAssembly) use shared linear memory \\ --global-base=[addr] (WebAssembly) where to start to place global data \\ --export=[value] (WebAssembly) Force a symbol to be exported \\ @@ -635,6 +636,7 @@ fn buildOutputType( var linker_export_table: bool = false; var linker_initial_memory: ?u64 = null; var linker_max_memory: ?u64 = null; + var linker_shared_memory: bool = false; var linker_global_base: ?u64 = null; var linker_z_nodelete = false; var linker_z_notext = false; @@ -1207,6 +1209,8 @@ fn buildOutputType( linker_initial_memory = parseIntSuffix(arg, "--initial-memory=".len); } else if (mem.startsWith(u8, arg, "--max-memory=")) { linker_max_memory = parseIntSuffix(arg, "--max-memory=".len); + } else if (mem.startsWith(u8, arg, "--shared-memory")) { + linker_shared_memory = true; } else if (mem.startsWith(u8, arg, "--global-base=")) { linker_global_base = parseIntSuffix(arg, "--global-base=".len); } else if (mem.startsWith(u8, arg, "--export=")) { @@ -1623,6 +1627,8 @@ fn buildOutputType( linker_initial_memory = parseIntSuffix(arg, "--initial-memory=".len); } else if (mem.startsWith(u8, arg, "--max-memory=")) { linker_max_memory = parseIntSuffix(arg, "--max-memory=".len); + } else if (mem.startsWith(u8, arg, "--shared-memory")) { + linker_shared_memory = true; } else if (mem.startsWith(u8, arg, "--global-base=")) { linker_global_base = parseIntSuffix(arg, "--global-base=".len); } else if (mem.startsWith(u8, arg, "--export=")) { @@ -2620,6 +2626,7 @@ fn buildOutputType( .linker_export_table = linker_export_table, .linker_initial_memory = linker_initial_memory, .linker_max_memory = linker_max_memory, + .linker_shared_memory = linker_shared_memory, .linker_global_base = linker_global_base, .linker_export_symbol_names = linker_export_symbol_names.items, .linker_z_nodelete = linker_z_nodelete, |
