| ... | @@ -1242,6 +1242,14 @@ fn resolveLazySymbols(wasm: *Wasm) !void { | ... | @@ -1242,6 +1242,14 @@ fn resolveLazySymbols(wasm: *Wasm) !void { |
| 1242 | if (wasm.undefs.fetchSwapRemove(name_offset)) |kv| { | 1242 | if (wasm.undefs.fetchSwapRemove(name_offset)) |kv| { |
| 1243 | const loc = try wasm.createSyntheticSymbolOffset(name_offset, .global); | 1243 | const loc = try wasm.createSyntheticSymbolOffset(name_offset, .global); |
| 1244 | try wasm.discarded.putNoClobber(wasm.base.allocator, kv.value, loc); | 1244 | try wasm.discarded.putNoClobber(wasm.base.allocator, kv.value, loc); |
| | 1245 | _ = wasm.resolved_symbols.swapRemove(kv.value); |
| | 1246 | const symbol = loc.getSymbol(wasm); |
| | 1247 | symbol.setFlag(.WASM_SYM_VISIBILITY_HIDDEN); |
| | 1248 | symbol.index = @intCast(wasm.imported_globals_count + wasm.wasm_globals.items.len); |
| | 1249 | try wasm.wasm_globals.append(wasm.base.allocator, .{ |
| | 1250 | .global_type = .{ .valtype = .i32, .mutable = true }, |
| | 1251 | .init = .{ .i32_const = undefined }, |
| | 1252 | }); |
| 1245 | } | 1253 | } |
| 1246 | } | 1254 | } |
| 1247 | } | 1255 | } |