https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100062
--- Comment #2 from Iain Buclaw <ibuclaw at gdcproject dot org> --- (In reply to Richard Biener from comment #1) > Since you say this happens on a DSO level why is this not achieved via some > additional object at link-time (like crt*.o)? It sounds like you place > the CDTOR in each object file instead and want to merge them in the linker > via comdat? Quite possibly, though I'd have to see if what is generated is readily representable in C (or D) code. That is correct, currently the CDTORs are put in each object file. My initial assumption is that it would be trivial to adapt get_section.