https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98414
--- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> --- I replaced cp/mapper-client.o cp/mapper-resolver.o just with: $ cat mapper-resolver.ii namespace Cody { enum class Flags : unsigned; class Resolver { virtual int IncludeTranslateRequest(int *s, Flags flags, int &include); }; } // namespace Cody class module_resolver : public Cody::Resolver { virtual int IncludeTranslateRequest(int *s, Cody::Flags, int &include) override; private: }; int module_resolver::IncludeTranslateRequest(int *s, Cody::Flags, int &include) {} which needs the symbol: nm mapper-resolver.o ... U _ZTVN10__cxxabiv120__si_class_type_infoE Jakub: Does it confirm your description. Do you know how to fix that?