https://issues.dlang.org/show_bug.cgi?id=20220
--- Comment #8 from Ernesto Castellotti <[email protected]> --- (In reply to Dlang Bot from comment #7) > @MaskRay created dlang/dmd pull request #10562 "Use .init_array/.fini_array > instead of .ctors/.dtors" fixing this issue: > > - Use .init_array/.fini_array instead of .ctors/.dtors > > Fix Issue 20220. > > dmd places global constructors in .ctors sections. When such sections > are linked by lld, the executable will not run constructors on most > modern Linux distributions (musl does not support .ctors/glibc is > usually configured with NO_CTORS_DTORS_SECTIONS). > > GNU ld and gold convert .ctors/.dtors to .init_array/.fini_array by > default, so programs linked by them are fine. lld does not support the > feature and it probably makes little sense to add the support > (https://bugs.llvm.org/show_bug.cgi?id=31224): > .init_array has been supported by glibc for 20 years and adopted by most > ELF platforms. > > https://github.com/dlang/dmd/pull/10562 I would prefer to have an optional switch, maybe someone wants to have .ctors --
