testsuite: Fix false FAIL for gdb.base/morestack.exp
authorJan Kratochvil <jan.kratochvil@redhat.com>
Mon, 24 Oct 2016 12:13:51 +0000 (14:13 +0200)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Mon, 24 Oct 2016 12:13:51 +0000 (14:13 +0200)
commitb8d38ee4250fb6ad001c2f03fa2cef8c2bc06b57
tree748338dcce2f8ba82886b9204f375b96ebc054fc
parentcb93dc7f262978bafe36397a41a56e409a302042
testsuite: Fix false FAIL for gdb.base/morestack.exp

Since
[commit] [testsuite patch] Fix gcc_compiled for gcc 6 & 7
https://sourceware.org/ml/gdb-patches/2016-10/msg00620.html

there has started running again
 Running gdb/testsuite/gdb.base/morestack.exp ...
+FAIL: gdb.base/morestack.exp: continue
+PASS: gdb.base/morestack.exp: up 3000

but as you can see it FAILs now - on Fedora 24 x86_64 (although for example it
still PASSes on CentOS-7.2 x86_64).

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff787c7bb in malloc_consolidate (av=av@entry=0x7ffff7bbcb00 <main_arena>) at malloc.c:4181
4181       unlink(av, nextchunk, bck, fwd);
(gdb) bt
[...]
[...]

This apparently is due to - man gcc - -fsplit-stack:
When code compiled with -fsplit-stack calls code compiled without
-fsplit-stack, there may not be much stack space available for the
latter code to run.  If compiling all code, including library code,
with -fsplit-stack is not an option, then the linker can fix up these
calls so that the code compiled without -fsplit-stack always has
a large stack.  Support for this is implemented in the gold linker in
GNU binutils release 2.21 and later.

gdb/testsuite/ChangeLog
2016-10-24  Jan Kratochvil  <jan.kratochvil@redhat.com>

* gdb.base/morestack.exp: Try to build it using -fuse-ld=gold first.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/morestack.exp