diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2024-08-01 22:28:28 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2024-08-07 10:21:02 +0200 |
| commit | 41e9b8b6c84a1787ffa647fc42980dcce4942b7d (patch) | |
| tree | b50e763ea1b13fb6afd36e1e169991e2ad6592fb /src/codegen.zig | |
| parent | deeaa1bb0cb8a8c7ccebb23cc68be64e4b013ab2 (diff) | |
| download | zig-41e9b8b6c84a1787ffa647fc42980dcce4942b7d.tar.gz zig-41e9b8b6c84a1787ffa647fc42980dcce4942b7d.zip | |
elf: fix compile errors
Diffstat (limited to 'src/codegen.zig')
| -rw-r--r-- | src/codegen.zig | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/codegen.zig b/src/codegen.zig index 9c3fd1914b..50688151ed 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -906,20 +906,20 @@ fn genDeclRef( const is_extern = decl.isExtern(zcu); if (lf.cast(link.File.Elf)) |elf_file| { + const zo = elf_file.zigObjectPtr().?; if (is_extern) { const name = decl.name.toSlice(ip); // TODO audit this const lib_name = if (decl.getOwnedVariable(zcu)) |ov| ov.lib_name.toSlice(ip) else null; const sym_index = try elf_file.getGlobalSymbol(name, lib_name); - elf_file.symbol(elf_file.zigObjectPtr().?.symbol(sym_index)).flags.needs_got = true; + zo.symbol(sym_index).flags.needs_got = true; return GenResult.mcv(.{ .load_symbol = sym_index }); } - const sym_index = try elf_file.zigObjectPtr().?.getOrCreateMetadataForDecl(elf_file, decl_index); - const sym = elf_file.symbol(sym_index); + const sym_index = try zo.getOrCreateMetadataForDecl(elf_file, decl_index); if (is_threadlocal) { - return GenResult.mcv(.{ .load_tlv = sym.esym_index }); + return GenResult.mcv(.{ .load_tlv = sym_index }); } - return GenResult.mcv(.{ .load_symbol = sym.esym_index }); + return GenResult.mcv(.{ .load_symbol = sym_index }); } else if (lf.cast(link.File.MachO)) |macho_file| { const zo = macho_file.getZigObject().?; if (is_extern) { @@ -971,9 +971,7 @@ fn genUnnamedConst( }; switch (lf.tag) { .elf => { - const elf_file = lf.cast(link.File.Elf).?; - const local = elf_file.symbol(local_sym_index); - return GenResult.mcv(.{ .load_symbol = local.esym_index }); + return GenResult.mcv(.{ .load_symbol = local_sym_index }); }, .macho => { const macho_file = lf.cast(link.File.MachO).?; |
