aboutsummaryrefslogtreecommitdiff
path: root/src/link/Elf/Object.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2023-09-12 23:27:11 +0200
committerJakub Konka <kubkon@jakubkonka.com>2023-09-12 23:27:14 +0200
commit1a6d12ea92eb9033aed686c88b53ff406ec2fbe7 (patch)
tree00700d4647d1551641a3694e315bd9423d3f3687 /src/link/Elf/Object.zig
parent9719fa7412371243aaac6f307f80d783c7ac50cb (diff)
downloadzig-1a6d12ea92eb9033aed686c88b53ff406ec2fbe7.tar.gz
zig-1a6d12ea92eb9033aed686c88b53ff406ec2fbe7.zip
elf: clean up and unify symbol ref handling in relocs
Also, this lets us re-enable proper undefined symbols tracking.
Diffstat (limited to 'src/link/Elf/Object.zig')
-rw-r--r--src/link/Elf/Object.zig4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/link/Elf/Object.zig b/src/link/Elf/Object.zig
index 14892302a4..f095a5f99e 100644
--- a/src/link/Elf/Object.zig
+++ b/src/link/Elf/Object.zig
@@ -392,14 +392,14 @@ fn filterRelocs(
return .{ .start = f_start, .len = f_len };
}
-pub fn scanRelocs(self: *Object, elf_file: *Elf) !void {
+pub fn scanRelocs(self: *Object, elf_file: *Elf, undefs: anytype) !void {
for (self.atoms.items) |atom_index| {
const atom = elf_file.atom(atom_index) orelse continue;
if (!atom.alive) continue;
const shdr = atom.inputShdr(elf_file);
if (shdr.sh_flags & elf.SHF_ALLOC == 0) continue;
if (shdr.sh_type == elf.SHT_NOBITS) continue;
- try atom.scanRelocs(elf_file);
+ try atom.scanRelocs(elf_file, undefs);
}
for (self.cies.items) |cie| {