diff --git a/.gcc.metadata b/.gcc.metadata index fa7055b..49ef7d0 100644 --- a/.gcc.metadata +++ b/.gcc.metadata @@ -1,4 +1,4 @@ -510b05103d9ea05aaf9ae26709c55af0cc21b32f SOURCES/gcc-11.4.1-20230605.tar.xz +0a97442f00d814b259be1da178f627b0e3690051 SOURCES/gcc-11.4.1-20231218.tar.xz bbffc5a2b05e4f0c97e882f96c448504491dc4ed SOURCES/isl-0.18.tar.bz2 6ec33952e824e837fef0e829c93d39d6a507082f SOURCES/newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz 0e0c6f8d68ab0878f02287ac082c1077c831cd81 SOURCES/nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz diff --git a/.gitignore b/.gitignore index 3799ab3..557a2c5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -SOURCES/gcc-11.4.1-20230605.tar.xz +SOURCES/gcc-11.4.1-20231218.tar.xz SOURCES/isl-0.18.tar.bz2 SOURCES/newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz SOURCES/nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz diff --git a/SOURCES/gcc11-pr111039.patch b/SOURCES/gcc11-pr111039.patch new file mode 100644 index 0000000..3fab07e --- /dev/null +++ b/SOURCES/gcc11-pr111039.patch @@ -0,0 +1,59 @@ +commit 482551a79a3d3f107f6239679ee74655cfe8707e +Author: Richard Biener +Date: Thu Aug 17 13:10:14 2023 +0200 + + tree-optimization/111039 - abnormals and bit test merging + + The following guards the bit test merging code in if-combine against + the appearance of SSA names used in abnormal PHIs. + + PR tree-optimization/111039 + * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for + SSA_NAME_OCCURS_IN_ABNORMAL_PHI. + + * gcc.dg/pr111039.c: New testcase. + +diff --git a/gcc/testsuite/gcc.dg/pr111039.c b/gcc/testsuite/gcc.dg/pr111039.c +new file mode 100644 +index 00000000000..bec9983b35f +--- /dev/null ++++ b/gcc/testsuite/gcc.dg/pr111039.c +@@ -0,0 +1,15 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O" } */ ++ ++int _setjmp (); ++void abcd (); ++void abcde (); ++void compiler_corruption_function(int flags) ++{ ++ int nowait = flags & 1048576, isexpand = flags & 8388608; ++ abcd(); ++ _setjmp(flags); ++ if (nowait && isexpand) ++ flags &= 0; ++ abcde(); ++} +--- a/gcc/tree-ssa-ifcombine.c ++++ b/gcc/tree-ssa-ifcombine.c +@@ -430,6 +430,9 @@ ifcombine_ifandif (basic_block inner_cond_bb, bool inner_inv, + { + tree t, t2; + ++ if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name1)) ++ return false; ++ + /* Do it. */ + gsi = gsi_for_stmt (inner_cond); + t = fold_build2 (LSHIFT_EXPR, TREE_TYPE (name1), +@@ -486,6 +489,10 @@ ifcombine_ifandif (basic_block inner_cond_bb, bool inner_inv, + gimple_stmt_iterator gsi; + tree t; + ++ if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name1) ++ || SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name2)) ++ return false; ++ + /* Find the common name which is bit-tested. */ + if (name1 == name2) + ; diff --git a/SOURCES/gcc11-pr111070.patch b/SOURCES/gcc11-pr111070.patch new file mode 100644 index 0000000..b5a0241 --- /dev/null +++ b/SOURCES/gcc11-pr111070.patch @@ -0,0 +1,66 @@ +commit 966b0a96523fb7adbf498ac71df5e033c70dc546 +Author: Richard Biener +Date: Mon Aug 21 09:01:00 2023 +0200 + + tree-optimization/111070 - fix ICE with recent ifcombine fix + + We now got test coverage for non-SSA name bits so the following amends + the SSA_NAME_OCCURS_IN_ABNORMAL_PHI checks. + + PR tree-optimization/111070 + * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check we have + an SSA name before checking SSA_NAME_OCCURS_IN_ABNORMAL_PHI. + + * gcc.dg/pr111070.c: New testcase. + +diff --git a/gcc/testsuite/gcc.dg/pr111070.c b/gcc/testsuite/gcc.dg/pr111070.c +new file mode 100644 +index 00000000000..1ebc7adf782 +--- /dev/null ++++ b/gcc/testsuite/gcc.dg/pr111070.c +@@ -0,0 +1,20 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O" } */ ++ ++/* common */ ++char c; ++/* arrays must be 8 byte aligned, regardless of size */ ++char c_ary[1]; ++ ++/* data */ ++char d = 1; ++char d_ary[1] = {1}; ++ ++int main () ++{ ++ if (((unsigned long)&c_ary[0] & 7) != 0) ++ return 1; ++ if (((unsigned long)&d_ary[0] & 7) != 0) ++ return 1; ++ return 0; ++} +--- a/gcc/tree-ssa-ifcombine.c ++++ b/gcc/tree-ssa-ifcombine.c +@@ -430,7 +430,8 @@ ifcombine_ifandif (basic_block inner_cond_bb, bool inner_inv, + { + tree t, t2; + +- if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name1)) ++ if (TREE_CODE (name1) == SSA_NAME ++ && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name1)) + return false; + + /* Do it. */ +@@ -489,8 +490,10 @@ ifcombine_ifandif (basic_block inner_cond_bb, bool inner_inv, + gimple_stmt_iterator gsi; + tree t; + +- if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name1) +- || SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name2)) ++ if ((TREE_CODE (name1) == SSA_NAME ++ && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name1)) ++ || (TREE_CODE (name2) == SSA_NAME ++ && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name2))) + return false; + + /* Find the common name which is bit-tested. */ diff --git a/SOURCES/gcc11-pr96024.patch b/SOURCES/gcc11-pr96024.patch deleted file mode 100644 index fd883f1..0000000 --- a/SOURCES/gcc11-pr96024.patch +++ /dev/null @@ -1,40 +0,0 @@ -commit 7f875e435b23dfb439bc7784cade4aebbd5d4a69 -Author: Jakub Jelinek -Date: Fri Jun 9 09:10:29 2023 +0200 - - fortran: Fix ICE on pr96024.f90 on big-endian hosts [PR96024] - - The pr96024.f90 testcase ICEs on big-endian hosts. The problem is - that length->val.integer is accessed after checking - length->expr_type == EXPR_CONSTANT, but it is a CHARACTER constant - which uses length->val.character union member instead and on big-endian - we end up reading constant 0x100000000 rather than some small number - on little-endian and if target doesn't have enough memory for 4 times - that (i.e. 16GB allocation), it ICEs. - - 2023-06-09 Jakub Jelinek - - PR fortran/96024 - * primary.c (gfc_convert_to_structure_constructor): Only do - constant string ctor length verification and truncation/padding - if constant length has INTEGER type. - - (cherry picked from commit 4cf6e322adc19f927859e0a5edfa93cec4b8c844) - -diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c -index 1b93f96367f..5cad2d2682b 100644 ---- a/gcc/fortran/primary.c -+++ b/gcc/fortran/primary.c -@@ -3188,10 +3188,11 @@ gfc_convert_to_structure_constructor (gfc_expr *e, gfc_symbol *sym, gfc_expr **c - goto cleanup; - - /* For a constant string constructor, make sure the length is -- correct; truncate of fill with blanks if needed. */ -+ correct; truncate or fill with blanks if needed. */ - if (this_comp->ts.type == BT_CHARACTER && !this_comp->attr.allocatable - && this_comp->ts.u.cl && this_comp->ts.u.cl->length - && this_comp->ts.u.cl->length->expr_type == EXPR_CONSTANT -+ && this_comp->ts.u.cl->length->ts.type == BT_INTEGER - && actual->expr->ts.type == BT_CHARACTER - && actual->expr->expr_type == EXPR_CONSTANT) - { diff --git a/SOURCES/gcc11-testsuite-aarch64-add-fno-stack-protector.patch b/SOURCES/gcc11-testsuite-aarch64-add-fno-stack-protector.patch new file mode 100644 index 0000000..0ab9be8 --- /dev/null +++ b/SOURCES/gcc11-testsuite-aarch64-add-fno-stack-protector.patch @@ -0,0 +1,348 @@ +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. + +--- + gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_2.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-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/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-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/SPECS/gcc.spec b/SPECS/gcc.spec index 1d508d4..16cfbb6 100644 --- a/SPECS/gcc.spec +++ b/SPECS/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20230605 -%global gitrev 2c7f17ca0b642790d74cca6c798196e9053a4bcf +%global DATE 20231218 +%global gitrev 9e6808abff4d96f3f09474a2a744ef5f56df3e28 %global gcc_version 11.4.1 %global gcc_major 11 # 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 2 +%global gcc_release 3 %global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e %global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0 %global _unpackaged_files_terminate_build 0 @@ -128,7 +128,7 @@ Summary: Various compilers (C, C++, Objective-C, ...) Name: gcc Version: %{gcc_version} -Release: %{gcc_release}.1%{?dist} +Release: %{gcc_release}%{?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 @@ -291,8 +291,10 @@ Patch27: gcc11-s390x-regarg-1.patch Patch28: gcc11-s390x-regarg-2.patch Patch29: gcc11-s390x-regarg-3.patch Patch30: gcc11-testsuite-fixes.patch -Patch31: gcc11-pr96024.patch Patch32: gcc11-testsuite-fixes-2.patch +Patch33: gcc11-pr111039.patch +Patch34: gcc11-pr111070.patch +Patch35: gcc11-testsuite-aarch64-add-fno-stack-protector.patch Patch100: gcc11-fortran-fdec-duplicates.patch Patch101: gcc11-fortran-flogical-as-integer.patch @@ -889,8 +891,10 @@ mark them as cross compiled. %patch28 -p1 -b .s390x-regarg-2~ %patch29 -p1 -b .s390x-regarg-3~ %patch30 -p1 -b .testsuite~ -%patch31 -p1 -b .pr96024~ %patch32 -p1 -b .testsuite2~ +%patch33 -p1 -b .pr111039~ +%patch34 -p1 -b .pr111070~ +%patch35 -p1 -b .testsuite3~ %if 0%{?rhel} >= 9 %patch100 -p1 -b .fortran-fdec-duplicates~ @@ -3584,6 +3588,34 @@ end %endif %changelog +* Mon Dec 18 2023 Marek Polacek 11.4.1-3 +- update from releases/gcc-11-branch (RHEL-17638) + - PRs c++/106310, c++/106890, c++/109666, c++/109761, c++/111357, + c++/111512, c++/112795, d/108842, d/110359, d/110511, d/110516, + debug/110295, fortran/95947, fortran/103506, fortran/107397, + fortran/110288, fortran/110585, fortran/110658, fortran/111837, + fortran/111880, libstdc++/95048, libstdc++/99327, libstdc++/104161, + libstdc++/104242, libstdc++/108178, libstdc++/111050, + libstdc++/111511, libstdc++/112314, libstdc++/112491, + middle-end/110200, middle-end/111699, middle-end/111818, + middle-end/112733, rtl-optimization/110237, sanitizer/112727, + target/96762, target/101177, target/101469, target/105325, + target/109800, target/109932, target/110011, target/110044, + target/110170, target/110309, target/110741, target/111001, + target/111340, target/111367, target/111408, target/111815, + target/112672, target/112816, target/112837, target/112845, + target/112891, testsuite/66005, tree-optimization/110298, + tree-optimization/110731, tree-optimization/110914, + tree-optimization/111015, tree-optimization/111614, + tree-optimization/111764, tree-optimization/111917 +- use -fno-stack-protector in some aarch64 tests + +* Tue Oct 3 2023 Marek Polacek 11.4.1-2.3 +- fix member vs global template (RHEL-2607) + +* Mon Oct 2 2023 Marek Polacek 11.4.1-2.2 +- guard the bit test merging code in if-combine (RHEL-6068) + * Fri Jun 9 2023 Marek Polacek 11.4.1-2.1 - fix ICE on pr96024.f90 on big-endian hosts (PR fortran/96024, #2213211) - use -fno-stack-protector to fix bit-field aarch64 tests (#2213221)