Hi,

On 6 July 2017 at 06:50, Jeff Law <l...@redhat.com> wrote:
> On 07/04/2017 02:50 AM, Christophe Lyon wrote:
>> On 3 July 2017 at 17:30, Jeff Law <l...@redhat.com> wrote:
>>> On 07/03/2017 09:00 AM, Christophe Lyon wrote:
>>>> Hi,
>>>>
>>>> This is a follow-up to
>>>> https://gcc.gnu.org/ml/gcc-patches/2017-06/msg01791.html
>>>>
>>>> This patch adds dg-require-stack-check and updates the tests that use
>>>> dg-options "-fstack-check" to avoid failures on configurations that to
>>>> not support it.
>>>>
>>>> I merely copied what we currently do to check if visibility flags are
>>>> supported, and cross-tested on aarch64 and arm targets with the
>>>> results I expected.
>>>>
>>>> This means that my testing does not cover the changes I propose for
>>>> i386 and gnat.
>>>>
>>>> Is it OK nonetheless?
>>>>
>>>> Thanks,
>>>>
>>>> Christophe
>>>>
>>>>
>>>> stack-check-et.chlog.txt
>>>>
>>>>
>>>> 2017-07-03  Christophe Lyon  <christophe.l...@linaro.org>
>>>>
>>>>       * lib/target-supports-dg.exp (dg-require-stack-check): New.
>>>>       * lib/target-supports.exp (check_stack_check_available): New.
>>>>       * g++.dg/other/i386-9.C: Add dg-require-stack-check.
>>>>       * gcc.c-torture/compile/stack-check-1.c: Likewise.
>>>>       * gcc.dg/graphite/run-id-pr47653.c: Likewise.
>>>>       * gcc.dg/pr47443.c: Likewise.
>>>>       * gcc.dg/pr48134.c: Likewise.
>>>>       * gcc.dg/pr70017.c: Likewise.
>>>>       * gcc.target/aarch64/stack-checking.c: Likewise.
>>>>       * gcc.target/arm/stack-checking.c: Likewise.
>>>>       * gcc.target/i386/pr48723.c: Likewise.
>>>>       * gcc.target/i386/pr55672.c: Likewise.
>>>>       * gcc.target/i386/pr67265-2.c: Likewise.
>>>>       * gcc.target/i386/pr67265.c: Likewise.
>>>>       * gnat.dg/opt49.adb: Likewise.
>>>>       * gnat.dg/stack_check1.adb: Likewise.
>>>>       * gnat.dg/stack_check2.adb: Likewise.
>>>>       * gnat.dg/stack_check3.adb: Likewise.
>>> ACK once you address Rainer's comments.  I've got further stack-check
>>> tests in the queue which I'll update once your change goes in.
>>>
>>> jeff
>> Here is an updated version, which adds documentation for 
>> dg-require-stack-check.
>>
>> I also ran make-check on and x86_64 with ada enabled and checked the logs:
>> the updated i386/* and gnat.dg* tests all pass, and are preceded by
>> the compilation
>> of the "stack_check" sample.
>>
>> OK?
>>
>> Thanks,
>>
>> Christophe
>>
>>
>> stack-check-et.chlog.txt
>>
>>
>> 2017-07-04  Christophe Lyon  <christophe.l...@linaro.org>
>>
>>       gcc/
>>       * doc/sourcebuild.texi (Test Directives, Variants of
>>       dg-require-support): Add documentation for dg-require-stack-check.
>>
>>       gcc/testsuite/
>>       * lib/target-supports-dg.exp (dg-require-stack-check): New.
>>       * lib/target-supports.exp (check_stack_check_available): New.
>>       * g++.dg/other/i386-9.C: Add dg-require-stack-check.
>>       * gcc.c-torture/compile/stack-check-1.c: Likewise.
>>       * gcc.dg/graphite/run-id-pr47653.c: Likewise.
>>       * gcc.dg/pr47443.c: Likewise.
>>       * gcc.dg/pr48134.c: Likewise.
>>       * gcc.dg/pr70017.c: Likewise.
>>       * gcc.target/aarch64/stack-checking.c: Likewise.
>>       * gcc.target/arm/stack-checking.c: Likewise.
>>       * gcc.target/i386/pr48723.c: Likewise.
>>       * gcc.target/i386/pr55672.c: Likewise.
>>       * gcc.target/i386/pr67265-2.c: Likewise.
>>       * gcc.target/i386/pr67265.c: Likewise.
>>       * gnat.dg/opt49.adb: Likewise.
>>       * gnat.dg/stack_check1.adb: Likewise.
>>       * gnat.dg/stack_check2.adb: Likewise.
>>       * gnat.dg/stack_check3.adb: Likewise.
> OK for the trunk.  Thanks for doing this!
>

I've committed this as r250013.

Since then, I've noticed that pr48134 randomly fails.

According to gcc.log, this seems related the order wrt pr47443.
pr48134 uses -fstack-check=specific, while pr47443 uses -fstack-check=generic.

When pr47443 appears before pr48134 in gcc.log, the latter fails,
otherwise it is unsupported.

Looking at gcc.log, it seems that dg-require-stack-check is not always called.
Is there some caching in dejagnu I'm not aware of, that would ignore
the value of the
parameter (assuming that dg-require-stack-check "specific" and
dg-require-stack-check "generic" return the same value?)

Am I missing anything obvious?

Thanks,

Christophe


> Jeff

Reply via email to