From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi1-x229.google.com (mail-oi1-x229.google.com [IPv6:2607:f8b0:4864:20::229]) by sourceware.org (Postfix) with ESMTPS id 937C73858C31 for ; Thu, 16 Feb 2023 03:27:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 937C73858C31 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oi1-x229.google.com with SMTP id bi19so544913oib.2 for ; Wed, 15 Feb 2023 19:27:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=P9EUqv4n68kHg/a+xoUFmUYcs6rBsq97fRwSqjkGg9Q=; b=ZlD3NR5tT7QJdsT6WK+jZxGTytQQUKQ+LJcO9ivhM4d6MNvCvJdGGvU3lJzjEeo1oQ 6vr8B9nWR4rfgowKfSV/uPL+r+6Nm5ZWAzvH1r+hBaadf/xANR7SyMRzHXJKcjNFVMGf BLyei3VyVo8cGz1hJcCqL63xY09P3X3B9fa5QhNzLVhzu9eCaplSY4NT6LkXbeOYftKZ lSkKrB5SCApUvMnZbgDk6BsupxZ+bg/O0ydaZvcRPhFzTC+NBD87OQZWu/3eKla++l9+ iVoXFfTP4dIf8q7lbDmqf+MHuRlzm37FJ8cRddNqsp4oYKcDIFmA40wNW/USl8rBl37r /ngg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=P9EUqv4n68kHg/a+xoUFmUYcs6rBsq97fRwSqjkGg9Q=; b=TOGidUV9Xrph1gkPth7mYoOoInTR8ZRrC4j3R52qUv7S5QiMbn1FZfQRSfX5WCNXKP 6aqUn8f26piS9PtBYG6TAJkNlPTlsGaMr4LSn3gjjuwztB1uMBxcClNpREIDlB1GUwsu mnMgqDE88o2/RTtHIxvxtn2TCzYAsJMCyPhSeG+717nOUsG3woCMw5zBY+CvmYyVwfEq Dcf24h+rYli2HouQ/z2szv/snGjUYj7LTA5D62VUnR3EUfX0xzFxs3P1csLkC/kgs2kg Ib87kiCiDAK2tcTC1FDeSIJarPJ3+Eo9PwiVKZ2yBUnM7p3lMuj6fBwIHfkqu2hFsKj6 Fk+w== X-Gm-Message-State: AO0yUKWcjxQnKbcLPZwHu7G3C7sCdRhENe2I6d4Q6BXr0wL+HDVsQOie qc50ASrpPXvWLD4XEG2nGlolfVZhsj73E+IUw9ty6C1tHpI= X-Google-Smtp-Source: AK7set+k6VmR/ybSxEc76xu6X2k4EfIDPy9HD8agOQi04qHNP6gILe8tXMBLwP7f49tRxSIa1PaRVJ/IP1GqoVUMH3k= X-Received: by 2002:a05:6808:1488:b0:37b:76f3:2527 with SMTP id e8-20020a056808148800b0037b76f32527mr64383oiw.152.1676518048774; Wed, 15 Feb 2023 19:27:28 -0800 (PST) MIME-Version: 1.0 References: <8221231.NyiUUSuA9g@fomalhaut> In-Reply-To: <8221231.NyiUUSuA9g@fomalhaut> From: NightStrike Date: Wed, 15 Feb 2023 22:27:17 -0500 Message-ID: Subject: Re: [PATCH] Fix PR target/90458 To: Eric Botcazou Cc: gcc-patches@gcc.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,KAM_NUMSUBJECT,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Wed, Feb 15, 2023 at 10:24 AM Eric Botcazou via Gcc-patches wrote: > > Hi, > > this is the incompatibility of -fstack-clash-protection with Windows SEH. Now > the Windows ports always enable TARGET_STACK_PROBE, which means that the stack > is always probed (out of line) so -fstack-clash-protection does nothing more. > > Tested on x86-64/Windows and Linux, OK for all active branches? > > > 2023-02-15 Eric Botcazou > > * config/i386/i386.cc (ix86_compute_frame_layout): Disable the > effects of -fstack-clash-protection for TARGET_STACK_PROBE. > (ix86_expand_prologue): Likewise. This fixes dg.exp/stack-check-2.c, -7, 8, and -16.c, which is great! -6 no longer ICEs, but still fails. -3, -4, -5, and -9 didn't ICE, and still fail: gcc.dg/stack-check-10.c: pattern found 0 times FAIL: gcc.dg/stack-check-10.c scan-rtl-dump-times pro_and_epilogue "Stack clash no probe" 2 gcc.dg/stack-check-10.c: pattern found 0 times FAIL: gcc.dg/stack-check-10.c scan-rtl-dump-times pro_and_epilogue "Stack clash not noreturn" 2 gcc.dg/stack-check-10.c: pattern found 0 times FAIL: gcc.dg/stack-check-10.c scan-rtl-dump-times pro_and_epilogue "Stack clash residual allocation in prologue" 2 gcc.dg/stack-check-10.c: pattern found 0 times FAIL: gcc.dg/stack-check-10.c scan-rtl-dump-times pro_and_epilogue "Stack clash no frame pointer needed" 2 gcc.dg/stack-check-3.c: pattern found 0 times FAIL: gcc.dg/stack-check-3.c scan-rtl-dump-times expand "allocation and probing residuals" 7 gcc.dg/stack-check-3.c: pattern found 0 times FAIL: gcc.dg/stack-check-3.c scan-rtl-dump-times expand "allocation and probing in loop" 7 gcc.dg/stack-check-4.c: pattern found 0 times FAIL: gcc.dg/stack-check-4.c scan-rtl-dump-times pro_and_epilogue "Stack clash noreturn" 1 gcc.dg/stack-check-4.c: pattern found 0 times FAIL: gcc.dg/stack-check-4.c scan-rtl-dump-times pro_and_epilogue "Stack clash not noreturn" 1 gcc.dg/stack-check-5.c: pattern found 0 times FAIL: gcc.dg/stack-check-5.c scan-rtl-dump-times pro_and_epilogue "Stack clash no probe" 4 gcc.dg/stack-check-5.c: pattern found 0 times FAIL: gcc.dg/stack-check-5.c scan-rtl-dump-times pro_and_epilogue "Stack clash not noreturn" 4 gcc.dg/stack-check-5.c: pattern found 0 times FAIL: gcc.dg/stack-check-5.c scan-rtl-dump-times pro_and_epilogue "Stack clash no frame pointer needed" 4 gcc.dg/stack-check-5.c: pattern found 0 times FAIL: gcc.dg/stack-check-5.c scan-rtl-dump-times pro_and_epilogue "Stack clash no residual allocation in prologue" 1 gcc.dg/stack-check-5.c: pattern found 0 times FAIL: gcc.dg/stack-check-5.c scan-rtl-dump-times pro_and_epilogue "Stack clash residual allocation in prologue" 3 gcc.dg/stack-check-6.c: pattern found 0 times FAIL: gcc.dg/stack-check-6.c scan-rtl-dump-times pro_and_epilogue "Stack clash inline probes" 2 gcc.dg/stack-check-6.c: pattern found 0 times FAIL: gcc.dg/stack-check-6.c scan-rtl-dump-times pro_and_epilogue "Stack clash probe loop" 2 gcc.dg/stack-check-6.c: pattern found 0 times FAIL: gcc.dg/stack-check-6.c scan-rtl-dump-times pro_and_epilogue "Stack clash residual allocation in prologue" 4 gcc.dg/stack-check-6.c: pattern found 0 times FAIL: gcc.dg/stack-check-6.c scan-rtl-dump-times pro_and_epilogue "Stack clash not noreturn" 4 gcc.dg/stack-check-6.c: pattern found 0 times FAIL: gcc.dg/stack-check-6.c scan-rtl-dump-times pro_and_epilogue "Stack clash no frame pointer needed" 4 gcc.dg/stack-check-6a.c: pattern found 0 times FAIL: gcc.dg/stack-check-6a.c scan-rtl-dump-times pro_and_epilogue "Stack clash residual allocation in prologue" 4 gcc.dg/stack-check-6a.c: pattern found 0 times FAIL: gcc.dg/stack-check-6a.c scan-rtl-dump-times pro_and_epilogue "Stack clash not noreturn" 4 gcc.dg/stack-check-6a.c: pattern found 0 times FAIL: gcc.dg/stack-check-6a.c scan-rtl-dump-times pro_and_epilogue "Stack clash no frame pointer needed" 4 gcc.dg/stack-check-9.c: pattern found 0 times FAIL: gcc.dg/stack-check-9.c scan-rtl-dump-times pro_and_epilogue "Stack clash inline probes" 1 gcc.dg/stack-check-9.c: pattern found 0 times FAIL: gcc.dg/stack-check-9.c scan-rtl-dump-times pro_and_epilogue "Stack clash residual allocation in prologue" 1 gcc.dg/stack-check-9.c: pattern found 0 times FAIL: gcc.dg/stack-check-9.c scan-rtl-dump-times pro_and_epilogue "Stack clash not noreturn" 1 gcc.dg/stack-check-9.c: pattern found 0 times FAIL: gcc.dg/stack-check-9.c scan-rtl-dump-times pro_and_epilogue "Stack clash no frame pointer needed" 1 target/i386.exp/stack-check-12.c no longer ICEs but still fails. -11, -18 and -19 still fail: gcc.target/i386/stack-check-11.c: sub[ql] found 1 times FAIL: gcc.target/i386/stack-check-11.c scan-assembler-times sub[ql] 4 gcc.target/i386/stack-check-11.c: or[ql] found 0 times FAIL: gcc.target/i386/stack-check-11.c scan-assembler-times or[ql] 3 ia32882847.c:2:13: error: size of array 'dummy' is negative^M ia32882847.c:4:55: error: '__i386__' undeclared here (not in a function)^M compiler exited with status 1 FAIL: gcc.target/i386/stack-check-12.c scan-assembler pushq\t%rax FAIL: gcc.target/i386/stack-check-12.c scan-assembler popq\t%rax gcc.target/i386/stack-check-18.c: pattern found 0 times FAIL: gcc.target/i386/stack-check-18.c scan-rtl-dump-times expand "allocation and probing in loop" 1 gcc.target/i386/stack-check-18.c: pattern found 0 times FAIL: gcc.target/i386/stack-check-18.c scan-rtl-dump-times expand "allocation and probing residuals" 1 gcc.target/i386/stack-check-18.c: or[ql] found 0 times FAIL: gcc.target/i386/stack-check-18.c scan-assembler-times or[ql] 1 gcc.target/i386/stack-check-19.c: pattern found 0 times FAIL: gcc.target/i386/stack-check-19.c scan-rtl-dump-times expand "allocation and probing in loop" 1 gcc.target/i386/stack-check-19.c: pattern found 0 times FAIL: gcc.target/i386/stack-check-19.c scan-rtl-dump-times expand "allocation and probing residuals" 1 gcc.target/i386/stack-check-19.c: or[ql] found 0 times FAIL: gcc.target/i386/stack-check-19.c scan-assembler-times or[ql] 2 gcc.target/i386/stack-check-19.c: (?:je|jne) found 0 times FAIL: gcc.target/i386/stack-check-19.c scan-assembler-times (?:je|jne) 3