https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109712
--- Comment #8 from Carlos Galvez <carlosgalvezp at gmail dot com> --- Upon closer inspection, it turns out we were building with GCC 7, but then using libgcc_s.so.1 and libstdc++.so.6 from GCC trunk at runtime (via LD_LIBRARY_PATH). Building with GCC trunk instead solves the segfault I described above. In particular it seems the problem is libgcc_s.so.1 - if I use the system-wide one (older) instead of the one from GCC trunk, the problem goes away. Is this expected though? My understanding was that libgcc_s and libstdc++ are backwards compatible, i.e. I can always keep the latest one installed on my system and I should be able to run applications linked against older libraries (which is what is happening here). There's also symbol versioning so old symbols are kept.