https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69874
--- Comment #4 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- Program received signal SIGABRT, Aborted. 0x00007ffff77d50d8 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 54 return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig); (gdb) bt #0 0x00007ffff77d50d8 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 #1 0x00007ffff77d6d7d in __GI_abort () at abort.c:89 #2 0x00007ffff7ec1425 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/gcc/x86_64-pc-linux-gnu/6.0.0/libstdc++.so.6 #3 0x00007ffff7ebefc6 in __cxxabiv1::__terminate(void (*)()) () from /usr/lib/gcc/x86_64-pc-linux-gnu/6.0.0/libstdc++.so.6 #4 0x00007ffff7ebf031 in std::terminate() () from /usr/lib/gcc/x86_64-pc-linux-gnu/6.0.0/libstdc++.so.6 #5 0x00007ffff7ebf2a7 in __cxa_throw () from /usr/lib/gcc/x86_64-pc-linux-gnu/6.0.0/libstdc++.so.6 #6 0x0000000000400e58 in Master::setB (this=<optimized out>) at ex.cpp:14 #7 0x0000000000400c5f in main () at ex.cpp:21 Unfortunately the stack gets corrupted with 4.9.3/libstdc++.so.6.0.20: markus@x4 /tmp % LD_PRELOAD=/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6.0.20 gdb ./a.out Reading symbols from ./a.out...done. (gdb) run Starting program: /var/tmp/tmp/a.out Program received signal SIGSEGV, Segmentation fault. _dl_lookup_symbol_x (undef_name=0x7ffff7aba4d3 "__tls_get_addr", undef_map=0x7ffff7ff65e0, ref=ref@entry=0x7fffffffe260, symbol_scope=0x7ffff7ff6938, version=0x7ffff7fd0f60, type_class=type_class@entry=1, flags=1, skip_map=0x0) at dl-lookup.c:809 809 struct sym_val current_value = { NULL, NULL }; (gdb) bt #0 _dl_lookup_symbol_x (undef_name=0x7ffff7aba4d3 "__tls_get_addr", undef_map=0x7ffff7ff65e0, ref=ref@entry=0x7fffffffe260, symbol_scope=0x7ffff7ff6938, version=0x7ffff7fd0f60, type_class=type_class@entry=1, flags=1, skip_map=0x0) at dl-lookup.c:809 #1 0x00007ffff7de6534 in _dl_fixup (l=<optimized out>, reloc_arg=<optimized out>) at ../elf/dl-runtime.c:111 #2 0x00007ffff7deef5f in _dl_runtime_resolve_sse () at ../sysdeps/x86_64/dl-trampoline.h:112 #3 0x00007ffff7afa78c in __cxa_get_globals () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6.0.20 #4 0x00007ffff7afbdb6 in __cxa_throw () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6.0.20 #5 0x0000000000400e58 in Master::setB (this=<optimized out>) at ex.cpp:14 #6 0x0000000000400c5f in main () at ex.cpp:21