https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119430
--- Comment #14 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- FWIW the "force functions and their inner functions to remain in a single unit" approach for LTO was already discussed a few times in the past because of very similar issues pertaining to the static chain, but these issues were internal to the compiler and it was agreed that it would be better to address them rather than using this approach, which was done AFAIK. But this looks more complicated to do in this case because the linker comes into play.