https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114227
--- Comment #2 from Gaius Mulley <gaius at gcc dot gnu.org> --- Created attachment 57604 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57604&action=edit Proposed fix Here is the proposed patch which moves the initial/termination user procedure functionality in pim and iso versions of M2RTS into M2Dependent. This ensures that finalization/initialization procedures will always be invoked for both -fiso and -fpim. Prior to this patch M2Dependent called M2RTS for termination procedure cleanup and always invoked the pim M2RTS.