diff mbox series

aarch64: add -fno-stack-protector to tests

Message ID 20231206235431.69392-1-polacek@redhat.com
State New
Headers show
Series aarch64: add -fno-stack-protector to tests | expand

Commit Message

Marek Polacek Dec. 6, 2023, 11:54 p.m. UTC
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

Richard Sandiford Dec. 7, 2023, 4:05 p.m. UTC | #1
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
Marek Polacek Dec. 7, 2023, 4:18 p.m. UTC | #2
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
diff mbox series

Patch

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"