aboutsummaryrefslogtreecommitdiff
path: root/src/link/Elf/ZigObject.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/link/Elf/ZigObject.zig')
-rw-r--r--src/link/Elf/ZigObject.zig9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/link/Elf/ZigObject.zig b/src/link/Elf/ZigObject.zig
index 84b54aabcd..1e29ab8bf6 100644
--- a/src/link/Elf/ZigObject.zig
+++ b/src/link/Elf/ZigObject.zig
@@ -1496,7 +1496,7 @@ pub fn updateFunc(
});
defer gpa.free(name);
const osec = if (self.text_index) |sect_sym_index|
- self.atom(self.symbol(sect_sym_index).ref.index).?.output_section_index
+ self.symbol(sect_sym_index).output_section_index
else osec: {
const osec = try elf_file.addSection(.{
.name = try elf_file.insertShString(".text"),
@@ -1896,12 +1896,13 @@ pub fn deleteExport(
} orelse return;
const zcu = elf_file.base.comp.zcu.?;
const exp_name = name.toSlice(&zcu.intern_pool);
- const esym_index = metadata.@"export"(self, exp_name) orelse return;
+ const sym_index = metadata.@"export"(self, exp_name) orelse return;
log.debug("deleting export '{s}'", .{exp_name});
- const esym = &self.symtab.items(.elf_sym)[esym_index.*];
+ const esym_index = self.symbol(sym_index.*).esym_index;
+ const esym = &self.symtab.items(.elf_sym)[esym_index];
_ = self.globals_lookup.remove(esym.st_name);
esym.* = Elf.null_sym;
- self.symtab.items(.shndx)[esym_index.*] = elf.SHN_UNDEF;
+ self.symtab.items(.shndx)[esym_index] = elf.SHN_UNDEF;
}
pub fn getGlobalSymbol(self: *ZigObject, elf_file: *Elf, name: []const u8, lib_name: ?[]const u8) !u32 {