On Montag, 24. August 2020 08:52:04 CEST Richard Biener wrote: > On Mon, Aug 10, 2020 at 9:36 AM Allan Sandfeld Jensen > > <li...@carewolf.com> wrote: > > Following the previous discussion, this is a proposal for a patch that > > adds > > the flag -fno-share-inlines that can be used when compiling singular > > source > > files with a different set of flags than the rest of the project. > > > > It basically turns off comdat for inline functions, as if you compiled > > without support for 'weak' symbols. Turning them all into "static" > > functions, even if that wouldn't normally be possible for that type of > > function. Not sure if it breaks anything, which is why I am not sending > > it to the patch list. > > > > I also considered alternatively to turn the comdat generation off later > > during assembler production to ensure all processing and optimization of > > comdat functions would occur as normal. > > We already have -fvisibility-inlines-hidden so maybe call it > -fvisibility-inlines-static? That could make sense.
> Does this option also imply 'static' vtables? > I don't think so. It affects functions declarations. It probably also affect virtual functions, but as far as I know the place changed only affects the functions not the virtual table. So there could still be a duplicated virtual table with the wrong methods, that then depends on linking if it will be used globally. I am not sure I dare change that, having different virtual tables for the same class depending on where it is allocated sounds like a way to break some things. I wouldn't use virtual tables anyway when dealing with mixed architectures. Best regards Allan