Compare commits
No commits in common. 'c8' and 'c9-beta' have entirely different histories.
@ -1,4 +1,4 @@
|
|||||||
c6598a786781f7b8a3131f96995641f45e7b96a5 SOURCES/gcc-13.1.1-20230614.tar.xz
|
8ebd6709d853b5be064b5a0499927c721ac172f8 SOURCES/gcc-13.2.1-20231205.tar.xz
|
||||||
ae5fbb33bcb442121fbbf482a93f6b3c84d489ee SOURCES/isl-0.24.tar.bz2
|
ae5fbb33bcb442121fbbf482a93f6b3c84d489ee SOURCES/isl-0.24.tar.bz2
|
||||||
003af8bc05476507f4dd02340b727b72b404e275 SOURCES/newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz
|
003af8bc05476507f4dd02340b727b72b404e275 SOURCES/newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz
|
||||||
efdf76a82380d621f0318f3ddf582e033ffd0f75 SOURCES/nvptx-tools-93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b.tar.xz
|
6bfe7ac1b208935ee2c0939bb47cfe775c1c81b3 SOURCES/nvptx-tools-aa3404ad5a496cda5d79a50bedb1344fd63e8763.tar.xz
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
SOURCES/gcc-13.1.1-20230614.tar.xz
|
SOURCES/gcc-13.2.1-20231205.tar.xz
|
||||||
SOURCES/isl-0.24.tar.bz2
|
SOURCES/isl-0.24.tar.bz2
|
||||||
SOURCES/newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz
|
SOURCES/newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz
|
||||||
SOURCES/nvptx-tools-93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b.tar.xz
|
SOURCES/nvptx-tools-aa3404ad5a496cda5d79a50bedb1344fd63e8763.tar.xz
|
||||||
|
@ -0,0 +1,163 @@
|
|||||||
|
PR target/110792: Early clobber issues with rot32di2_doubleword on i386.
|
||||||
|
|
||||||
|
This patch is a conservative fix for PR target/110792, a wrong-code
|
||||||
|
regression affecting doubleword rotations by BITS_PER_WORD, which
|
||||||
|
effectively swaps the highpart and lowpart words, when the source to be
|
||||||
|
rotated resides in memory. The issue is that if the register used to
|
||||||
|
hold the lowpart of the destination is mentioned in the address of
|
||||||
|
the memory operand, the current define_insn_and_split unintentionally
|
||||||
|
clobbers it before reading the highpart.
|
||||||
|
|
||||||
|
Hence, for the testcase, the incorrectly generated code looks like:
|
||||||
|
|
||||||
|
salq $4, %rdi // calculate address
|
||||||
|
movq WHIRL_S+8(%rdi), %rdi // accidentally clobber addr
|
||||||
|
movq WHIRL_S(%rdi), %rbp // load (wrong) lowpart
|
||||||
|
|
||||||
|
Traditionally, the textbook way to fix this would be to add an
|
||||||
|
explicit early clobber to the instruction's constraints.
|
||||||
|
|
||||||
|
(define_insn_and_split "<insn>32di2_doubleword"
|
||||||
|
- [(set (match_operand:DI 0 "register_operand" "=r,r,r")
|
||||||
|
+ [(set (match_operand:DI 0 "register_operand" "=r,r,&r")
|
||||||
|
(any_rotate:DI (match_operand:DI 1 "nonimmediate_operand" "0,r,o")
|
||||||
|
(const_int 32)))]
|
||||||
|
|
||||||
|
but unfortunately this currently generates significantly worse code,
|
||||||
|
due to a strange choice of reloads (effectively memcpy), which ends up
|
||||||
|
looking like:
|
||||||
|
|
||||||
|
salq $4, %rdi // calculate address
|
||||||
|
movdqa WHIRL_S(%rdi), %xmm0 // load the double word in SSE reg.
|
||||||
|
movaps %xmm0, -16(%rsp) // store the SSE reg back to the stack
|
||||||
|
movq -8(%rsp), %rdi // load highpart
|
||||||
|
movq -16(%rsp), %rbp // load lowpart
|
||||||
|
|
||||||
|
Note that reload's "&" doesn't distinguish between the memory being
|
||||||
|
early clobbered, vs the registers used in an addressing mode being
|
||||||
|
early clobbered.
|
||||||
|
|
||||||
|
The fix proposed in this patch is to remove the third alternative, that
|
||||||
|
allowed offsetable memory as an operand, forcing reload to place the
|
||||||
|
operand into a register before the rotation. This results in:
|
||||||
|
|
||||||
|
salq $4, %rdi
|
||||||
|
movq WHIRL_S(%rdi), %rax
|
||||||
|
movq WHIRL_S+8(%rdi), %rdi
|
||||||
|
movq %rax, %rbp
|
||||||
|
|
||||||
|
I believe there's a more advanced solution, by swapping the order of
|
||||||
|
the loads (if first destination register is mentioned in the address),
|
||||||
|
or inserting a lea insn (if both destination registers are mentioned
|
||||||
|
in the address), but this fix is a minimal "safe" solution, that
|
||||||
|
should hopefully be suitable for backporting.
|
||||||
|
|
||||||
|
2023-08-06 Roger Sayle <roger@nextmovesoftware.com>
|
||||||
|
|
||||||
|
gcc/testsuite/ChangeLog
|
||||||
|
PR target/110792
|
||||||
|
* gcc.target/i386/pr110792.c: Remove dg-final scan-assembler-not.
|
||||||
|
|
||||||
|
2023-08-03 Roger Sayle <roger@nextmovesoftware.com>
|
||||||
|
|
||||||
|
gcc/ChangeLog
|
||||||
|
PR target/110792
|
||||||
|
* config/i386/i386.md (<any_rotate>ti3): For rotations by 64 bits
|
||||||
|
place operand in a register before gen_<insn>64ti2_doubleword.
|
||||||
|
(<any_rotate>di3): Likewise, for rotations by 32 bits, place
|
||||||
|
operand in a register before gen_<insn>32di2_doubleword.
|
||||||
|
(<any_rotate>32di2_doubleword): Constrain operand to be in register.
|
||||||
|
(<any_rotate>64ti2_doubleword): Likewise.
|
||||||
|
|
||||||
|
gcc/testsuite/ChangeLog
|
||||||
|
PR target/110792
|
||||||
|
* g++.target/i386/pr110792.C: New 32-bit C++ test case.
|
||||||
|
* gcc.target/i386/pr110792.c: New 64-bit C test case.
|
||||||
|
|
||||||
|
--- gcc/config/i386/i386.md
|
||||||
|
+++ gcc/config/i386/i386.md
|
||||||
|
@@ -15341,7 +15341,10 @@ (define_expand "<insn>ti3"
|
||||||
|
emit_insn (gen_ix86_<insn>ti3_doubleword
|
||||||
|
(operands[0], operands[1], operands[2]));
|
||||||
|
else if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) == 64)
|
||||||
|
- emit_insn (gen_<insn>64ti2_doubleword (operands[0], operands[1]));
|
||||||
|
+ {
|
||||||
|
+ operands[1] = force_reg (TImode, operands[1]);
|
||||||
|
+ emit_insn (gen_<insn>64ti2_doubleword (operands[0], operands[1]));
|
||||||
|
+ }
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rtx amount = force_reg (QImode, operands[2]);
|
||||||
|
@@ -15376,7 +15379,10 @@ (define_expand "<insn>di3"
|
||||||
|
emit_insn (gen_ix86_<insn>di3_doubleword
|
||||||
|
(operands[0], operands[1], operands[2]));
|
||||||
|
else if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) == 32)
|
||||||
|
- emit_insn (gen_<insn>32di2_doubleword (operands[0], operands[1]));
|
||||||
|
+ {
|
||||||
|
+ operands[1] = force_reg (DImode, operands[1]);
|
||||||
|
+ emit_insn (gen_<insn>32di2_doubleword (operands[0], operands[1]));
|
||||||
|
+ }
|
||||||
|
else
|
||||||
|
FAIL;
|
||||||
|
|
||||||
|
@@ -15544,8 +15550,8 @@ (define_insn_and_split "ix86_rotr<dwi>3_doubleword"
|
||||||
|
})
|
||||||
|
|
||||||
|
(define_insn_and_split "<insn>32di2_doubleword"
|
||||||
|
- [(set (match_operand:DI 0 "register_operand" "=r,r,r")
|
||||||
|
- (any_rotate:DI (match_operand:DI 1 "nonimmediate_operand" "0,r,o")
|
||||||
|
+ [(set (match_operand:DI 0 "register_operand" "=r,r")
|
||||||
|
+ (any_rotate:DI (match_operand:DI 1 "register_operand" "0,r")
|
||||||
|
(const_int 32)))]
|
||||||
|
"!TARGET_64BIT"
|
||||||
|
"#"
|
||||||
|
@@ -15562,8 +15568,8 @@ (define_insn_and_split "<insn>32di2_doubleword"
|
||||||
|
})
|
||||||
|
|
||||||
|
(define_insn_and_split "<insn>64ti2_doubleword"
|
||||||
|
- [(set (match_operand:TI 0 "register_operand" "=r,r,r")
|
||||||
|
- (any_rotate:TI (match_operand:TI 1 "nonimmediate_operand" "0,r,o")
|
||||||
|
+ [(set (match_operand:TI 0 "register_operand" "=r,r")
|
||||||
|
+ (any_rotate:TI (match_operand:TI 1 "register_operand" "0,r")
|
||||||
|
(const_int 64)))]
|
||||||
|
"TARGET_64BIT"
|
||||||
|
"#"
|
||||||
|
--- gcc/testsuite/g++.target/i386/pr110792.C
|
||||||
|
+++ gcc/testsuite/g++.target/i386/pr110792.C
|
||||||
|
@@ -0,0 +1,16 @@
|
||||||
|
+/* { dg-do compile { target ia32 } } */
|
||||||
|
+/* { dg-options "-O2" } */
|
||||||
|
+
|
||||||
|
+template <int ROT, typename T>
|
||||||
|
+inline T rotr(T input)
|
||||||
|
+{
|
||||||
|
+ return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+unsigned long long WHIRL_S[256] = {0x18186018C07830D8};
|
||||||
|
+unsigned long long whirl(unsigned char x0)
|
||||||
|
+{
|
||||||
|
+ const unsigned long long s4 = WHIRL_S[x0&0xFF];
|
||||||
|
+ return rotr<32>(s4);
|
||||||
|
+}
|
||||||
|
+/* { dg-final { scan-assembler-not "movl\tWHIRL_S\\+4\\(,%eax,8\\), %eax" } } */
|
||||||
|
--- gcc/testsuite/gcc.target/i386/pr110792.c
|
||||||
|
+++ gcc/testsuite/gcc.target/i386/pr110792.c
|
||||||
|
@@ -0,0 +1,17 @@
|
||||||
|
+/* { dg-do compile { target int128 } } */
|
||||||
|
+/* { dg-options "-O2" } */
|
||||||
|
+
|
||||||
|
+static inline unsigned __int128 rotr(unsigned __int128 input)
|
||||||
|
+{
|
||||||
|
+ return ((input >> 64) | (input << (64)));
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+unsigned __int128 WHIRL_S[256] = {((__int128)0x18186018C07830D8) << 64 |0x18186018C07830D8};
|
||||||
|
+unsigned __int128 whirl(unsigned char x0)
|
||||||
|
+{
|
||||||
|
+ register int t __asm("rdi") = x0&0xFF;
|
||||||
|
+ const unsigned __int128 s4 = WHIRL_S[t];
|
||||||
|
+ register unsigned __int128 tt __asm("rdi") = rotr(s4);
|
||||||
|
+ asm("":::"memory");
|
||||||
|
+ return tt;
|
||||||
|
+}
|
@ -0,0 +1,500 @@
|
|||||||
|
From 3439b79cb7f97464d65316a94d40d49505fb2150 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Marek Polacek <polacek@redhat.com>
|
||||||
|
Date: Wed, 6 Dec 2023 15:34:24 -0500
|
||||||
|
Subject: [PATCH] aarch64: add -fno-stack-protector to tests
|
||||||
|
|
||||||
|
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(-)
|
||||||
|
|
||||||
|
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
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
@ -1,46 +0,0 @@
|
|||||||
From b964d2647b0da15543faed5add5044fd79a85c5c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Marek Polacek <polacek@redhat.com>
|
|
||||||
Date: Thu, 29 Jun 2023 15:59:29 -0400
|
|
||||||
Subject: [PATCH] i386: add -fno-stack-protector to two tests
|
|
||||||
|
|
||||||
These tests fail when the testsuite is executed with -fstack-protector-strong.
|
|
||||||
To avoid this, this patch adds -fno-stack-protector to dg-options.
|
|
||||||
|
|
||||||
Tested on x86_64-pc-linux-gnu, ok for trunk?
|
|
||||||
|
|
||||||
gcc/testsuite/ChangeLog:
|
|
||||||
|
|
||||||
* gcc.target/i386/pr104610.c: Use -fno-stack-protector.
|
|
||||||
* gcc.target/i386/pr69482-1.c: Likewise.
|
|
||||||
---
|
|
||||||
gcc/testsuite/gcc.target/i386/pr104610.c | 2 +-
|
|
||||||
gcc/testsuite/gcc.target/i386/pr69482-1.c | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gcc/testsuite/gcc.target/i386/pr104610.c b/gcc/testsuite/gcc.target/i386/pr104610.c
|
|
||||||
index fe39cbe5b8a..5173fc8898c 100644
|
|
||||||
--- a/gcc/testsuite/gcc.target/i386/pr104610.c
|
|
||||||
+++ b/gcc/testsuite/gcc.target/i386/pr104610.c
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
/* { dg-do compile } */
|
|
||||||
-/* { dg-options "-O2 -mavx -mmove-max=256 -mstore-max=256" } */
|
|
||||||
+/* { dg-options "-O2 -mavx -mmove-max=256 -mstore-max=256 -fno-stack-protector" } */
|
|
||||||
/* { dg-final { scan-assembler-times {(?n)vptest.*ymm} 1 } } */
|
|
||||||
/* { dg-final { scan-assembler-times {sete} 1 } } */
|
|
||||||
/* { dg-final { scan-assembler-not {(?n)je.*L[0-9]} } } */
|
|
||||||
diff --git a/gcc/testsuite/gcc.target/i386/pr69482-1.c b/gcc/testsuite/gcc.target/i386/pr69482-1.c
|
|
||||||
index f192261b104..99bb6ad5a37 100644
|
|
||||||
--- a/gcc/testsuite/gcc.target/i386/pr69482-1.c
|
|
||||||
+++ b/gcc/testsuite/gcc.target/i386/pr69482-1.c
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
/* { dg-do compile } */
|
|
||||||
-/* { dg-options "-O3" } */
|
|
||||||
+/* { dg-options "-O3 -fno-stack-protector" } */
|
|
||||||
|
|
||||||
static inline void memset_s(void* s, int n) {
|
|
||||||
volatile unsigned char * p = s;
|
|
||||||
|
|
||||||
base-commit: 070a6bf0bdc6761ad77ac97404c98f00a7007d54
|
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
@ -1,94 +0,0 @@
|
|||||||
From 2ef902063590ebd7e8b8b8b4d708f6c7dc62a81d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Marek Polacek <polacek@redhat.com>
|
|
||||||
Date: Thu, 29 Jun 2023 14:57:48 -0400
|
|
||||||
Subject: [PATCH] testsuite: Use -fno-report-bug in gcc.dg/plugin/
|
|
||||||
|
|
||||||
Certain downstream compilers (for example, in Fedora) default to
|
|
||||||
-freport-bug. The extra output breaks the following tests. We can use
|
|
||||||
-fno-report-bug to fix that. Patch verified with:
|
|
||||||
|
|
||||||
$ make check RUNTESTFLAGS='--target_board=unix\{,-freport-bug\} plugin.exp'
|
|
||||||
|
|
||||||
Tested x86_64-pc-linux-gnu, ok for trunk/13?
|
|
||||||
|
|
||||||
gcc/testsuite/ChangeLog:
|
|
||||||
|
|
||||||
* gcc.dg/plugin/crash-test-ice-sarif.c: Use -fno-report-bug. Adjust
|
|
||||||
scan-sarif-file.
|
|
||||||
* gcc.dg/plugin/crash-test-ice-stderr.c: Use -fno-report-bug.
|
|
||||||
* gcc.dg/plugin/crash-test-write-though-null-sarif.c: Use
|
|
||||||
-fno-report-bug. Adjust scan-sarif-file.
|
|
||||||
* gcc.dg/plugin/crash-test-write-though-null-stderr.c: Use
|
|
||||||
-fno-report-bug.
|
|
||||||
---
|
|
||||||
gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c | 3 ++-
|
|
||||||
gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c | 1 +
|
|
||||||
.../gcc.dg/plugin/crash-test-write-though-null-sarif.c | 3 ++-
|
|
||||||
.../gcc.dg/plugin/crash-test-write-though-null-stderr.c | 1 +
|
|
||||||
4 files changed, 6 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c b/gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c
|
|
||||||
index 3b773a9a84c..84a4347a17e 100644
|
|
||||||
--- a/gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c
|
|
||||||
+++ b/gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
/* { dg-do compile } */
|
|
||||||
/* { dg-options "-fdiagnostics-format=sarif-file" } */
|
|
||||||
+/* { dg-additional-options "-fno-report-bug" } */
|
|
||||||
|
|
||||||
extern void inject_ice (void);
|
|
||||||
|
|
||||||
@@ -56,7 +57,7 @@ void test_inject_ice (void)
|
|
||||||
{ dg-final { scan-sarif-file "\"contextRegion\": " } }
|
|
||||||
{ dg-final { scan-sarif-file "\"artifactLocation\": " } }
|
|
||||||
{ dg-final { scan-sarif-file "\"region\": " } }
|
|
||||||
- { dg-final { scan-sarif-file "\"startLine\": 8" } }
|
|
||||||
+ { dg-final { scan-sarif-file "\"startLine\": 9" } }
|
|
||||||
{ dg-final { scan-sarif-file "\"startColumn\": 3" } }
|
|
||||||
{ dg-final { scan-sarif-file "\"endColumn\": 16" } }
|
|
||||||
{ dg-final { scan-sarif-file "\"message\": " } }
|
|
||||||
diff --git a/gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c b/gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c
|
|
||||||
index cee701b135c..0064d3bc447 100644
|
|
||||||
--- a/gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c
|
|
||||||
+++ b/gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c
|
|
||||||
@@ -1,4 +1,5 @@
|
|
||||||
/* { dg-do compile } */
|
|
||||||
+/* { dg-additional-options "-fno-report-bug" } */
|
|
||||||
|
|
||||||
extern void inject_ice (void);
|
|
||||||
|
|
||||||
diff --git a/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c b/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c
|
|
||||||
index 57caa20155f..83b38d2ffb5 100644
|
|
||||||
--- a/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c
|
|
||||||
+++ b/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
/* { dg-do compile } */
|
|
||||||
/* { dg-options "-fdiagnostics-format=sarif-file" } */
|
|
||||||
+/* { dg-additional-options "-fno-report-bug" } */
|
|
||||||
|
|
||||||
extern void inject_write_through_null (void);
|
|
||||||
|
|
||||||
@@ -56,7 +57,7 @@ void test_inject_write_through_null (void)
|
|
||||||
{ dg-final { scan-sarif-file "\"contextRegion\": " } }
|
|
||||||
{ dg-final { scan-sarif-file "\"artifactLocation\": " } }
|
|
||||||
{ dg-final { scan-sarif-file "\"region\": " } }
|
|
||||||
- { dg-final { scan-sarif-file "\"startLine\": 8" } }
|
|
||||||
+ { dg-final { scan-sarif-file "\"startLine\": 9" } }
|
|
||||||
{ dg-final { scan-sarif-file "\"startColumn\": 3" } }
|
|
||||||
{ dg-final { scan-sarif-file "\"endColumn\": 31" } }
|
|
||||||
{ dg-final { scan-sarif-file "\"message\": " } }
|
|
||||||
diff --git a/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c b/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c
|
|
||||||
index 7b43e423633..a9a211a3b1f 100644
|
|
||||||
--- a/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c
|
|
||||||
+++ b/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c
|
|
||||||
@@ -1,4 +1,5 @@
|
|
||||||
/* { dg-do compile } */
|
|
||||||
+/* { dg-additional-options "-fno-report-bug" } */
|
|
||||||
|
|
||||||
extern void inject_write_through_null (void);
|
|
||||||
|
|
||||||
|
|
||||||
base-commit: 070a6bf0bdc6761ad77ac97404c98f00a7007d54
|
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
Loading…
Reference in new issue