aboutsummaryrefslogtreecommitdiff
path: root/src/link/Elf.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/link/Elf.zig')
-rw-r--r--src/link/Elf.zig12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/link/Elf.zig b/src/link/Elf.zig
index e858a0ecb2..535550c8fc 100644
--- a/src/link/Elf.zig
+++ b/src/link/Elf.zig
@@ -2774,6 +2774,12 @@ fn updateSymtabSize(self: *Elf) !void {
sizes.nglobals += zig_module.output_symtab_size.nglobals;
}
+ if (self.linker_defined_index) |index| {
+ const linker_defined = self.file(index).?.linker_defined;
+ linker_defined.updateSymtabSize(self);
+ sizes.nlocals += linker_defined.output_symtab_size.nlocals;
+ }
+
if (self.got_section_index) |_| {
self.got.updateSymtabSize(self);
sizes.nlocals += self.got.output_symtab_size.nlocals;
@@ -2823,6 +2829,12 @@ fn writeSymtab(self: *Elf) !void {
ctx.iglobal += zig_module.output_symtab_size.nglobals;
}
+ if (self.linker_defined_index) |index| {
+ const linker_defined = self.file(index).?.linker_defined;
+ linker_defined.writeSymtab(self, ctx);
+ ctx.ilocal += linker_defined.output_symtab_size.nlocals;
+ }
+
if (self.got_section_index) |_| {
try self.got.writeSymtab(self, ctx);
ctx.ilocal += self.got.output_symtab_size.nlocals;