[Bug target/82358] [8 regression] i386/stack-check-11.c fail

2017-10-03 Thread law at redhat dot com
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

2017-10-03 Thread law at gcc dot gnu.org
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

2017-10-03 Thread hjl.tools at gmail dot com
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

2017-10-03 Thread andrey.y.guskov at intel dot com
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  3f 
  3f:   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

2017-10-02 Thread law at redhat dot com
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

2017-10-02 Thread marxin at gcc dot gnu.org
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