From 8f96e7eec1b2af005e17bf21f91fc91add92d7dd Mon Sep 17 00:00:00 2001 From: Luuk de Gram Date: Wed, 24 Jan 2024 16:52:46 +0100 Subject: wasm: re-implement `updateExports` We now correctly create a symbol for each exported decl with its export- name. The symbol points to the same linker-object. We store a map from decl to all of its exports so we can update exports if it already exists rather than infinitely create new exports. --- src/link/Wasm.zig | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/link/Wasm.zig') diff --git a/src/link/Wasm.zig b/src/link/Wasm.zig index 9de8fdc1d2..82fa7a9439 100644 --- a/src/link/Wasm.zig +++ b/src/link/Wasm.zig @@ -2742,6 +2742,9 @@ pub fn flushModule(wasm: *Wasm, arena: Allocator, prog_node: *std.Progress.Node) try wasm.parseInputFiles(positionals.items); + if (wasm.zig_object_index != .null) { + try wasm.resolveSymbolsInObject(wasm.zig_object_index); + } for (wasm.objects.items) |object_index| { try wasm.resolveSymbolsInObject(object_index); } -- cgit v1.2.3