aarch64: add -fno-stack-protector to tests
Checks
Commit Message
Bootstrapped/regtested on aarch64-pc-linux-gnu, ok for trunk/13?
-- >8 --
These tests fail when the testsuite is executed with -fstack-protector-strong.
To avoid this, this patch adds -fno-stack-protector to dg-options.
The list of FAILs is appended. As you can see, it's mostly about
scan-assembler-* which are sort of expected to fail with the stack
protector on.
FAIL: gcc.target/aarch64/ldp_stp_unaligned_2.c scan-assembler-not mov\\tx[0-9]+, sp
FAIL: gcc.target/aarch64/shadow_call_stack_5.c scan-assembler-times stp\\\\tx29, x30, \\\\[sp\\\\] 1
FAIL: gcc.target/aarch64/shadow_call_stack_5.c scan-assembler ldr\\\\tx29, \\\\[sp\\\\]
FAIL: gcc.target/aarch64/shadow_call_stack_6.c scan-assembler-times str\\\\tx30, \\\\[sp\\\\] 1
FAIL: gcc.target/aarch64/shadow_call_stack_7.c scan-assembler-times stp\\\\tx19, x30, \\\\[sp, -[0-9]+\\\\]! 1
FAIL: gcc.target/aarch64/shadow_call_stack_7.c scan-assembler ldr\\\\tx19, \\\\[sp\\\\], [0-9]+
FAIL: gcc.target/aarch64/shadow_call_stack_8.c scan-assembler-times stp\\\\tx19, x20, \\\\[sp, -[0-9]+\\\\]! 1
FAIL: gcc.target/aarch64/shadow_call_stack_8.c scan-assembler ldp\\\\tx19, x20, \\\\[sp\\\\], [0-9]+
FAIL: gcc.target/aarch64/stack-check-12.c scan-assembler-times str\\\\txzr, 2
FAIL: gcc.target/aarch64/stack-check-prologue-11.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
FAIL: gcc.target/aarch64/stack-check-prologue-12.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
FAIL: gcc.target/aarch64/stack-check-prologue-13.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
FAIL: gcc.target/aarch64/stack-check-prologue-13.c scan-assembler-times str\\\\s+x30, \\\\[sp\\\\] 1
FAIL: gcc.target/aarch64/stack-check-prologue-14.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
FAIL: gcc.target/aarch64/stack-check-prologue-14.c scan-assembler-times str\\\\s+x30, \\\\[sp\\\\] 1
FAIL: gcc.target/aarch64/stack-check-prologue-15.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
FAIL: gcc.target/aarch64/stack-check-prologue-15.c scan-assembler-times str\\\\s+x30, \\\\[sp\\\\] 1
FAIL: gcc.target/aarch64/stack-check-prologue-17.c check-function-bodies test1
FAIL: gcc.target/aarch64/stack-check-prologue-17.c check-function-bodies test2
FAIL: gcc.target/aarch64/stack-check-prologue-18.c check-function-bodies test1
FAIL: gcc.target/aarch64/stack-check-prologue-18.c check-function-bodies test2
FAIL: gcc.target/aarch64/stack-check-prologue-18.c check-function-bodies test3
FAIL: gcc.target/aarch64/stack-check-prologue-19.c check-function-bodies test1
FAIL: gcc.target/aarch64/stack-check-prologue-19.c check-function-bodies test2
FAIL: gcc.target/aarch64/stack-check-prologue-19.c check-function-bodies test3
FAIL: gcc.target/aarch64/stack-check-prologue-2.c scan-assembler-times str\\\\s+xzr, 0
FAIL: gcc.target/aarch64/stack-check-prologue-5.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
FAIL: gcc.target/aarch64/stack-check-prologue-6.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
FAIL: gcc.target/aarch64/stack-check-prologue-8.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 2
FAIL: gcc.target/aarch64/stack-check-prologue-9.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
FAIL: gcc.target/aarch64/test_frame_1.c scan-assembler-times str\\tx30, \\\\[sp, -[0-9]+\\\\]! 2
FAIL: gcc.target/aarch64/test_frame_10.c scan-assembler-times stp\\tx19, x30, \\\\[sp, [0-9]+\\\\] 1
FAIL: gcc.target/aarch64/test_frame_10.c scan-assembler ldp\\tx19, x30, \\\\[sp, [0-9]+\\\\]
FAIL: gcc.target/aarch64/test_frame_11.c scan-assembler-times stp\\tx29, x30, \\\\[sp, -[0-9]+\\\\]! 2
FAIL: gcc.target/aarch64/test_frame_13.c scan-assembler-times stp\\tx29, x30, \\\\[sp\\\\] 1
FAIL: gcc.target/aarch64/test_frame_15.c scan-assembler-times stp\\tx29, x30, \\\\[sp, [0-9]+\\\\] 1
FAIL: gcc.target/aarch64/test_frame_2.c scan-assembler-times stp\\tx19, x30, \\\\[sp, -[0-9]+\\\\]! 1
FAIL: gcc.target/aarch64/test_frame_2.c scan-assembler ldp\\tx19, x30, \\\\[sp\\\\], [0-9]+
FAIL: gcc.target/aarch64/test_frame_4.c scan-assembler-times stp\\tx19, x30, \\\\[sp, -[0-9]+\\\\]! 1
FAIL: gcc.target/aarch64/test_frame_4.c scan-assembler ldp\\tx19, x30, \\\\[sp\\\\], [0-9]+
FAIL: gcc.target/aarch64/test_frame_6.c scan-assembler-times str\\tx30, \\\\[sp\\\\] 1
FAIL: gcc.target/aarch64/test_frame_7.c scan-assembler-times stp\\tx19, x30, \\\\[sp] 1
FAIL: gcc.target/aarch64/test_frame_8.c scan-assembler-times str\\tx30, \\\\[sp, [0-9]+\\\\] 1
FAIL: gcc.target/aarch64/test_frame_8.c scan-assembler ldr\\tx30, \\\\[sp, [0-9]+\\\\]
FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times cmp\\\\s+x[0-9]+, 61440 4
FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times sub\\\\s+x[0-9]+, x[0-9]+, 61440 4
FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times cmp\\s+x[0-9]+, 61440 4
FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times sub\\s+x[0-9]+, x[0-9]+, 61440 4
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/ldp_stp_unaligned_2.c: Use -fno-stack-protector.
* gcc.target/aarch64/shadow_call_stack_5.c: Likewise.
* gcc.target/aarch64/shadow_call_stack_6.c: Likewise.
* gcc.target/aarch64/shadow_call_stack_7.c: Likewise.
* gcc.target/aarch64/shadow_call_stack_8.c: Likewise.
* gcc.target/aarch64/stack-check-12.c: Likewise.
* gcc.target/aarch64/stack-check-prologue-11.c: Likewise.
* gcc.target/aarch64/stack-check-prologue-12.c: Likewise.
* gcc.target/aarch64/stack-check-prologue-13.c: Likewise.
* gcc.target/aarch64/stack-check-prologue-14.c: Likewise.
* gcc.target/aarch64/stack-check-prologue-15.c: Likewise.
* gcc.target/aarch64/stack-check-prologue-17.c: Likewise.
* gcc.target/aarch64/stack-check-prologue-18.c: Likewise.
* gcc.target/aarch64/stack-check-prologue-19.c: Likewise.
* gcc.target/aarch64/stack-check-prologue-2.c: Likewise.
* gcc.target/aarch64/stack-check-prologue-5.c: Likewise.
* gcc.target/aarch64/stack-check-prologue-6.c: Likewise.
* gcc.target/aarch64/stack-check-prologue-8.c: Likewise.
* gcc.target/aarch64/stack-check-prologue-9.c: Likewise.
* gcc.target/aarch64/sve/struct_vect_24.c: Likewise.
* gcc.target/aarch64/test_frame_1.c: Likewise.
* gcc.target/aarch64/test_frame_10.c: Likewise.
* gcc.target/aarch64/test_frame_11.c: Likewise.
* gcc.target/aarch64/test_frame_13.c: Likewise.
* gcc.target/aarch64/test_frame_15.c: Likewise.
* gcc.target/aarch64/test_frame_2.c: Likewise.
* gcc.target/aarch64/test_frame_4.c: Likewise.
* gcc.target/aarch64/test_frame_6.c: Likewise.
* gcc.target/aarch64/test_frame_7.c: Likewise.
* gcc.target/aarch64/test_frame_8.c: Likewise.
---
gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_2.c | 2 +-
gcc/testsuite/gcc.target/aarch64/shadow_call_stack_5.c | 2 +-
gcc/testsuite/gcc.target/aarch64/shadow_call_stack_6.c | 2 +-
gcc/testsuite/gcc.target/aarch64/shadow_call_stack_7.c | 2 +-
gcc/testsuite/gcc.target/aarch64/shadow_call_stack_8.c | 2 +-
gcc/testsuite/gcc.target/aarch64/stack-check-12.c | 2 +-
gcc/testsuite/gcc.target/aarch64/stack-check-prologue-11.c | 2 +-
gcc/testsuite/gcc.target/aarch64/stack-check-prologue-12.c | 2 +-
gcc/testsuite/gcc.target/aarch64/stack-check-prologue-13.c | 4 ++--
gcc/testsuite/gcc.target/aarch64/stack-check-prologue-14.c | 4 ++--
gcc/testsuite/gcc.target/aarch64/stack-check-prologue-15.c | 2 +-
gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c | 2 +-
gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c | 2 +-
gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c | 2 +-
gcc/testsuite/gcc.target/aarch64/stack-check-prologue-2.c | 2 +-
gcc/testsuite/gcc.target/aarch64/stack-check-prologue-5.c | 2 +-
gcc/testsuite/gcc.target/aarch64/stack-check-prologue-6.c | 2 +-
gcc/testsuite/gcc.target/aarch64/stack-check-prologue-8.c | 2 +-
gcc/testsuite/gcc.target/aarch64/stack-check-prologue-9.c | 2 +-
gcc/testsuite/gcc.target/aarch64/sve/struct_vect_24.c | 2 +-
gcc/testsuite/gcc.target/aarch64/test_frame_1.c | 2 +-
gcc/testsuite/gcc.target/aarch64/test_frame_10.c | 2 +-
gcc/testsuite/gcc.target/aarch64/test_frame_11.c | 2 +-
gcc/testsuite/gcc.target/aarch64/test_frame_13.c | 2 +-
gcc/testsuite/gcc.target/aarch64/test_frame_15.c | 2 +-
gcc/testsuite/gcc.target/aarch64/test_frame_2.c | 2 +-
gcc/testsuite/gcc.target/aarch64/test_frame_4.c | 2 +-
gcc/testsuite/gcc.target/aarch64/test_frame_6.c | 2 +-
gcc/testsuite/gcc.target/aarch64/test_frame_7.c | 2 +-
gcc/testsuite/gcc.target/aarch64/test_frame_8.c | 2 +-
30 files changed, 32 insertions(+), 32 deletions(-)
base-commit: 1bd15d87031e8bf8fe9585fbc166b315303f676c
Comments
Marek Polacek <polacek@redhat.com> writes:
> Bootstrapped/regtested on aarch64-pc-linux-gnu, ok for trunk/13?
>
> -- >8 --
> These tests fail when the testsuite is executed with -fstack-protector-strong.
> To avoid this, this patch adds -fno-stack-protector to dg-options.
>
> The list of FAILs is appended. As you can see, it's mostly about
> scan-assembler-* which are sort of expected to fail with the stack
> protector on.
>
> FAIL: gcc.target/aarch64/ldp_stp_unaligned_2.c scan-assembler-not mov\\tx[0-9]+, sp
> FAIL: gcc.target/aarch64/shadow_call_stack_5.c scan-assembler-times stp\\\\tx29, x30, \\\\[sp\\\\] 1
> FAIL: gcc.target/aarch64/shadow_call_stack_5.c scan-assembler ldr\\\\tx29, \\\\[sp\\\\]
> FAIL: gcc.target/aarch64/shadow_call_stack_6.c scan-assembler-times str\\\\tx30, \\\\[sp\\\\] 1
> FAIL: gcc.target/aarch64/shadow_call_stack_7.c scan-assembler-times stp\\\\tx19, x30, \\\\[sp, -[0-9]+\\\\]! 1
> FAIL: gcc.target/aarch64/shadow_call_stack_7.c scan-assembler ldr\\\\tx19, \\\\[sp\\\\], [0-9]+
> FAIL: gcc.target/aarch64/shadow_call_stack_8.c scan-assembler-times stp\\\\tx19, x20, \\\\[sp, -[0-9]+\\\\]! 1
> FAIL: gcc.target/aarch64/shadow_call_stack_8.c scan-assembler ldp\\\\tx19, x20, \\\\[sp\\\\], [0-9]+
> FAIL: gcc.target/aarch64/stack-check-12.c scan-assembler-times str\\\\txzr, 2
> FAIL: gcc.target/aarch64/stack-check-prologue-11.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> FAIL: gcc.target/aarch64/stack-check-prologue-12.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> FAIL: gcc.target/aarch64/stack-check-prologue-13.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> FAIL: gcc.target/aarch64/stack-check-prologue-13.c scan-assembler-times str\\\\s+x30, \\\\[sp\\\\] 1
> FAIL: gcc.target/aarch64/stack-check-prologue-14.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> FAIL: gcc.target/aarch64/stack-check-prologue-14.c scan-assembler-times str\\\\s+x30, \\\\[sp\\\\] 1
> FAIL: gcc.target/aarch64/stack-check-prologue-15.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> FAIL: gcc.target/aarch64/stack-check-prologue-15.c scan-assembler-times str\\\\s+x30, \\\\[sp\\\\] 1
> FAIL: gcc.target/aarch64/stack-check-prologue-17.c check-function-bodies test1
> FAIL: gcc.target/aarch64/stack-check-prologue-17.c check-function-bodies test2
> FAIL: gcc.target/aarch64/stack-check-prologue-18.c check-function-bodies test1
> FAIL: gcc.target/aarch64/stack-check-prologue-18.c check-function-bodies test2
> FAIL: gcc.target/aarch64/stack-check-prologue-18.c check-function-bodies test3
> FAIL: gcc.target/aarch64/stack-check-prologue-19.c check-function-bodies test1
> FAIL: gcc.target/aarch64/stack-check-prologue-19.c check-function-bodies test2
> FAIL: gcc.target/aarch64/stack-check-prologue-19.c check-function-bodies test3
> FAIL: gcc.target/aarch64/stack-check-prologue-2.c scan-assembler-times str\\\\s+xzr, 0
> FAIL: gcc.target/aarch64/stack-check-prologue-5.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> FAIL: gcc.target/aarch64/stack-check-prologue-6.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> FAIL: gcc.target/aarch64/stack-check-prologue-8.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 2
> FAIL: gcc.target/aarch64/stack-check-prologue-9.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> FAIL: gcc.target/aarch64/test_frame_1.c scan-assembler-times str\\tx30, \\\\[sp, -[0-9]+\\\\]! 2
> FAIL: gcc.target/aarch64/test_frame_10.c scan-assembler-times stp\\tx19, x30, \\\\[sp, [0-9]+\\\\] 1
> FAIL: gcc.target/aarch64/test_frame_10.c scan-assembler ldp\\tx19, x30, \\\\[sp, [0-9]+\\\\]
> FAIL: gcc.target/aarch64/test_frame_11.c scan-assembler-times stp\\tx29, x30, \\\\[sp, -[0-9]+\\\\]! 2
> FAIL: gcc.target/aarch64/test_frame_13.c scan-assembler-times stp\\tx29, x30, \\\\[sp\\\\] 1
> FAIL: gcc.target/aarch64/test_frame_15.c scan-assembler-times stp\\tx29, x30, \\\\[sp, [0-9]+\\\\] 1
> FAIL: gcc.target/aarch64/test_frame_2.c scan-assembler-times stp\\tx19, x30, \\\\[sp, -[0-9]+\\\\]! 1
> FAIL: gcc.target/aarch64/test_frame_2.c scan-assembler ldp\\tx19, x30, \\\\[sp\\\\], [0-9]+
> FAIL: gcc.target/aarch64/test_frame_4.c scan-assembler-times stp\\tx19, x30, \\\\[sp, -[0-9]+\\\\]! 1
> FAIL: gcc.target/aarch64/test_frame_4.c scan-assembler ldp\\tx19, x30, \\\\[sp\\\\], [0-9]+
> FAIL: gcc.target/aarch64/test_frame_6.c scan-assembler-times str\\tx30, \\\\[sp\\\\] 1
> FAIL: gcc.target/aarch64/test_frame_7.c scan-assembler-times stp\\tx19, x30, \\\\[sp] 1
> FAIL: gcc.target/aarch64/test_frame_8.c scan-assembler-times str\\tx30, \\\\[sp, [0-9]+\\\\] 1
> FAIL: gcc.target/aarch64/test_frame_8.c scan-assembler ldr\\tx30, \\\\[sp, [0-9]+\\\\]
> FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times cmp\\\\s+x[0-9]+, 61440 4
> FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times sub\\\\s+x[0-9]+, x[0-9]+, 61440 4
> FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times cmp\\s+x[0-9]+, 61440 4
> FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times sub\\s+x[0-9]+, x[0-9]+, 61440 4
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/aarch64/ldp_stp_unaligned_2.c: Use -fno-stack-protector.
> * gcc.target/aarch64/shadow_call_stack_5.c: Likewise.
> * gcc.target/aarch64/shadow_call_stack_6.c: Likewise.
> * gcc.target/aarch64/shadow_call_stack_7.c: Likewise.
> * gcc.target/aarch64/shadow_call_stack_8.c: Likewise.
> * gcc.target/aarch64/stack-check-12.c: Likewise.
> * gcc.target/aarch64/stack-check-prologue-11.c: Likewise.
> * gcc.target/aarch64/stack-check-prologue-12.c: Likewise.
> * gcc.target/aarch64/stack-check-prologue-13.c: Likewise.
> * gcc.target/aarch64/stack-check-prologue-14.c: Likewise.
> * gcc.target/aarch64/stack-check-prologue-15.c: Likewise.
> * gcc.target/aarch64/stack-check-prologue-17.c: Likewise.
> * gcc.target/aarch64/stack-check-prologue-18.c: Likewise.
> * gcc.target/aarch64/stack-check-prologue-19.c: Likewise.
> * gcc.target/aarch64/stack-check-prologue-2.c: Likewise.
> * gcc.target/aarch64/stack-check-prologue-5.c: Likewise.
> * gcc.target/aarch64/stack-check-prologue-6.c: Likewise.
> * gcc.target/aarch64/stack-check-prologue-8.c: Likewise.
> * gcc.target/aarch64/stack-check-prologue-9.c: Likewise.
> * gcc.target/aarch64/sve/struct_vect_24.c: Likewise.
> * gcc.target/aarch64/test_frame_1.c: Likewise.
> * gcc.target/aarch64/test_frame_10.c: Likewise.
> * gcc.target/aarch64/test_frame_11.c: Likewise.
> * gcc.target/aarch64/test_frame_13.c: Likewise.
> * gcc.target/aarch64/test_frame_15.c: Likewise.
> * gcc.target/aarch64/test_frame_2.c: Likewise.
> * gcc.target/aarch64/test_frame_4.c: Likewise.
> * gcc.target/aarch64/test_frame_6.c: Likewise.
> * gcc.target/aarch64/test_frame_7.c: Likewise.
> * gcc.target/aarch64/test_frame_8.c: Likewise.
OK. I'm afraid this is likely to be an ongoing battle though.
Maybe we should enforce this at the .exp level instead?
E.g. we could automatically add -fno-stack-protector to tests that
aren't being run.
I suppose it's a question for those who test -fstack-protector
which is worse: potentially losing some dg-do compile coverage
of target-specific tests, or having to keep adding explicit
-fno-stack-protector options.
Thanks,
Richard
> ---
> gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_2.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/shadow_call_stack_5.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/shadow_call_stack_6.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/shadow_call_stack_7.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/shadow_call_stack_8.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/stack-check-12.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/stack-check-prologue-11.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/stack-check-prologue-12.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/stack-check-prologue-13.c | 4 ++--
> gcc/testsuite/gcc.target/aarch64/stack-check-prologue-14.c | 4 ++--
> gcc/testsuite/gcc.target/aarch64/stack-check-prologue-15.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/stack-check-prologue-2.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/stack-check-prologue-5.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/stack-check-prologue-6.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/stack-check-prologue-8.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/stack-check-prologue-9.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/sve/struct_vect_24.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/test_frame_1.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/test_frame_10.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/test_frame_11.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/test_frame_13.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/test_frame_15.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/test_frame_2.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/test_frame_4.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/test_frame_6.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/test_frame_7.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/test_frame_8.c | 2 +-
> 30 files changed, 32 insertions(+), 32 deletions(-)
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_2.c b/gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_2.c
> index 1e46755a39a..50d7d7a2d5d 100644
> --- a/gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_2.c
> +++ b/gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_2.c
> @@ -1,4 +1,4 @@
> -/* { dg-options "-O2 -fomit-frame-pointer" } */
> +/* { dg-options "-O2 -fomit-frame-pointer -fno-stack-protector" } */
>
> /* Check that we split unaligned LDP/STP into base and aligned offset. */
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_5.c b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_5.c
> index d88357ca04d..d7f82984ff5 100644
> --- a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_5.c
> +++ b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_5.c
> @@ -7,7 +7,7 @@
> * optimized code should use "ldr x29, [sp]" to restore x29 only. */
>
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fno-omit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps" } */
> +/* { dg-options "-O2 -fno-omit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps -fno-stack-protector" } */
>
> #include "test_frame_common.h"
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_6.c b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_6.c
> index 83b74834c6a..8d088aecc20 100644
> --- a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_6.c
> +++ b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_6.c
> @@ -7,7 +7,7 @@
> * optimized code should not restore x30 in epilogue. */
>
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps" } */
> +/* { dg-options "-O2 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps -fno-stack-protector" } */
>
> #include "test_frame_common.h"
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_7.c b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_7.c
> index 5537fb3293a..a2f376e0091 100644
> --- a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_7.c
> +++ b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_7.c
> @@ -7,7 +7,7 @@
> * optimized code should use "ldr x19, [sp], x" to restore x19 only. */
>
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps" } */
> +/* { dg-options "-O2 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps -fno-stack-protector" } */
>
> #include "test_frame_common.h"
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_8.c b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_8.c
> index b03f26f7bcf..5162cbb3917 100644
> --- a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_8.c
> +++ b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_8.c
> @@ -9,7 +9,7 @@
> * optimized code should not restore x30 in epilogue. */
>
> /* { dg-do compile } */
> -/* { dg-options "-O0 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps" } */
> +/* { dg-options "-O0 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps -fno-stack-protector" } */
>
> int func1 (void)
> {
> diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-12.c b/gcc/testsuite/gcc.target/aarch64/stack-check-12.c
> index be5a57a9ec6..e1a4c67b041 100644
> --- a/gcc/testsuite/gcc.target/aarch64/stack-check-12.c
> +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-12.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-asynchronous-unwind-tables -fno-unwind-tables" } */
> +/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-stack-protector" } */
> /* { dg-require-effective-target supports_stack_clash_protection } */
>
> typedef unsigned __attribute__((mode(DI))) uint64_t;
> diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-11.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-11.c
> index 741f2f5fadc..d57aece05bb 100644
> --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-11.c
> +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-11.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
> +/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
> /* { dg-require-effective-target supports_stack_clash_protection } */
>
> #define SIZE (6 * 64 * 1024) + (1 * 32 * 1024)
> diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-12.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-12.c
> index ece68003ade..895d130e4fa 100644
> --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-12.c
> +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-12.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer" } */
> +/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-stack-protector" } */
> /* { dg-require-effective-target supports_stack_clash_protection } */
>
> void
> diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-13.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-13.c
> index 0fc900c6943..1f1a6c497be 100644
> --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-13.c
> +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-13.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer" } */
> +/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-stack-protector" } */
> /* { dg-require-effective-target supports_stack_clash_protection } */
>
> void h (void) __attribute__ ((noreturn));
> @@ -17,4 +17,4 @@ f (void)
>
> /* SIZE is more than 1 guard-size, but only one 64KB page is used, expect only 1
> probe. Leaf function and omitting leaf pointers, tail call to noreturn which
> - may only omit an epilogue and not a prologue. Checking for LR saving. */
> \ No newline at end of file
> + may only omit an epilogue and not a prologue. Checking for LR saving. */
> diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-14.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-14.c
> index ea733f861e7..facb3cb72a7 100644
> --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-14.c
> +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-14.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer" } */
> +/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-stack-protector" } */
> /* { dg-require-effective-target supports_stack_clash_protection } */
>
> void h (void) __attribute__ ((noreturn));
> @@ -21,4 +21,4 @@ f (void)
> probe at 1024 and one implicit probe due to LR being saved. Leaf function
> and omitting leaf pointers, tail call to noreturn which may only omit an
> epilogue and not a prologue and control flow in between. Checking for
> - LR saving. */
> \ No newline at end of file
> + LR saving. */
> diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-15.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-15.c
> index 63df4a5609a..f2ac60a6214 100644
> --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-15.c
> +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-15.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer" } */
> +/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-stack-protector" } */
> /* { dg-require-effective-target supports_stack_clash_protection } */
>
> void g (volatile int *x) ;
> diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c
> index f0ec1389771..1cf6fbbb085 100644
> --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c
> +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c
> @@ -1,4 +1,4 @@
> -/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12" } */
> +/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12 -fno-stack-protector" } */
> /* { dg-final { check-function-bodies "**" "" } } */
>
> void f(int, ...);
> diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c
> index 6383bec5ebc..2e06346c158 100644
> --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c
> +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c
> @@ -1,4 +1,4 @@
> -/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12" } */
> +/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12 -fno-stack-protector" } */
> /* { dg-final { check-function-bodies "**" "" } } */
>
> void f(int, ...);
> diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c
> index 562039b5e9b..38eab4d36ab 100644
> --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c
> +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c
> @@ -1,4 +1,4 @@
> -/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12 -fsanitize=shadow-call-stack -ffixed-x18" } */
> +/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12 -fsanitize=shadow-call-stack -ffixed-x18 -fno-stack-protector" } */
> /* { dg-final { check-function-bodies "**" "" } } */
>
> void f(int, ...);
> diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-2.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-2.c
> index 61c52a251a7..b37f62cad27 100644
> --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-2.c
> +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-2.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
> +/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
> /* { dg-require-effective-target supports_stack_clash_protection } */
>
> #define SIZE 2 * 1024
> diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-5.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-5.c
> index 2ee16350127..34a438671d0 100644
> --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-5.c
> +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-5.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
> +/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
> /* { dg-require-effective-target supports_stack_clash_protection } */
>
> #define SIZE 64 * 1024
> diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-6.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-6.c
> index 3c9b606cbe0..a4e34e2fe6a 100644
> --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-6.c
> +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-6.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
> +/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
> /* { dg-require-effective-target supports_stack_clash_protection } */
>
> #define SIZE 65 * 1024
> diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-8.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-8.c
> index 333f5fcc360..277dce4c71e 100644
> --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-8.c
> +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-8.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
> +/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
> /* { dg-require-effective-target supports_stack_clash_protection } */
>
> #define SIZE 128 * 1024
> diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-9.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-9.c
> index a3ff89b5581..a21305541c1 100644
> --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-9.c
> +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-9.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
> +/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
> /* { dg-require-effective-target supports_stack_clash_protection } */
>
> #define SIZE 6 * 64 * 1024
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_24.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_24.c
> index 68a9d5e3d2e..19be6de0c2e 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_24.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_24.c
> @@ -1,6 +1,6 @@
> /* { dg-do compile } */
> /* { dg-require-effective-target supports_stack_clash_protection } */
> -/* { dg-options "-O3 -fopenmp-simd -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
> +/* { dg-options "-O3 -fopenmp-simd -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
>
> #include <stdint.h>
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_1.c b/gcc/testsuite/gcc.target/aarch64/test_frame_1.c
> index f906b073545..c9b8822b4b1 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test_frame_1.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_1.c
> @@ -6,7 +6,7 @@
> * optimized code should use "str !" for stack adjustment. */
>
> /* { dg-do run } */
> -/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
> +/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
>
> #include "test_frame_common.h"
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_10.c b/gcc/testsuite/gcc.target/aarch64/test_frame_10.c
> index c54ab2d0ccb..fe5cbd9ed05 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test_frame_10.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_10.c
> @@ -7,7 +7,7 @@
> * Use a single stack adjustment, no writeback. */
>
> /* { dg-do run } */
> -/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
> +/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
>
> #include "test_frame_common.h"
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_11.c b/gcc/testsuite/gcc.target/aarch64/test_frame_11.c
> index f162cc091e0..11cf471168d 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test_frame_11.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_11.c
> @@ -5,7 +5,7 @@
> * optimized code should use "stp !" for stack adjustment. */
>
> /* { dg-do run } */
> -/* { dg-options "-O2 --save-temps" } */
> +/* { dg-options "-O2 --save-temps -fno-stack-protector" } */
>
> #include "test_frame_common.h"
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_13.c b/gcc/testsuite/gcc.target/aarch64/test_frame_13.c
> index 74b3370fa46..ec56963c038 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test_frame_13.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_13.c
> @@ -5,7 +5,7 @@
> * Use a single stack adjustment, no writeback. */
>
> /* { dg-do run } */
> -/* { dg-options "-O2 --save-temps" } */
> +/* { dg-options "-O2 --save-temps -fno-stack-protector" } */
>
> #include "test_frame_common.h"
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_15.c b/gcc/testsuite/gcc.target/aarch64/test_frame_15.c
> index bed6714b4fe..4247008de8e 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test_frame_15.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_15.c
> @@ -6,7 +6,7 @@
> * Use a single stack adjustment, no writeback. */
>
> /* { dg-do run } */
> -/* { dg-options "-O2 --save-temps" } */
> +/* { dg-options "-O2 --save-temps -fno-stack-protector" } */
>
> #include "test_frame_common.h"
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_2.c b/gcc/testsuite/gcc.target/aarch64/test_frame_2.c
> index 0d715314cb8..9c4243b6480 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test_frame_2.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_2.c
> @@ -6,7 +6,7 @@
> * optimized code should use "stp !" for stack adjustment. */
>
> /* { dg-do run } */
> -/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
> +/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
>
> #include "test_frame_common.h"
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_4.c b/gcc/testsuite/gcc.target/aarch64/test_frame_4.c
> index b41229c42f4..8d0bed93e44 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test_frame_4.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_4.c
> @@ -6,7 +6,7 @@
> * we can use "stp !" to optimize stack adjustment. */
>
> /* { dg-do run } */
> -/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
> +/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
>
> #include "test_frame_common.h"
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_6.c b/gcc/testsuite/gcc.target/aarch64/test_frame_6.c
> index 56259c945d2..2944a8bbe16 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test_frame_6.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_6.c
> @@ -6,7 +6,7 @@
> * use a single stack adjustment, no writeback. */
>
> /* { dg-do run } */
> -/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
> +/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
>
> #include "test_frame_common.h"
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_7.c b/gcc/testsuite/gcc.target/aarch64/test_frame_7.c
> index 5702656a5da..ca371632d81 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test_frame_7.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_7.c
> @@ -6,7 +6,7 @@
> * use a single stack adjustment, no writeback. */
>
> /* { dg-do run } */
> -/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
> +/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
>
> #include "test_frame_common.h"
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_8.c b/gcc/testsuite/gcc.target/aarch64/test_frame_8.c
> index 75a68b41e08..084e8fac373 100644
> --- a/gcc/testsuite/gcc.target/aarch64/test_frame_8.c
> +++ b/gcc/testsuite/gcc.target/aarch64/test_frame_8.c
> @@ -5,7 +5,7 @@
> * number of callee-saved reg == 1. */
>
> /* { dg-do run } */
> -/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
> +/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
>
> #include "test_frame_common.h"
>
>
> base-commit: 1bd15d87031e8bf8fe9585fbc166b315303f676c
On Thu, Dec 07, 2023 at 04:05:47PM +0000, Richard Sandiford wrote:
> Marek Polacek <polacek@redhat.com> writes:
> > Bootstrapped/regtested on aarch64-pc-linux-gnu, ok for trunk/13?
> >
> > -- >8 --
> > These tests fail when the testsuite is executed with -fstack-protector-strong.
> > To avoid this, this patch adds -fno-stack-protector to dg-options.
> >
> > The list of FAILs is appended. As you can see, it's mostly about
> > scan-assembler-* which are sort of expected to fail with the stack
> > protector on.
> >
> > FAIL: gcc.target/aarch64/ldp_stp_unaligned_2.c scan-assembler-not mov\\tx[0-9]+, sp
> > FAIL: gcc.target/aarch64/shadow_call_stack_5.c scan-assembler-times stp\\\\tx29, x30, \\\\[sp\\\\] 1
> > FAIL: gcc.target/aarch64/shadow_call_stack_5.c scan-assembler ldr\\\\tx29, \\\\[sp\\\\]
> > FAIL: gcc.target/aarch64/shadow_call_stack_6.c scan-assembler-times str\\\\tx30, \\\\[sp\\\\] 1
> > FAIL: gcc.target/aarch64/shadow_call_stack_7.c scan-assembler-times stp\\\\tx19, x30, \\\\[sp, -[0-9]+\\\\]! 1
> > FAIL: gcc.target/aarch64/shadow_call_stack_7.c scan-assembler ldr\\\\tx19, \\\\[sp\\\\], [0-9]+
> > FAIL: gcc.target/aarch64/shadow_call_stack_8.c scan-assembler-times stp\\\\tx19, x20, \\\\[sp, -[0-9]+\\\\]! 1
> > FAIL: gcc.target/aarch64/shadow_call_stack_8.c scan-assembler ldp\\\\tx19, x20, \\\\[sp\\\\], [0-9]+
> > FAIL: gcc.target/aarch64/stack-check-12.c scan-assembler-times str\\\\txzr, 2
> > FAIL: gcc.target/aarch64/stack-check-prologue-11.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> > FAIL: gcc.target/aarch64/stack-check-prologue-12.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> > FAIL: gcc.target/aarch64/stack-check-prologue-13.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> > FAIL: gcc.target/aarch64/stack-check-prologue-13.c scan-assembler-times str\\\\s+x30, \\\\[sp\\\\] 1
> > FAIL: gcc.target/aarch64/stack-check-prologue-14.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> > FAIL: gcc.target/aarch64/stack-check-prologue-14.c scan-assembler-times str\\\\s+x30, \\\\[sp\\\\] 1
> > FAIL: gcc.target/aarch64/stack-check-prologue-15.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> > FAIL: gcc.target/aarch64/stack-check-prologue-15.c scan-assembler-times str\\\\s+x30, \\\\[sp\\\\] 1
> > FAIL: gcc.target/aarch64/stack-check-prologue-17.c check-function-bodies test1
> > FAIL: gcc.target/aarch64/stack-check-prologue-17.c check-function-bodies test2
> > FAIL: gcc.target/aarch64/stack-check-prologue-18.c check-function-bodies test1
> > FAIL: gcc.target/aarch64/stack-check-prologue-18.c check-function-bodies test2
> > FAIL: gcc.target/aarch64/stack-check-prologue-18.c check-function-bodies test3
> > FAIL: gcc.target/aarch64/stack-check-prologue-19.c check-function-bodies test1
> > FAIL: gcc.target/aarch64/stack-check-prologue-19.c check-function-bodies test2
> > FAIL: gcc.target/aarch64/stack-check-prologue-19.c check-function-bodies test3
> > FAIL: gcc.target/aarch64/stack-check-prologue-2.c scan-assembler-times str\\\\s+xzr, 0
> > FAIL: gcc.target/aarch64/stack-check-prologue-5.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> > FAIL: gcc.target/aarch64/stack-check-prologue-6.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> > FAIL: gcc.target/aarch64/stack-check-prologue-8.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 2
> > FAIL: gcc.target/aarch64/stack-check-prologue-9.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
> > FAIL: gcc.target/aarch64/test_frame_1.c scan-assembler-times str\\tx30, \\\\[sp, -[0-9]+\\\\]! 2
> > FAIL: gcc.target/aarch64/test_frame_10.c scan-assembler-times stp\\tx19, x30, \\\\[sp, [0-9]+\\\\] 1
> > FAIL: gcc.target/aarch64/test_frame_10.c scan-assembler ldp\\tx19, x30, \\\\[sp, [0-9]+\\\\]
> > FAIL: gcc.target/aarch64/test_frame_11.c scan-assembler-times stp\\tx29, x30, \\\\[sp, -[0-9]+\\\\]! 2
> > FAIL: gcc.target/aarch64/test_frame_13.c scan-assembler-times stp\\tx29, x30, \\\\[sp\\\\] 1
> > FAIL: gcc.target/aarch64/test_frame_15.c scan-assembler-times stp\\tx29, x30, \\\\[sp, [0-9]+\\\\] 1
> > FAIL: gcc.target/aarch64/test_frame_2.c scan-assembler-times stp\\tx19, x30, \\\\[sp, -[0-9]+\\\\]! 1
> > FAIL: gcc.target/aarch64/test_frame_2.c scan-assembler ldp\\tx19, x30, \\\\[sp\\\\], [0-9]+
> > FAIL: gcc.target/aarch64/test_frame_4.c scan-assembler-times stp\\tx19, x30, \\\\[sp, -[0-9]+\\\\]! 1
> > FAIL: gcc.target/aarch64/test_frame_4.c scan-assembler ldp\\tx19, x30, \\\\[sp\\\\], [0-9]+
> > FAIL: gcc.target/aarch64/test_frame_6.c scan-assembler-times str\\tx30, \\\\[sp\\\\] 1
> > FAIL: gcc.target/aarch64/test_frame_7.c scan-assembler-times stp\\tx19, x30, \\\\[sp] 1
> > FAIL: gcc.target/aarch64/test_frame_8.c scan-assembler-times str\\tx30, \\\\[sp, [0-9]+\\\\] 1
> > FAIL: gcc.target/aarch64/test_frame_8.c scan-assembler ldr\\tx30, \\\\[sp, [0-9]+\\\\]
> > FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times cmp\\\\s+x[0-9]+, 61440 4
> > FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times sub\\\\s+x[0-9]+, x[0-9]+, 61440 4
> > FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times cmp\\s+x[0-9]+, 61440 4
> > FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times sub\\s+x[0-9]+, x[0-9]+, 61440 4
> >
> > gcc/testsuite/ChangeLog:
> >
> > * gcc.target/aarch64/ldp_stp_unaligned_2.c: Use -fno-stack-protector.
> > * gcc.target/aarch64/shadow_call_stack_5.c: Likewise.
> > * gcc.target/aarch64/shadow_call_stack_6.c: Likewise.
> > * gcc.target/aarch64/shadow_call_stack_7.c: Likewise.
> > * gcc.target/aarch64/shadow_call_stack_8.c: Likewise.
> > * gcc.target/aarch64/stack-check-12.c: Likewise.
> > * gcc.target/aarch64/stack-check-prologue-11.c: Likewise.
> > * gcc.target/aarch64/stack-check-prologue-12.c: Likewise.
> > * gcc.target/aarch64/stack-check-prologue-13.c: Likewise.
> > * gcc.target/aarch64/stack-check-prologue-14.c: Likewise.
> > * gcc.target/aarch64/stack-check-prologue-15.c: Likewise.
> > * gcc.target/aarch64/stack-check-prologue-17.c: Likewise.
> > * gcc.target/aarch64/stack-check-prologue-18.c: Likewise.
> > * gcc.target/aarch64/stack-check-prologue-19.c: Likewise.
> > * gcc.target/aarch64/stack-check-prologue-2.c: Likewise.
> > * gcc.target/aarch64/stack-check-prologue-5.c: Likewise.
> > * gcc.target/aarch64/stack-check-prologue-6.c: Likewise.
> > * gcc.target/aarch64/stack-check-prologue-8.c: Likewise.
> > * gcc.target/aarch64/stack-check-prologue-9.c: Likewise.
> > * gcc.target/aarch64/sve/struct_vect_24.c: Likewise.
> > * gcc.target/aarch64/test_frame_1.c: Likewise.
> > * gcc.target/aarch64/test_frame_10.c: Likewise.
> > * gcc.target/aarch64/test_frame_11.c: Likewise.
> > * gcc.target/aarch64/test_frame_13.c: Likewise.
> > * gcc.target/aarch64/test_frame_15.c: Likewise.
> > * gcc.target/aarch64/test_frame_2.c: Likewise.
> > * gcc.target/aarch64/test_frame_4.c: Likewise.
> > * gcc.target/aarch64/test_frame_6.c: Likewise.
> > * gcc.target/aarch64/test_frame_7.c: Likewise.
> > * gcc.target/aarch64/test_frame_8.c: Likewise.
>
> OK. I'm afraid this is likely to be an ongoing battle though.
Thanks.
> Maybe we should enforce this at the .exp level instead?
> E.g. we could automatically add -fno-stack-protector to tests that
> aren't being run.
I'd say: when a dg-do compile test checks scan-assembler-* and
-fstack-protector* isn't in dg-options, add -fno-stack-protector.
> I suppose it's a question for those who test -fstack-protector
> which is worse: potentially losing some dg-do compile coverage
> of target-specific tests, or having to keep adding explicit
> -fno-stack-protector options.
So far it hasn't been terrible. We run the testsuite with
-fstack-protector-strong, as well as without it, and it's easy to see
that only the -f-p-s run failed.
Marek
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -fomit-frame-pointer" } */
+/* { dg-options "-O2 -fomit-frame-pointer -fno-stack-protector" } */
/* Check that we split unaligned LDP/STP into base and aligned offset. */
@@ -7,7 +7,7 @@
* optimized code should use "ldr x29, [sp]" to restore x29 only. */
/* { dg-do compile } */
-/* { dg-options "-O2 -fno-omit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps" } */
+/* { dg-options "-O2 -fno-omit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps -fno-stack-protector" } */
#include "test_frame_common.h"
@@ -7,7 +7,7 @@
* optimized code should not restore x30 in epilogue. */
/* { dg-do compile } */
-/* { dg-options "-O2 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps" } */
+/* { dg-options "-O2 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps -fno-stack-protector" } */
#include "test_frame_common.h"
@@ -7,7 +7,7 @@
* optimized code should use "ldr x19, [sp], x" to restore x19 only. */
/* { dg-do compile } */
-/* { dg-options "-O2 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps" } */
+/* { dg-options "-O2 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps -fno-stack-protector" } */
#include "test_frame_common.h"
@@ -9,7 +9,7 @@
* optimized code should not restore x30 in epilogue. */
/* { dg-do compile } */
-/* { dg-options "-O0 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps" } */
+/* { dg-options "-O0 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps -fno-stack-protector" } */
int func1 (void)
{
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-asynchronous-unwind-tables -fno-unwind-tables" } */
+/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-stack-protector" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
typedef unsigned __attribute__((mode(DI))) uint64_t;
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
+/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
#define SIZE (6 * 64 * 1024) + (1 * 32 * 1024)
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer" } */
+/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-stack-protector" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
void
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer" } */
+/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-stack-protector" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
void h (void) __attribute__ ((noreturn));
@@ -17,4 +17,4 @@ f (void)
/* SIZE is more than 1 guard-size, but only one 64KB page is used, expect only 1
probe. Leaf function and omitting leaf pointers, tail call to noreturn which
- may only omit an epilogue and not a prologue. Checking for LR saving. */
\ No newline at end of file
+ may only omit an epilogue and not a prologue. Checking for LR saving. */
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer" } */
+/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-stack-protector" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
void h (void) __attribute__ ((noreturn));
@@ -21,4 +21,4 @@ f (void)
probe at 1024 and one implicit probe due to LR being saved. Leaf function
and omitting leaf pointers, tail call to noreturn which may only omit an
epilogue and not a prologue and control flow in between. Checking for
- LR saving. */
\ No newline at end of file
+ LR saving. */
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer" } */
+/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-stack-protector" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
void g (volatile int *x) ;
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12" } */
+/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12 -fno-stack-protector" } */
/* { dg-final { check-function-bodies "**" "" } } */
void f(int, ...);
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12" } */
+/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12 -fno-stack-protector" } */
/* { dg-final { check-function-bodies "**" "" } } */
void f(int, ...);
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12 -fsanitize=shadow-call-stack -ffixed-x18" } */
+/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12 -fsanitize=shadow-call-stack -ffixed-x18 -fno-stack-protector" } */
/* { dg-final { check-function-bodies "**" "" } } */
void f(int, ...);
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
+/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
#define SIZE 2 * 1024
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
+/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
#define SIZE 64 * 1024
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
+/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
#define SIZE 65 * 1024
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
+/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
#define SIZE 128 * 1024
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
+/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
#define SIZE 6 * 64 * 1024
@@ -1,6 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target supports_stack_clash_protection } */
-/* { dg-options "-O3 -fopenmp-simd -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
+/* { dg-options "-O3 -fopenmp-simd -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
#include <stdint.h>
@@ -6,7 +6,7 @@
* optimized code should use "str !" for stack adjustment. */
/* { dg-do run } */
-/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
+/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
#include "test_frame_common.h"
@@ -7,7 +7,7 @@
* Use a single stack adjustment, no writeback. */
/* { dg-do run } */
-/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
+/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
#include "test_frame_common.h"
@@ -5,7 +5,7 @@
* optimized code should use "stp !" for stack adjustment. */
/* { dg-do run } */
-/* { dg-options "-O2 --save-temps" } */
+/* { dg-options "-O2 --save-temps -fno-stack-protector" } */
#include "test_frame_common.h"
@@ -5,7 +5,7 @@
* Use a single stack adjustment, no writeback. */
/* { dg-do run } */
-/* { dg-options "-O2 --save-temps" } */
+/* { dg-options "-O2 --save-temps -fno-stack-protector" } */
#include "test_frame_common.h"
@@ -6,7 +6,7 @@
* Use a single stack adjustment, no writeback. */
/* { dg-do run } */
-/* { dg-options "-O2 --save-temps" } */
+/* { dg-options "-O2 --save-temps -fno-stack-protector" } */
#include "test_frame_common.h"
@@ -6,7 +6,7 @@
* optimized code should use "stp !" for stack adjustment. */
/* { dg-do run } */
-/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
+/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
#include "test_frame_common.h"
@@ -6,7 +6,7 @@
* we can use "stp !" to optimize stack adjustment. */
/* { dg-do run } */
-/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
+/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
#include "test_frame_common.h"
@@ -6,7 +6,7 @@
* use a single stack adjustment, no writeback. */
/* { dg-do run } */
-/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
+/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
#include "test_frame_common.h"
@@ -6,7 +6,7 @@
* use a single stack adjustment, no writeback. */
/* { dg-do run } */
-/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
+/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
#include "test_frame_common.h"
@@ -5,7 +5,7 @@
* number of callee-saved reg == 1. */
/* { dg-do run } */
-/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
+/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
#include "test_frame_common.h"