aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.zig
diff options
context:
space:
mode:
authorJacob G-W <jacoblevgw@gmail.com>2023-06-10 19:27:54 -0400
committerJacob G-W <jacoblevgw@gmail.com>2023-06-16 08:34:30 -0400
commit9e8c7b104e6bfa2821b79ee05c5583776749f136 (patch)
tree99744503fdd24de3765f0f6b0f7899b10df11390 /src/codegen.zig
parent5d9e8f27d0dc131e0b4154c5f65376f2fb9f3500 (diff)
downloadzig-9e8c7b104e6bfa2821b79ee05c5583776749f136.tar.gz
zig-9e8c7b104e6bfa2821b79ee05c5583776749f136.zip
Plan9: Add support for lazy symbols
This includes a renaming from DeclBlock to Atom.
Diffstat (limited to 'src/codegen.zig')
-rw-r--r--src/codegen.zig7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index b39c3c5ec0..7625fbe031 100644
--- a/src/codegen.zig
+++ b/src/codegen.zig
@@ -852,10 +852,9 @@ fn genDeclRef(
const sym_index = coff_file.getAtom(atom_index).getSymbolIndex().?;
return GenResult.mcv(.{ .load_got = sym_index });
} else if (bin_file.cast(link.File.Plan9)) |p9| {
- const decl_block_index = try p9.seeDecl(decl_index);
- const decl_block = p9.getDeclBlock(decl_block_index);
- const got_addr = p9.bases.data + decl_block.got_index.? * ptr_bytes;
- return GenResult.mcv(.{ .memory = got_addr });
+ const atom_index = try p9.seeDecl(decl_index);
+ const atom = p9.getAtom(atom_index);
+ return GenResult.mcv(.{ .memory = atom.getOffsetTableAddress(p9) });
} else {
return GenResult.fail(bin_file.allocator, src_loc, "TODO genDeclRef for target {}", .{target});
}