diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2022-07-22 21:19:33 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2022-07-22 21:19:33 +0200 |
| commit | 600348283fa5ea9646f91997e0a32f4632ca30b8 (patch) | |
| tree | 82f062eb4fed41456afe76145e0936514aae41ce /src | |
| parent | f8458a549ba7fbd29b3d045019313704f1305e89 (diff) | |
| download | zig-600348283fa5ea9646f91997e0a32f4632ca30b8.tar.gz zig-600348283fa5ea9646f91997e0a32f4632ca30b8.zip | |
macho: include __StaticInit input sections as GC roots
Diffstat (limited to 'src')
| -rw-r--r-- | src/link/MachO/dead_strip.zig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/link/MachO/dead_strip.zig b/src/link/MachO/dead_strip.zig index b3454dda57..909a0450d6 100644 --- a/src/link/MachO/dead_strip.zig +++ b/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, |
