diff options
Diffstat (limited to 'src/link/Elf.zig')
| -rw-r--r-- | src/link/Elf.zig | 12 |
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; |
