https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68479
--- Comment #2 from Stefan H. <dd0t at users dot sourceforge.net> --- Interesting. So this breakage is expected behavior? I wasn't sure as there were so many ways to load it differently that didn't seem to exhibit the problems. I assume the ones I listed (except linking libstdc++ dynamically everywhere to begin with) are equally forbidden? Or in other words: Never use -static-libstdc++ in combination with -shared if you actually need C++ objects shared between the so's and hence cannot hide or version the symbols? Would be very useful if libstdc++ could somehow make such conflicts more explicit when they occur (e.g. ideally making the dynamic linker fail or even terminating the program outright). I naively assumed I would be fine as long as I didn't start mixing libstdc++ versions and all I would incur was some duplicate code that simply wouldn't be used and did so until I starting seing very strange runtime breakages.