From 80d803aefb82f336abd3ff421c1a7edcbd24c9ae Mon Sep 17 00:00:00 2001 From: Olivier Hainque Date: Wed, 8 Jan 2020 15:53:16 +0000 Subject: [PATCH] relax aarch64 stack-clash tests depedence on alloca.h 2020-01-06 Olivier Hainque Alexandre Oliva * gcc.target/aarch64/stack-check-alloca.h: Remove #include alloca.h. #define alloca __builtin_alloca instead. * gcc.target/aarch64/stack-check-alloca-1.c: Add { dg-require-effective-target alloca }. * gcc.target/aarch64/stack-check-alloca-2.c: Likewise. * gcc.target/aarch64/stack-check-alloca-3.c: Likewise. * gcc.target/aarch64/stack-check-alloca-4.c: Likewise. * gcc.target/aarch64/stack-check-alloca-5.c: Likewise. * gcc.target/aarch64/stack-check-alloca-6.c: Likewise. * gcc.target/aarch64/stack-check-alloca-7.c: Likewise. * gcc.target/aarch64/stack-check-alloca-8.c: Likewise. * gcc.target/aarch64/stack-check-alloca-9.c: Likewise. * gcc.target/aarch64/stack-check-alloca-10.c: Likewise. Co-Authored-By: Alexandre Oliva From-SVN: r280010 --- gcc/testsuite/ChangeLog | 18 ++++++++++++++++++ .../gcc.target/aarch64/stack-check-alloca-1.c | 1 + .../gcc.target/aarch64/stack-check-alloca-10.c | 1 + .../gcc.target/aarch64/stack-check-alloca-2.c | 1 + .../gcc.target/aarch64/stack-check-alloca-3.c | 1 + .../gcc.target/aarch64/stack-check-alloca-4.c | 1 + .../gcc.target/aarch64/stack-check-alloca-5.c | 1 + .../gcc.target/aarch64/stack-check-alloca-6.c | 1 + .../gcc.target/aarch64/stack-check-alloca-7.c | 1 + .../gcc.target/aarch64/stack-check-alloca-8.c | 1 + .../gcc.target/aarch64/stack-check-alloca-9.c | 1 + .../gcc.target/aarch64/stack-check-alloca.h | 6 ++++-- 12 files changed, 32 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 972bb6d155d..63ba12d8686 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,21 @@ +2020-01-08 Olivier Hainque + Alexandre Oliva + + * gcc.target/aarch64/stack-check-alloca.h: Remove + #include alloca.h. #define alloca __builtin_alloca + instead. + * gcc.target/aarch64/stack-check-alloca-1.c: Add + { dg-require-effective-target alloca }. + * gcc.target/aarch64/stack-check-alloca-2.c: Likewise. + * gcc.target/aarch64/stack-check-alloca-3.c: Likewise. + * gcc.target/aarch64/stack-check-alloca-4.c: Likewise. + * gcc.target/aarch64/stack-check-alloca-5.c: Likewise. + * gcc.target/aarch64/stack-check-alloca-6.c: Likewise. + * gcc.target/aarch64/stack-check-alloca-7.c: Likewise. + * gcc.target/aarch64/stack-check-alloca-8.c: Likewise. + * gcc.target/aarch64/stack-check-alloca-9.c: Likewise. + * gcc.target/aarch64/stack-check-alloca-10.c: Likewise. + 2020-01-08 Martin Liska * gcc.dg/ipa/ipa-icf-1.c: Update expected scanned output. diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-1.c b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-1.c index 7fc189f6210..e963ee66d36 100644 --- a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-1.c +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-1.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */ /* { dg-require-effective-target supports_stack_clash_protection } */ +/* { dg-require-effective-target alloca } */ #define SIZE y #include "stack-check-alloca.h" diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-10.c b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-10.c index 7c42206d315..eb85843565d 100644 --- a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-10.c +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-10.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */ /* { dg-require-effective-target supports_stack_clash_protection } */ +/* { dg-require-effective-target alloca } */ #define SIZE 127.5 * 64 * 1024 #include "stack-check-alloca.h" diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-2.c b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-2.c index 69fdd16e35a..cc8216d2312 100644 --- a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-2.c +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-2.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */ /* { dg-require-effective-target supports_stack_clash_protection } */ +/* { dg-require-effective-target alloca } */ #define SIZE 0 #include "stack-check-alloca.h" diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-3.c b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-3.c index fba3a7a25b7..f5e51fa4dc8 100644 --- a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-3.c +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-3.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */ /* { dg-require-effective-target supports_stack_clash_protection } */ +/* { dg-require-effective-target alloca } */ #define SIZE 100 #include "stack-check-alloca.h" diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-4.c b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-4.c index d53f30a4133..c903f4d9998 100644 --- a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-4.c +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-4.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */ /* { dg-require-effective-target supports_stack_clash_protection } */ +/* { dg-require-effective-target alloca } */ #define SIZE 2 * 1024 #include "stack-check-alloca.h" diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-5.c b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-5.c index e0ff99ffbe1..691ec23f89f 100644 --- a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-5.c +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-5.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */ /* { dg-require-effective-target supports_stack_clash_protection } */ +/* { dg-require-effective-target alloca } */ #define SIZE 63 * 1024 #include "stack-check-alloca.h" diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-6.c b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-6.c index c4bad9a2f46..9e4af23ae24 100644 --- a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-6.c +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-6.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */ /* { dg-require-effective-target supports_stack_clash_protection } */ +/* { dg-require-effective-target alloca } */ #define SIZE 63.5 * 1024 #include "stack-check-alloca.h" diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-7.c b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-7.c index cba9ff89c1a..f0ce2d8bd77 100644 --- a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-7.c +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-7.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */ /* { dg-require-effective-target supports_stack_clash_protection } */ +/* { dg-require-effective-target alloca } */ #define SIZE 64 * 1024 #include "stack-check-alloca.h" diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-8.c b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-8.c index 5a35411b344..caaab04df52 100644 --- a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-8.c +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-8.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */ /* { dg-require-effective-target supports_stack_clash_protection } */ +/* { dg-require-effective-target alloca } */ #define SIZE 65 * 1024 #include "stack-check-alloca.h" diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-9.c b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-9.c index 5773d8052bc..2c42e858100 100644 --- a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-9.c +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca-9.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */ /* { dg-require-effective-target supports_stack_clash_protection } */ +/* { dg-require-effective-target alloca } */ #define SIZE 127 * 64 * 1024 #include "stack-check-alloca.h" diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca.h b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca.h index a4f7fa2dd35..8c75f6c0f70 100644 --- a/gcc/testsuite/gcc.target/aarch64/stack-check-alloca.h +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-alloca.h @@ -1,4 +1,6 @@ -#include + +/* Avoid inclusion of alloca.h, unavailable on some systems. */ +#define alloca __builtin_alloca __attribute__((noinline, noipa)) void g (char* ptr, int y) @@ -10,4 +12,4 @@ void f_caller (int y) { char* pStr = alloca(SIZE); g (pStr, y); -} \ No newline at end of file +}