authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2023-10-03 15:34:46+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-10-03 12:49:24-07:00
logcbdf4858e887bdc647cd86b9d77ce111d710a0b8
tree06dce8fb6e363e4c454a703dd112fc96e800b4a8
parentd5b9d18bf0f0eed9eb37089e4531db24b06c9f94

elf: assert llvm_object is null in getAnonDeclVAddr


1 files changed, 1 insertions(+), 2 deletions(-)

src/link/Elf.zig+1-2
...@@ -337,7 +337,6 @@ pub fn deinit(self: *Elf) void {...@@ -337,7 +337,6 @@ pub fn deinit(self: *Elf) void {
337337
338pub fn getDeclVAddr(self: *Elf, decl_index: Module.Decl.Index, reloc_info: link.File.RelocInfo) !u64 {338pub fn getDeclVAddr(self: *Elf, decl_index: Module.Decl.Index, reloc_info: link.File.RelocInfo) !u64 {
339 assert(self.llvm_object == null);339 assert(self.llvm_object == null);
340
341 const this_sym_index = try self.getOrCreateMetadataForDecl(decl_index);340 const this_sym_index = try self.getOrCreateMetadataForDecl(decl_index);
342 const this_sym = self.symbol(this_sym_index);341 const this_sym = self.symbol(this_sym_index);
343 const vaddr = this_sym.value;342 const vaddr = this_sym.value;
...@@ -347,7 +346,6 @@ pub fn getDeclVAddr(self: *Elf, decl_index: Module.Decl.Index, reloc_info: link....@@ -347,7 +346,6 @@ pub fn getDeclVAddr(self: *Elf, decl_index: Module.Decl.Index, reloc_info: link.
347 .r_info = (@as(u64, @intCast(this_sym.esym_index)) << 32) | elf.R_X86_64_64,346 .r_info = (@as(u64, @intCast(this_sym.esym_index)) << 32) | elf.R_X86_64_64,
348 .r_addend = reloc_info.addend,347 .r_addend = reloc_info.addend,
349 });348 });
350
351 return vaddr;349 return vaddr;
352}350}
353351
...@@ -389,6 +387,7 @@ pub fn lowerAnonDecl(self: *Elf, decl_val: InternPool.Index, src_loc: Module.Src...@@ -389,6 +387,7 @@ pub fn lowerAnonDecl(self: *Elf, decl_val: InternPool.Index, src_loc: Module.Src
389}387}
390388
391pub fn getAnonDeclVAddr(self: *Elf, decl_val: InternPool.Index, reloc_info: link.File.RelocInfo) !u64 {389pub fn getAnonDeclVAddr(self: *Elf, decl_val: InternPool.Index, reloc_info: link.File.RelocInfo) !u64 {
390 assert(self.llvm_object == null);
392 const sym_index = self.anon_decls.get(decl_val).?;391 const sym_index = self.anon_decls.get(decl_val).?;
393 const sym = self.symbol(sym_index);392 const sym = self.symbol(sym_index);
394 const vaddr = sym.value;393 const vaddr = sym.value;