aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2023-10-15 22:06:18 +0200
committerJakub Konka <kubkon@jakubkonka.com>2023-10-16 19:33:06 +0200
commit6993b3e23e3b8f45f66902ebe23980aa155b343c (patch)
treeadb1ee6b64e7a7f9aeef458f5c133c8c899b3d67 /src/codegen.zig
parentd3b1c903dddee56b0f2ab06a00848b1b0017f062 (diff)
downloadzig-6993b3e23e3b8f45f66902ebe23980aa155b343c.tar.gz
zig-6993b3e23e3b8f45f66902ebe23980aa155b343c.zip
codegen: refactor .actual_got into .extern_got
Diffstat (limited to 'src/codegen.zig')
-rw-r--r--src/codegen.zig9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index 54ed9c0cf5..24269f38ba 100644
--- a/src/codegen.zig
+++ b/src/codegen.zig
@@ -793,12 +793,13 @@ fn lowerDeclRef(
/// Helper struct to denote that the value is in memory but requires a linker relocation fixup:
/// * got - the value is referenced indirectly via GOT entry index (the linker emits a got-type reloc)
+/// * extern_got - pointer to extern variable referenced via GOT
/// * direct - the value is referenced directly via symbol index index (the linker emits a displacement reloc)
/// * import - the value is referenced indirectly via import entry index (the linker emits an import-type reloc)
pub const LinkerLoad = struct {
type: enum {
got,
- actual_got,
+ extern_got,
direct,
import,
},
@@ -828,8 +829,8 @@ pub const GenResult = union(enum) {
load_got: u32,
/// Direct by-address reference to memory location.
memory: u64,
- /// TODO LOL Jakub, the king of naming...
- load_actual_got: u32,
+ /// Pointer to extern variable via GOT.
+ load_extern_got: u32,
};
fn mcv(val: MCValue) GenResult {
@@ -898,7 +899,7 @@ fn genDeclRef(
mod.intern_pool.stringToSliceUnwrap(ov.lib_name)
else
null;
- return GenResult.mcv(.{ .load_actual_got = try elf_file.getGlobalSymbol(name, lib_name) });
+ return GenResult.mcv(.{ .load_extern_got = try elf_file.getGlobalSymbol(name, lib_name) });
}
const sym_index = try elf_file.getOrCreateMetadataForDecl(decl_index);
const sym = elf_file.symbol(sym_index);