From 7f12a8412e0d04bf04d23d2b57f05b209a4dd62d Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 27 Mar 2024 19:44:01 +0000 Subject: [PATCH] import CS gcc-toolset-13-gcc-13.2.1-6.2.el8 --- .gcc-toolset-13-gcc.metadata | 4 +- .gitignore | 4 +- SOURCES/gcc13-libstdc++-compat.patch | 12 +- SOURCES/gcc13-libstdc++-docs.patch | 4 +- SOURCES/gcc13-pr110792.patch | 163 ++++++ ...uite-aarch64-add-fno-stack-protector.patch | 500 ++++++++++++++++++ SOURCES/gcc13-testsuite-no-ssp.patch | 46 -- SOURCES/gcc13-testsuite-plugin.patch | 94 ---- SPECS/gcc.spec | 69 ++- 9 files changed, 733 insertions(+), 163 deletions(-) create mode 100644 SOURCES/gcc13-pr110792.patch create mode 100644 SOURCES/gcc13-testsuite-aarch64-add-fno-stack-protector.patch delete mode 100644 SOURCES/gcc13-testsuite-no-ssp.patch delete mode 100644 SOURCES/gcc13-testsuite-plugin.patch diff --git a/.gcc-toolset-13-gcc.metadata b/.gcc-toolset-13-gcc.metadata index f61addb..717c2cc 100644 --- a/.gcc-toolset-13-gcc.metadata +++ b/.gcc-toolset-13-gcc.metadata @@ -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 003af8bc05476507f4dd02340b727b72b404e275 SOURCES/newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz -efdf76a82380d621f0318f3ddf582e033ffd0f75 SOURCES/nvptx-tools-93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b.tar.xz +6bfe7ac1b208935ee2c0939bb47cfe775c1c81b3 SOURCES/nvptx-tools-aa3404ad5a496cda5d79a50bedb1344fd63e8763.tar.xz diff --git a/.gitignore b/.gitignore index 0d6bc47..0eedc39 100644 --- a/.gitignore +++ b/.gitignore @@ -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/newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz -SOURCES/nvptx-tools-93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b.tar.xz +SOURCES/nvptx-tools-aa3404ad5a496cda5d79a50bedb1344fd63e8763.tar.xz diff --git a/SOURCES/gcc13-libstdc++-compat.patch b/SOURCES/gcc13-libstdc++-compat.patch index 9d1d844..814ffea 100644 --- a/SOURCES/gcc13-libstdc++-compat.patch +++ b/SOURCES/gcc13-libstdc++-compat.patch @@ -8804,7 +8804,7 @@ + $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ --- libstdc++-v3/src/nonshared20/tzdb80.cc.jj 2023-05-19 20:25:50.447297532 +0200 +++ libstdc++-v3/src/nonshared20/tzdb80.cc 2023-05-19 19:51:19.200552634 +0200 -@@ -0,0 +1,120 @@ +@@ -0,0 +1,122 @@ +// Copyright The GNU Toolchain Authors. +// +// This file is part of the GNU ISO C++ Library. This library is free @@ -8891,12 +8891,11 @@ +asm (".hidden _ZNSt6chrono9tzdb_list5_Node11_S_the_listE"); +asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE"); +asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE"); ++#if 0 +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev"); +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev"); -+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_"); -+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_"); +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv"); -+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_"); ++#endif +asm (".hidden _ZTSSt19_Sp_make_shared_tag"); +asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); +asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev"); @@ -8907,9 +8906,12 @@ +asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); +asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag"); +asm (".hidden _ZZNSt8__detail18__waiter_pool_base6_S_forEPKvE3__w"); -+#if defined(__x86_64__) || defined(__aarch64__) || defined(__i386__) ++#if defined(__aarch64__) +asm (".hidden _ZNKSt10filesystem7__cxx114path8iteratordeEv"); +#endif ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_"); +asm (".hidden _ZSt23__atomic_wait_address_vIiZNKSt13__atomic_baseIiE4waitEiSt12memory_orderEUlvE_EvPKT_S4_T0_"); +#if defined(__i386__) +asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_"); diff --git a/SOURCES/gcc13-libstdc++-docs.patch b/SOURCES/gcc13-libstdc++-docs.patch index 6dffae6..ce94f5d 100644 --- a/SOURCES/gcc13-libstdc++-docs.patch +++ b/SOURCES/gcc13-libstdc++-docs.patch @@ -4,7 +4,7 @@ FSF

-+ Release 13.1.1 ++ Release 13.2.1 +

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation @@ -17,7 +17,7 @@

- The API documentation, rendered into HTML, can be viewed online + The API documentation, rendered into HTML, can be viewed locally -+ for the 13.1.1 release, ++ for the 13.2.1 release, + online for each GCC release and diff --git a/SOURCES/gcc13-pr110792.patch b/SOURCES/gcc13-pr110792.patch new file mode 100644 index 0000000..ce129f9 --- /dev/null +++ b/SOURCES/gcc13-pr110792.patch @@ -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 "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 + +gcc/testsuite/ChangeLog + PR target/110792 + * gcc.target/i386/pr110792.c: Remove dg-final scan-assembler-not. + +2023-08-03 Roger Sayle + +gcc/ChangeLog + PR target/110792 + * config/i386/i386.md (ti3): For rotations by 64 bits + place operand in a register before gen_64ti2_doubleword. + (di3): Likewise, for rotations by 32 bits, place + operand in a register before gen_32di2_doubleword. + (32di2_doubleword): Constrain operand to be in register. + (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 "ti3" + emit_insn (gen_ix86_ti3_doubleword + (operands[0], operands[1], operands[2])); + else if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) == 64) +- emit_insn (gen_64ti2_doubleword (operands[0], operands[1])); ++ { ++ operands[1] = force_reg (TImode, operands[1]); ++ emit_insn (gen_64ti2_doubleword (operands[0], operands[1])); ++ } + else + { + rtx amount = force_reg (QImode, operands[2]); +@@ -15376,7 +15379,10 @@ (define_expand "di3" + emit_insn (gen_ix86_di3_doubleword + (operands[0], operands[1], operands[2])); + else if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) == 32) +- emit_insn (gen_32di2_doubleword (operands[0], operands[1])); ++ { ++ operands[1] = force_reg (DImode, operands[1]); ++ emit_insn (gen_32di2_doubleword (operands[0], operands[1])); ++ } + else + FAIL; + +@@ -15544,8 +15550,8 @@ (define_insn_and_split "ix86_rotr3_doubleword" + }) + + (define_insn_and_split "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 "32di2_doubleword" + }) + + (define_insn_and_split "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 ++inline T rotr(T input) ++{ ++ return static_cast((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; ++} diff --git a/SOURCES/gcc13-testsuite-aarch64-add-fno-stack-protector.patch b/SOURCES/gcc13-testsuite-aarch64-add-fno-stack-protector.patch new file mode 100644 index 0000000..01ca906 --- /dev/null +++ b/SOURCES/gcc13-testsuite-aarch64-add-fno-stack-protector.patch @@ -0,0 +1,500 @@ +From 3439b79cb7f97464d65316a94d40d49505fb2150 Mon Sep 17 00:00:00 2001 +From: Marek Polacek +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 + +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 + diff --git a/SOURCES/gcc13-testsuite-no-ssp.patch b/SOURCES/gcc13-testsuite-no-ssp.patch deleted file mode 100644 index b041a65..0000000 --- a/SOURCES/gcc13-testsuite-no-ssp.patch +++ /dev/null @@ -1,46 +0,0 @@ -From b964d2647b0da15543faed5add5044fd79a85c5c Mon Sep 17 00:00:00 2001 -From: Marek Polacek -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 - diff --git a/SOURCES/gcc13-testsuite-plugin.patch b/SOURCES/gcc13-testsuite-plugin.patch deleted file mode 100644 index a1e0e69..0000000 --- a/SOURCES/gcc13-testsuite-plugin.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 2ef902063590ebd7e8b8b8b4d708f6c7dc62a81d Mon Sep 17 00:00:00 2001 -From: Marek Polacek -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 - diff --git a/SPECS/gcc.spec b/SPECS/gcc.spec index e2a7258..644e1ce 100644 --- a/SPECS/gcc.spec +++ b/SPECS/gcc.spec @@ -5,14 +5,14 @@ BuildRequires: scl-utils-build %{?scl:%global __strip %%{_scl_root}/usr/bin/strip} %{?scl:%global __objdump %%{_scl_root}/usr/bin/objdump} %{?scl:%scl_package gcc} -%global DATE 20230614 -%global gitrev 0d7019741b037c7e9c4e57d6de3bce6bb2ed8026 -%global gcc_version 13.1.1 +%global DATE 20231205 +%global gitrev f783814ad6a04ae5ef44595216596a2b75eda15b +%global gcc_version 13.2.1 %global gcc_major 13 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 4 -%global nvptx_tools_gitrev 93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b +%global gcc_release 6 +%global nvptx_tools_gitrev aa3404ad5a496cda5d79a50bedb1344fd63e8763 %global newlib_cygwin_gitrev 9e09d6ed83cce4777a5950412647ccc603040409 %global mpc_version 1.0.3 %global isl_version 0.24 @@ -149,7 +149,7 @@ BuildRequires: scl-utils-build Summary: GCC version 13 Name: %{?scl_prefix}gcc Version: %{gcc_version} -Release: %{gcc_release}.3%{?dist} +Release: %{gcc_release}.2%{?dist} # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have # GCC Runtime Exception. License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD @@ -329,6 +329,7 @@ Patch8: gcc13-no-add-needed.patch Patch9: gcc13-Wno-format-security.patch Patch10: gcc13-rh1574936.patch Patch11: gcc13-d-shared-libphobos.patch +Patch12: gcc13-pr110792.patch Patch50: isl-rh2155127.patch @@ -358,10 +359,9 @@ Patch3016: 0019-xfails.patch Patch3017: 0020-more-fixes.patch Patch3018: 0021-libstdc++-disable-tests.patch Patch3019: 0022-libstdc++-revert-behavior.patch -Patch3020: gcc13-testsuite-no-ssp.patch Patch3021: gcc13-testsuite-p10.patch -Patch3022: gcc13-testsuite-plugin.patch Patch3023: gcc13-testsuite-dwarf.patch +Patch3024: gcc13-testsuite-aarch64-add-fno-stack-protector.patch %if 0%{?rhel} == 9 %global nonsharedver 110 @@ -695,6 +695,7 @@ so that there cannot be any synchronization problems. %patch -P10 -p0 -b .rh1574936~ %endif %patch -P11 -p0 -b .d-shared-libphobos~ +%patch -P12 -p0 -b .pr110792~ %if 0%{?rhel} >= 6 %patch -P100 -p1 -b .fortran-fdec-duplicates~ @@ -740,10 +741,9 @@ rm -f libphobos/testsuite/libphobos.gc/forkgc2.d %if 0%{?rhel} <= 7 %patch -P3019 -p1 -b .dts-test-19~ %endif -%patch -P3020 -p1 -b .dts-test-20~ %patch -P3021 -p1 -b .dts-test-21~ -%patch -P3022 -p1 -b .dts-test-22~ %patch -P3023 -p1 -b .dts-test-23~ +%patch -P3024 -p1 -b .dts-test-24~ find gcc/testsuite -name \*.pr96939~ | xargs rm -f @@ -927,7 +927,7 @@ CONFIGURE_OPTS="\ %endif --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \ --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only \ - --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=%{_datadir}/zoneinfo \ + --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=%{_root_datadir}/zoneinfo \ %ifnarch %{mips} --with-linker-hash-style=gnu \ %endif @@ -1946,7 +1946,7 @@ rm -f %{buildroot}%{_prefix}/%{_lib}/libssp* rm -f %{buildroot}%{_prefix}/%{_lib}/libvtv* || : rm -f %{buildroot}/lib/cpp rm -f %{buildroot}/%{_lib}/libgcc_s* -rm -f %{buildroot}%{_prefix}/bin/{f95,gccbug,gnatgcc*} +rm -f %{buildroot}%{_prefix}/bin/{gccbug,gnatgcc*} rm -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gfortran %if 0%{!?scl:1} rm -f %{buildroot}%{_prefix}/bin/{*c++*,cc,cpp} @@ -2618,6 +2618,7 @@ fi %files gfortran %{_prefix}/bin/gfortran +%{_prefix}/bin/f95 %if 0%{?scl:1} %{_mandir}/man1/gfortran.1* %{_infodir}/gfortran* @@ -2906,6 +2907,50 @@ fi %endif %changelog +* Mon Dec 11 2023 Marek Polacek 13.2.1-6.2 +- use the system dir in --with-libstdcxx-zoneinfo (RHEL-20522) + +* Mon Dec 11 2023 Marek Polacek 13.2.1-6.1 +- add f95 (RHEL-17656) + +* Wed Dec 6 2023 Marek Polacek 13.2.1-6 +- update from releases/gcc-13 branch + - PRs c++/33799, c++/102191, c++/111703, c++/112269, c++/112301, c++/112633, + c/112339, fortran/111880, fortran/112764, libgomp/111413, + libstdc++/112348, libstdc++/112491, libstdc++/112607, + middle-end/111497, target/53372, target/110411, target/111408, + target/111815, target/111828, target/112672, tree-optimization/111137, + tree-optimization/111465, tree-optimization/111967, + tree-optimization/112496 +- add -fno-stack-protector to aarch64 tests (RHEL-16940) + +* Mon Nov 13 2023 Marek Polacek 13.2.1-5 +- update from releases/gcc-13 branch + - PRs c++/89038, c/111884, d/110712, d/112270, fortran/67740, fortran/97245, + fortran/111837, fortran/112316, libbacktrace/111315, + libbacktrace/112263, libstdc++/110944, libstdc++/111172, + libstdc++/111936, libstdc++/112089, libstdc++/112314, + middle-end/111253, middle-end/111818, modula2/111756, modula2/112110, + target/101177, target/110170, target/111001, target/111366, + target/111367, target/111380, target/111935, target/112443, + tree-optimization/111397, tree-optimization/111445, + tree-optimization/111489, tree-optimization/111583, + tree-optimization/111614, tree-optimization/111622, + tree-optimization/111694, tree-optimization/111764, + tree-optimization/111820, tree-optimization/111833, + tree-optimization/111917 + - fix aarch64 RA ICE (#2241139, PR target/111528) +- fix ia32 doubleword rotates (#2238781, PR target/110792) + +* Thu Nov 9 2023 Marek Polacek 13.2.1-4 +- update from releases/gcc-13 branch + - PRs ada/110488, ada/111434, c++/99631, c++/111471, c++/111485, c++/111493, + c++/111512, fortran/68155, fortran/92586, fortran/111674, + libstdc++/108046, libstdc++/111050, libstdc++/111102, + libstdc++/111511, middle-end/111699, modula2/111510, target/111121, + target/111411, tree-optimization/110315, tree-optimization/110386, + tree-optimization/111331, tree-optimization/111519 + * Thu Jul 6 2023 Marek Polacek 13.1.1-4.3 - fix utf-1.C with -gdwarf-4 (#2217506)