commit 8f1ce3c85b6463206147119dd56ba415f6e4d28e (tree)
parent d32af9ea2ade7c447ac8b882076dba337a10dc51
Author: Jakub Konka <kubkon@jakubkonka.com>
Date: Tue, 27 Aug 2024 15:34:13 +0200
elf: shuffle some stages to make it clear what needs what
Diffstat:
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/link/Elf.zig b/src/link/Elf.zig
@@ -1049,14 +1049,16 @@ pub fn flushModule(self: *Elf, arena: Allocator, tid: Zcu.PerThread.Id, prog_nod
try self.initSyntheticSections();
try self.initSpecialPhdrs();
try self.sortShdrs();
- for (self.objects.items) |index| {
- try self.file(index).?.object.addAtomsToOutputSections(self);
- }
- try self.sortInitFini();
+
try self.setDynamicSection(rpath_table.keys());
self.sortDynamicSymtab();
try self.setHashSections();
try self.setVersionSymtab();
+
+ for (self.objects.items) |index| {
+ try self.file(index).?.object.addAtomsToOutputSections(self);
+ }
+ try self.sortInitFini();
try self.updateMergeSectionSizes();
try self.updateSectionSizes();