aboutsummaryrefslogtreecommitdiff
path: root/src/link/MachO/Object.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2024-07-11 14:49:16 +0200
committerJakub Konka <kubkon@jakubkonka.com>2024-07-18 09:13:08 +0200
commit90c54f1eb6d34fb703b6c4e093580a0f2f70d559 (patch)
tree7e0a3416b09d81f61ac95c539b6fa22165a53822 /src/link/MachO/Object.zig
parent3d58faed12d018d70a4cd28aff89b733621a0259 (diff)
downloadzig-90c54f1eb6d34fb703b6c4e093580a0f2f70d559.tar.gz
zig-90c54f1eb6d34fb703b6c4e093580a0f2f70d559.zip
macho: fix symbol visibility merging logic
Diffstat (limited to 'src/link/MachO/Object.zig')
-rw-r--r--src/link/MachO/Object.zig2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/link/MachO/Object.zig b/src/link/MachO/Object.zig
index dc62bc6500..d283b35a88 100644
--- a/src/link/MachO/Object.zig
+++ b/src/link/MachO/Object.zig
@@ -1536,7 +1536,7 @@ pub fn mergeSymbolVisibility(self: *Object, macho_file: *MachO) void {
for (self.symbols.items, 0..) |sym, i| {
const ref = self.getSymbolRef(@intCast(i), macho_file);
const global = ref.getSymbol(macho_file) orelse continue;
- if (global.visibility != .global) {
+ if (sym.visibility.rank() < global.visibility.rank()) {
global.visibility = sym.visibility;
}
if (sym.flags.weak_ref) {