diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2025-01-15 18:31:44 -0800 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2025-01-15 18:31:44 -0800 |
| commit | 744bb5d16a1acdabb7c078f7a1a30eefeac733cc (patch) | |
| tree | ba6e043f65776159680f703dd48b63da7e94a37e /src | |
| parent | dcb4134835e0c0bb0c130731efec741b41aba522 (diff) | |
| download | zig-744bb5d16a1acdabb7c078f7a1a30eefeac733cc.tar.gz zig-744bb5d16a1acdabb7c078f7a1a30eefeac733cc.zip | |
wasm linker: change rules about symbol visibility
export by default means export, as expected. if you want hidden
visibility then use hidden visibility.
Diffstat (limited to 'src')
| -rw-r--r-- | src/link/Wasm.zig | 2 | ||||
| -rw-r--r-- | src/link/Wasm/Flush.zig | 3 |
2 files changed, 2 insertions, 3 deletions
diff --git a/src/link/Wasm.zig b/src/link/Wasm.zig index cd08cbfdfd..cf1a560fb3 100644 --- a/src/link/Wasm.zig +++ b/src/link/Wasm.zig @@ -3502,7 +3502,7 @@ fn markFunction(wasm: *Wasm, i: ObjectFunctionIndex, override_export: bool) link if (!is_obj and (override_export or function.flags.isExported(rdynamic))) { const symbol_name = function.name.unwrap().?; - if (function.flags.visibility_hidden) { + if (!override_export and function.flags.visibility_hidden) { try wasm.hidden_function_exports.put(gpa, symbol_name, @enumFromInt(gop.index)); } else { try wasm.function_exports.put(gpa, symbol_name, @enumFromInt(gop.index)); diff --git a/src/link/Wasm/Flush.zig b/src/link/Wasm/Flush.zig index 800803cc21..c001b751d4 100644 --- a/src/link/Wasm/Flush.zig +++ b/src/link/Wasm/Flush.zig @@ -210,9 +210,8 @@ pub fn finish(f: *Flush, wasm: *Wasm) !void { const function_index = Wasm.FunctionIndex.fromIpNav(wasm, nav_export.nav_index).?; const explicit = f.missing_exports.swapRemove(nav_export.name); const is_hidden = !explicit and switch (export_index.ptr(zcu).opts.visibility) { - .protected => false, .hidden => true, - .default => !comp.config.rdynamic, + .default, .protected => false, }; if (is_hidden) { try wasm.hidden_function_exports.put(gpa, nav_export.name, function_index); |
