mirror of
https://github.com/scummvm/scummvm.git
synced 2026-05-21 05:40:43 +00:00
b02c2de70f
Revert the folding of .init_array / .fini_array into ___plugin_ctors / ___plugin_dtors. Other ELF-loader backends (3ds, riscos, wii, ds, psp) keep these as separate sections, and the cross-platform migration to walk .init_array / .fini_array directly from the loader will be done in the future (see https://github.com/scummvm/scummvm/pull/7446). m68k-atari-mintelf-gcc emits .init_array / .fini_array rather than .ctors / .dtors. I have verified it two ways: scummvm.prg has populated .init_array (6 entries) and .fini_array (1 entry); and adding a single namespace-scope `static Foo g;` to an engine TU produces an .init_array entry in the resulting .plg that lives outside ___plugin_ctors .. ___plugin_ctors_end. So with this layout, such an entry is silently never run (same of every other ELF backend?). Fortunately, no engine has such a static today (every built plugin has empty ctor/dtor ranges), so nothing currently breaks.