diff options
| author | Jacob G-W <jacoblevgw@gmail.com> | 2021-08-30 08:52:29 -0400 |
|---|---|---|
| committer | Jacob G-W <jacoblevgw@gmail.com> | 2021-09-18 19:44:41 -0400 |
| commit | 84ab03a875b2a1b9d38f094242ddbd54f133c1a5 (patch) | |
| tree | 177803b056903400b587cda7172482f3723d520a /src/codegen.zig | |
| parent | 4cb2d6bc3e3ab7c27cabdc7318abaea1afc34654 (diff) | |
| download | zig-84ab03a875b2a1b9d38f094242ddbd54f133c1a5.tar.gz zig-84ab03a875b2a1b9d38f094242ddbd54f133c1a5.zip | |
plan9 linker: get ready to delete allocateDeclIndexes
Diffstat (limited to 'src/codegen.zig')
| -rw-r--r-- | src/codegen.zig | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/codegen.zig b/src/codegen.zig index 7dc605ba73..20243ba861 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -2965,6 +2965,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { } if (self.air.value(callee)) |func_value| { if (func_value.castTag(.function)) |func_payload| { + try p9.seeDecl(func_payload.data.owner_decl); const ptr_bits = self.target.cpu.arch.ptrBitWidth(); const ptr_bytes: u64 = @divExact(ptr_bits, 8); const got_addr = p9.bases.data; @@ -3012,6 +3013,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { } if (self.air.value(callee)) |func_value| { if (func_value.castTag(.function)) |func_payload| { + try p9.seeDecl(func_payload.data.owner_decl); const ptr_bits = self.target.cpu.arch.ptrBitWidth(); const ptr_bytes: u64 = @divExact(ptr_bits, 8); const got_addr = p9.bases.data; @@ -4939,6 +4941,7 @@ fn Function(comptime arch: std.Target.Cpu.Arch) type { const got_addr = coff_file.offset_table_virtual_address + decl.link.coff.offset_table_index * ptr_bytes; return MCValue{ .memory = got_addr }; } else if (self.bin_file.cast(link.File.Plan9)) |p9| { + try p9.seeDecl(decl); const got_addr = p9.bases.data + decl.link.plan9.got_index.? * ptr_bytes; return MCValue{ .memory = got_addr }; } else { |
