This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][RFA/RFC] Stack clash mitigation patch 08/08 V2
- From: Jeff Law <law at redhat dot com>
- To: Andreas Krebbel <krebbel at linux dot vnet dot ibm dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 21 Jul 2017 11:14:54 -0600
- Subject: Re: [PATCH][RFA/RFC] Stack clash mitigation patch 08/08 V2
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=law at redhat dot com
- Dkim-filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 88FFBC00BB06
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 88FFBC00BB06
- References: <38bce504-51a0-4778-a44e-96ad112f8bbe@redhat.com> <20170721132334.GA13617@maggie>
On 07/21/2017 07:23 AM, Andreas Krebbel wrote:
> Hi,
>
> I've used your patch as the base and applied my changes on top. The
> attached patch is the result, so it is supposed to replace your
> version. It now also supports emitting a runtime loop.
Thanks a ton! I'll roll your changes into the V3 patch.
>
> It bootstraps fine but unfortunately I see an Ada regression which I
> haven't tracked down yet.
>
>> FAIL: cb1010a
>> FAIL: gnat.dg/stack_check1.adb execution test
>> FAIL: gnat.dg/stack_check1.adb execution test
FWIW, due to time constraints I haven't been testing Ada. An educated
guess is that this is related to the #define STACK_CHECK_STATIC_BUILTIN
which was never right for s390, but was useful temporarily. I bet
pulling that out should fix the Ada regression. One of the design goals
of this work is we're not supposed to affect Ada code generation at all.
There's one slight tweak I think we'll want to make as part of the V3
patch I'm about ready to post. Specifically I have introduced PARAMS to
control the size of the guard an the size of the probe interval.
The size of the guard affects if we're going to need static probes. For
s390 I think that we just replace PROBE_INTERVAL with the PARAM_VALUE
for the guard size when we initialize last_probe_offset.
The remainder of PROBE_INTERVAL uses turn into the PARAM_VALUE for the
probe interval size.
I can cobble those together easily I think.
Thanks again!
Jeff