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.

Reply via email to