aboutsummaryrefslogtreecommitdiff
path: root/src/link
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2023-05-01 13:41:42 +0200
committerJacob Young <jacobly0@users.noreply.github.com>2023-05-01 19:22:52 -0400
commit565f8979cc38d46b8b905f3a8b7db03238779ffc (patch)
tree2edf8690b21953f2c9c90854ffea0b2a1f38b821 /src/link
parent7064d7dbf0157aed9b497e1158243e472082633f (diff)
downloadzig-565f8979cc38d46b8b905f3a8b7db03238779ffc.tar.gz
zig-565f8979cc38d46b8b905f3a8b7db03238779ffc.zip
link: fix accessing source atom's symbol index in codegen
Since the owner can either be a `Decl` or a `LazySymbol` we need to preserve this information at the codegen generate function level so that we can then correctly work out the corresponding `Atom` in the linker.
Diffstat (limited to 'src/link')
-rw-r--r--src/link/MachO.zig7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/link/MachO.zig b/src/link/MachO.zig
index c14168c66b..458b283d4f 100644
--- a/src/link/MachO.zig
+++ b/src/link/MachO.zig
@@ -2112,7 +2112,7 @@ fn updateLazySymbolAtom(
errdefer self.freeAtom(atom_index);
log.debug("allocated atom for {s} at 0x{x}", .{ name, vaddr });
- log.debug(" (required alignment 0x{x}", .{required_alignment});
+ log.debug(" (required alignment 0x{x})", .{required_alignment});
atom.size = code.len;
symbol.n_value = vaddr;
@@ -4157,9 +4157,6 @@ pub fn logSymtab(self: *MachO) void {
log.debug("stubs entries:", .{});
log.debug("{}", .{self.stub_table});
-
- // log.debug("threadlocal entries:", .{});
- // log.debug("{}", .{self.tlv_table});
}
pub fn logAtoms(self: *MachO) void {
@@ -4199,6 +4196,6 @@ pub fn logAtom(self: *MachO, atom_index: Atom.Index) void {
sym.n_value,
atom.size,
atom.file,
- sym.n_sect,
+ sym.n_sect + 1,
});
}