aboutsummaryrefslogtreecommitdiff
path: root/src/link/Elf/Object.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2023-09-23 11:59:01 +0200
committerJakub Konka <kubkon@jakubkonka.com>2023-09-23 17:15:41 +0200
commit29ebd96818bce4c4f2842d1bb76390247d47e198 (patch)
tree9ffd3b6089dee7eb4b3abd5b14775f541f04c461 /src/link/Elf/Object.zig
parent9f05cb318b77c18c312592cba52c782d70f2432f (diff)
downloadzig-29ebd96818bce4c4f2842d1bb76390247d47e198.tar.gz
zig-29ebd96818bce4c4f2842d1bb76390247d47e198.zip
elf: improve decl-to-section mapping logic
Diffstat (limited to 'src/link/Elf/Object.zig')
-rw-r--r--src/link/Elf/Object.zig8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/link/Elf/Object.zig b/src/link/Elf/Object.zig
index 36fb531fa9..7402bb4f59 100644
--- a/src/link/Elf/Object.zig
+++ b/src/link/Elf/Object.zig
@@ -272,9 +272,9 @@ fn initSymtab(self: *Object, elf_file: *Elf) !void {
sym_ptr.atom_index = if (sym.st_shndx == elf.SHN_ABS) 0 else self.atoms.items[sym.st_shndx];
sym_ptr.file_index = self.index;
sym_ptr.output_section_index = if (sym_ptr.atom(elf_file)) |atom_ptr|
- atom_ptr.output_section_index
+ atom_ptr.outputShndx().?
else
- 0;
+ elf.SHN_UNDEF;
}
for (self.symtab[first_global..]) |sym| {
@@ -440,9 +440,9 @@ pub fn resolveSymbols(self: *Object, elf_file: *Elf) void {
else => self.atoms.items[esym.st_shndx],
};
const output_section_index = if (elf_file.atom(atom_index)) |atom|
- atom.output_section_index
+ atom.outputShndx().?
else
- 0;
+ elf.SHN_UNDEF;
global.value = esym.st_value;
global.atom_index = atom_index;
global.esym_index = esym_index;