aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2024-08-17 17:17:01 +0200
committerGitHub <noreply@github.com>2024-08-17 17:17:01 +0200
commit5d2bf96c02b766a6ddeb3bd0e8594f2c70c9bfb6 (patch)
tree03670257529c98e11f48b4e48f9274f250c42693 /src/codegen.zig
parentbb70501060a8bfff25818cf1d80491d724f8a634 (diff)
parentdf9ac485da7c59ddb5dc65e192d5902baf975ddd (diff)
downloadzig-5d2bf96c02b766a6ddeb3bd0e8594f2c70c9bfb6.tar.gz
zig-5d2bf96c02b766a6ddeb3bd0e8594f2c70c9bfb6.zip
Merge pull request #21098 from ziglang/macho-zig-got
macho: replace __got_zig with distributed jump table
Diffstat (limited to 'src/codegen.zig')
-rw-r--r--src/codegen.zig6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index 4ac4b849c0..af77dcc50c 100644
--- a/src/codegen.zig
+++ b/src/codegen.zig
@@ -910,15 +910,15 @@ fn genNavRef(
const zo = macho_file.getZigObject().?;
if (is_extern) {
const sym_index = try macho_file.getGlobalSymbol(name.toSlice(ip), lib_name.toSlice(ip));
- zo.symbols.items[sym_index].setSectionFlags(.{ .needs_got = true });
- return .{ .mcv = .{ .load_symbol = sym_index } };
+ zo.symbols.items[sym_index].flags.is_extern_ptr = true;
+ return .{ .mcv = .{ .lea_symbol = sym_index } };
}
const sym_index = try zo.getOrCreateMetadataForNav(macho_file, nav_index);
const sym = zo.symbols.items[sym_index];
if (!single_threaded and is_threadlocal) {
return .{ .mcv = .{ .load_tlv = sym.nlist_idx } };
}
- return .{ .mcv = .{ .load_symbol = sym.nlist_idx } };
+ return .{ .mcv = .{ .lea_symbol = sym.nlist_idx } };
} else if (lf.cast(.coff)) |coff_file| {
if (is_extern) {
// TODO audit this