Commit 86ed96d933

Luuk de Gram <luuk@degram.dev>
2023-01-01 15:48:00
wasm-linker: check for undefined symbols
Unless the `--import-symbols` flag is set, in which case we don't check for any undefined data symbols.
1 parent 3e32a18
Changed files (1)
src
src/link/Wasm.zig
@@ -805,6 +805,7 @@ fn validateFeatures(
 
 fn checkUndefinedSymbols(wasm: *const Wasm) !void {
     if (wasm.base.options.output_mode == .Obj) return;
+    if (wasm.base.options.import_symbols) return;
 
     var found_undefined_symbols = false;
     for (wasm.undefs.values()) |undef| {
@@ -2467,6 +2468,7 @@ fn linkWithZld(wasm: *Wasm, comp: *Compilation, prog_node: *std.Progress.Node) l
     var enabled_features: [@typeInfo(types.Feature.Tag).Enum.fields.len]bool = undefined;
     try wasm.validateFeatures(&enabled_features, &emit_features_count);
     try wasm.resolveSymbolsInArchives();
+    try wasm.checkUndefinedSymbols();
 
     try wasm.setupStart();
     try wasm.setupImports();