[Bug target/82358] [8 regression] i386/stack-check-11.c fail
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82358 Jeffrey A. Law changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #6 from Jeffrey A. Law --- Fixed on the trunk. Not relevant to any release branches.
[Bug target/82358] [8 regression] i386/stack-check-11.c fail
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82358 --- Comment #5 from Jeffrey A. Law --- Author: law Date: Tue Oct 3 17:09:54 2017 New Revision: 253385 URL: https://gcc.gnu.org/viewcvs?rev=253385=gcc=rev Log: PR target/82358 * gcc.target/i386/stack-check-11.c: Use -mtune=generic. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.target/i386/stack-check-11.c
[Bug target/82358] [8 regression] i386/stack-check-11.c fail
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82358 --- Comment #4 from H.J. Lu --- SLM prefers: lea -0x1000(%rsp),%rsp over sub 0x1000, %rsp Adding -mtune=generic should fix it.
[Bug target/82358] [8 regression] i386/stack-check-11.c fail
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82358 --- Comment #3 from Andrey Guskov --- This is my gcc -v: Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=bin/../libexec/gcc/x86_64-pc-linux-gnu/8.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: source/configure -with-system-zlib --with-demangler-in-ld --with-fpmath=sse --enable-shared --enable-host-shared --enable-clocale=gnu --enable-cloog-backend=isl --enable-languages=c,c++,fortran,jit,lto -with-arch=slm --with-cpu=slm Thread model: posix gcc version 8.0.0 20170920 (experimental) (GCC) And this is what my objdump -D looks like: stack-check-11.o: file format elf64-x86-64 Disassembly of section .text: : 0: 48 8d a4 24 00 f0 fflea-0x1000(%rsp),%rsp 7: ff 8: 48 83 0c 24 00 orq$0x0,(%rsp) d: 48 8d a4 24 00 f0 fflea-0x1000(%rsp),%rsp 14: ff 15: 48 83 0c 24 00 orq$0x0,(%rsp) 1a: 48 8d a4 24 00 f0 fflea-0x1000(%rsp),%rsp 21: ff 22: 48 83 0c 24 00 orq$0x0,(%rsp) 27: 48 8d a4 24 38 fa fflea-0x5c8(%rsp),%rsp 2e: ff 2f: 48 89 e6mov%rsp,%rsi 32: 48 8d bc 24 e0 1a 00lea0x1ae0(%rsp),%rdi 39: 00 3a: e8 00 00 00 00 callq 3f3f: 48 8d a4 24 c8 35 00lea0x35c8(%rsp),%rsp 46: 00 47: c3 retq
[Bug target/82358] [8 regression] i386/stack-check-11.c fail
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82358 Jeffrey A. Law changed: What|Removed |Added CC||law at redhat dot com --- Comment #2 from Jeffrey A. Law --- ?!? First, I don't get this failure. Andrey, what is your precise target configuration? Martin -- the code you show is exactly what is should be. In the "before" case we have a stack allocation of 13768 bytes, then probes into that allocation. That is not safe WRT stack-clash as you could get an async signal between the allocation and probing points and the async handler would be running with a clashed stack/heap. The "after" case we see 4 distinct allocations and probes, which is exactly what we want.
[Bug target/82358] [8 regression] i386/stack-check-11.c fail
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82358 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-10-02 CC||law at gcc dot gnu.org, ||marxin at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Martin Liška --- Confirmed. Before: frob: .LFB0: .cfi_startproc subq$13768, %rsp .cfi_def_cfa_offset 13776 orq $0, 9672(%rsp) orq $0, 5576(%rsp) orq $0, 1480(%rsp) leaq6880(%rsp), %rdi movq%rsp, %rsi callarf addq$13768, %rsp .cfi_def_cfa_offset 8 ret .cfi_endproc After: frob: .LFB0: .cfi_startproc subq$4096, %rsp .cfi_def_cfa_offset 4104 orq $0, (%rsp) subq$4096, %rsp .cfi_def_cfa_offset 8200 orq $0, (%rsp) subq$4096, %rsp .cfi_def_cfa_offset 12296 orq $0, (%rsp) subq$1480, %rsp .cfi_def_cfa_offset 13776 leaq6880(%rsp), %rdi movq%rsp, %rsi callarf addq$13768, %rsp .cfi_def_cfa_offset 8 ret .cfi_endproc