This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][RFA] Fix -fstack-check with really big frames on aarch64
- From: Jeff Law <law at redhat dot com>
- To: "Richard Earnshaw (lists)" <Richard dot Earnshaw at arm dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 22 Jun 2017 09:32:40 -0600
- Subject: Re: [PATCH][RFA] Fix -fstack-check with really big frames on aarch64
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx05.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 9BB2930AF6D
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 9BB2930AF6D
- References: <76a8ccc4-c61d-b5fc-7d8a-175cb0bd2fc9@redhat.com> <4795a469-5292-e2ae-b3de-4d07b3ca3672@arm.com>
On 06/22/2017 09:29 AM, Richard Earnshaw (lists) wrote:
> On 22/06/17 16:01, Jeff Law wrote:
>> This fixes a bug discovered when we were evaluating the current state of
>> -fstack-check. It ought to be able to go forward independent of the
>> rest of the -fstack-check work.
>>
>> The aarch64 specific code does not correctly handle large frames and
>> will generate RTL with unrecognizable insns for such cases. This is
>> clearly visible if -fstack-check is enabled by default or if it were to
>> be added to the torture flags in the testsuite.
>>
>> I've tested this by bootstrapping and regression testing an aarch64
>> compiler with -fstack-check on by default and hacks to force all
>> allocations/probing of more than PROBE_INTERVAL bytes to go through this
>> path. It fixes a slew of testsuite failures (~80 for C and a few for
>> Fortran and C++).
>>
>>
>> One example is c-torture/compile/20031023-1.c which has a local frame of
>> 0x10000000000 bytes.
>>
>> OK for the trunk?
>>
>
> OK. But as Jakub says, a test would be nice.
Sure. I'll do something with 20031023-1.c to ensure it or an equivalent
is compiled with -fstack-check. That isn't totally unexpected. I
would have also been receptive to adding -fstack-check to the torture flags.
I'll cobble together the test side momentarily.
jeff