Commit 600348283f

Jakub Konka <kubkon@jakubkonka.com>
2022-07-22 21:19:33
macho: include __StaticInit input sections as GC roots
1 parent f8458a5
Changed files (1)
src
link
src/link/MachO/dead_strip.zig
@@ -92,6 +92,7 @@ fn collectRoots(roots: *std.AutoHashMap(*Atom, void), macho_file: *MachO) !void
             const source_sect = object.getSourceSection(source_sym.n_sect - 1);
             const is_gc_root = blk: {
                 if (source_sect.isDontDeadStrip()) break :blk true;
+                if (mem.eql(u8, "__StaticInit", source_sect.sectName())) break :blk true;
                 switch (source_sect.type_()) {
                     macho.S_MOD_INIT_FUNC_POINTERS,
                     macho.S_MOD_TERM_FUNC_POINTERS,