http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678
--- Comment #16 from Jan Hubicka <hubicka at gcc dot gnu.org> --- I am also seeing this in libreoffice. We devirtualize into destructor of ZCodec that is a base class of other codec used in the library, but the library is not linking with its implementation. I believe it is a bug to include a class and not link with its implementation and not explicitly specify that the class may be hidden from the current DSO and thus it should be solved on the source code side. We ought to mention this in news.html and explain the issue. For libreoffice I go with class __attribute__ ((hidden)) TOOLS_DLLPUBLIC ZCodec in include/tools/zcodec.hxx I was thinking that with LTO I may reduce these problems by ruling out extern inline bodies that reference UNDEF symbols, but that will not solve non-flto I wrote bit more on the topic in http://hubicka.blogspot.ca/2014/01/devirtualization-in-c-part-2-low-level.html We however need opinion of a C++ maintainer.