https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64001
--- Comment #2 from Michael Hudson-Doyle <michael.hudson at canonical dot com> --- Oh, I was wrong in my initial comment. Setting a breakpoint like this: (gdb) br *0x00007ffff7777971 Breakpoint 5 at 0x7ffff7777971: file ../../../src/libgcc/config/i386/morestack.S, line 512. (gdb) commands Type commands for breakpoint(s) 5, one per line. End with a line saying just "end". >silent >print $rax >continue >end (gdb) c (0x00007ffff7777971 is the instruction after the __generic_morestack call) results (eventually) in output like this: ... $202479 = 140737354018816 $202480 = 140737354022912 $202481 = 281474706301792 Program received signal SIGBUS, Bus error. __morestack () at ../../../src/libgcc/config/i386/morestack.S:529 529 ../../../src/libgcc/config/i386/morestack.S: No such file or directory. (gdb) p/x 281474706301792 $202482 = 0xffffefe1e360 So it does seem that __generic_morestack is returning junk. I can't figure out how to get gdb to show me the values of the __thread variables this is using though, so I don't know _why_ it's returning junk.