12.0.1-0.11

This commit is contained in:
Jakub Jelinek 2022-03-08 12:46:44 +01:00
parent 67cc6756a1
commit b2fa1409e0
5 changed files with 96 additions and 42 deletions

1
.gitignore vendored
View File

@ -66,3 +66,4 @@
/gcc-12.0.1-20220214.tar.xz /gcc-12.0.1-20220214.tar.xz
/gcc-12.0.1-20220222.tar.xz /gcc-12.0.1-20220222.tar.xz
/gcc-12.0.1-20220306.tar.xz /gcc-12.0.1-20220306.tar.xz
/gcc-12.0.1-20220308.tar.xz

View File

@ -1,5 +1,5 @@
%global DATE 20220306 %global DATE 20220308
%global gitrev 9a60f4c27d4317f91488c0c90d943a3638af9d1d %global gitrev a525ce3ad147ce96a7c5fad4099fe2155af45324
%global gcc_version 12.0.1 %global gcc_version 12.0.1
%global gcc_major 12 %global gcc_major 12
# Note, gcc_release must be integer, if you want to add suffixes to # Note, gcc_release must be integer, if you want to add suffixes to
@ -120,7 +120,7 @@
Summary: Various compilers (C, C++, Objective-C, ...) Summary: Various compilers (C, C++, Objective-C, ...)
Name: gcc Name: gcc
Version: %{gcc_version} Version: %{gcc_version}
Release: %{gcc_release}.10%{?dist} Release: %{gcc_release}.11%{?dist}
# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
# GCC Runtime Exception. # GCC Runtime Exception.
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
@ -270,7 +270,7 @@ Patch8: gcc12-no-add-needed.patch
Patch9: gcc12-Wno-format-security.patch Patch9: gcc12-Wno-format-security.patch
Patch10: gcc12-rh1574936.patch Patch10: gcc12-rh1574936.patch
Patch11: gcc12-d-shared-libphobos.patch Patch11: gcc12-d-shared-libphobos.patch
Patch12: gcc12-pr104775.patch Patch12: gcc12-pr104781.patch
Patch100: gcc12-fortran-fdec-duplicates.patch Patch100: gcc12-fortran-fdec-duplicates.patch
Patch101: gcc12-fortran-flogical-as-integer.patch Patch101: gcc12-fortran-flogical-as-integer.patch
@ -792,7 +792,7 @@ to NVidia PTX capable devices if available.
%patch10 -p0 -b .rh1574936~ %patch10 -p0 -b .rh1574936~
%endif %endif
%patch11 -p0 -b .d-shared-libphobos~ %patch11 -p0 -b .d-shared-libphobos~
%patch12 -p0 -b .pr104775~ %patch12 -p0 -b .pr104781~
%if 0%{?rhel} >= 9 %if 0%{?rhel} >= 9
%patch100 -p1 -b .fortran-fdec-duplicates~ %patch100 -p1 -b .fortran-fdec-duplicates~
@ -3166,6 +3166,15 @@ end
%endif %endif
%changelog %changelog
* Tue Mar 8 2022 Jakub Jelinek <jakub@redhat.com> 12.0.1-0.11
- update from trunk
- PRs analyzer/101983, fortran/99585, fortran/104430, libstdc++/104807,
middle-end/104381, target/99297, target/104779, target/104794,
target/104797, translation/90148, translation/104552,
tree-optimization/104782, tree-optimization/104825
- fix build on i686 where gnat1 was hanging (PR target/104838,
PR target/104781)
* Sun Mar 6 2022 Jakub Jelinek <jakub@redhat.com> 12.0.1-0.10 * Sun Mar 6 2022 Jakub Jelinek <jakub@redhat.com> 12.0.1-0.10
- update from trunk - update from trunk
- PRs analyzer/103521, analyzer/104434, c++/70077, c++/79493, c++/103443, - PRs analyzer/103521, analyzer/104434, c++/70077, c++/79493, c++/103443,

View File

@ -1,36 +0,0 @@
2022-03-04 Jakub Jelinek <jakub@redhat.com>
PR target/104775
* config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
S constraint instead of T in the last alternative.
* gcc.target/s390/pr104775.c: New test.
--- gcc/config/s390/s390.md.jj 2022-02-08 20:08:13.873404137 +0100
+++ gcc/config/s390/s390.md 2022-03-04 14:38:23.252988476 +0100
@@ -9578,7 +9578,7 @@ (define_insn "*cmp_and_trap_signed_int<m
(define_insn "*cmp_and_trap_unsigned_int<mode>"
[(trap_if (match_operator 0 "s390_unsigned_integer_comparison"
[(match_operand:GPR 1 "register_operand" "d,d,d")
- (match_operand:GPR 2 "general_operand" "d,D,T")])
+ (match_operand:GPR 2 "general_operand" "d,D,S")])
(const_int 0))]
"TARGET_Z10"
"@
--- gcc/testsuite/gcc.target/s390/pr104775.c.jj 2022-03-04 14:49:58.190134898 +0100
+++ gcc/testsuite/gcc.target/s390/pr104775.c 2022-03-04 14:49:42.845352647 +0100
@@ -0,0 +1,14 @@
+/* PR target/104775 */
+/* { dg-do assemble { target s390_zEC12_hw } } */
+/* { dg-options "-O2 -march=zEC12" } */
+
+long a[64];
+void bar (void);
+
+void
+foo (int x, int y)
+{
+ if (x != a[y])
+ bar ();
+ __builtin_trap ();
+}

80
gcc12-pr104781.patch Normal file
View File

@ -0,0 +1,80 @@
Since eh_return doesn't work with stack realignment, disable SSE on
unwind-c.c and unwind-dw2.c to avoid stack realignment with the 4-byte
incoming stack to avoid SSE usage which is caused by
commit 609e8c492d62d92465460eae3d43dfc4b2c68288
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Feb 26 14:17:23 2022 -0800
x86: Always return pseudo register in ix86_gen_scratch_sse_rtx
when pseudo vector registers are used to expand memset.
gcc/
PR target/104781
* config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
stack realignment with eh_return or regparm nested function.
* config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define.
gcc/testsuite/
PR target/104781
* gcc.target/i386/eh_return-1.c: Add -mincoming-stack-boundary=4.
* gcc.target/i386/eh_return-2.c: Likewise.
--- gcc/config/i386/i386.cc
+++ gcc/config/i386/i386.cc
@@ -9444,12 +9444,15 @@ ix86_expand_epilogue (int style)
rtx sa = EH_RETURN_STACKADJ_RTX;
rtx_insn *insn;
- /* %ecx can't be used for both DRAP register and eh_return. */
- if (crtl->drap_reg)
- gcc_assert (REGNO (crtl->drap_reg) != CX_REG);
+ /* Stack realignment doesn't work with eh_return. */
+ if (crtl->stack_realign_needed)
+ sorry ("Stack realignment not supported with "
+ "%<__builtin_eh_return%>");
/* regparm nested functions don't work with eh_return. */
- gcc_assert (!ix86_static_chain_on_stack);
+ if (ix86_static_chain_on_stack)
+ sorry ("regparm nested function not supported with "
+ "%<__builtin_eh_return%>");
if (frame_pointer_needed)
{
--- gcc/config/i386/i386.h.jj 2022-02-25 12:06:45.535493490 +0100
+++ gcc/config/i386/i386.h 2022-03-08 11:20:43.207043370 +0100
@@ -2848,6 +2848,11 @@ extern enum attr_cpu ix86_schedule;
#define NUM_X86_64_MS_CLOBBERED_REGS 12
#endif
+/* __builtin_eh_return can't handle stack realignment, so disable SSE in
+ libgcc functions that call it. */
+#define LIBGCC2_UNWIND_ATTRIBUTE __attribute__((target ("no-sse")))
+
+
/*
Local variables:
version-control: t
--- gcc/testsuite/gcc.target/i386/eh_return-1.c
+++ gcc/testsuite/gcc.target/i386/eh_return-1.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -march=haswell -mno-avx512f -mtune-ctrl=avx256_move_by_pieces" } */
+/* { dg-options "-O2 -mincoming-stack-boundary=4 -march=haswell -mno-avx512f -mtune-ctrl=avx256_move_by_pieces" } */
struct _Unwind_Context
{
--- gcc/testsuite/gcc.target/i386/eh_return-2.c
+++ gcc/testsuite/gcc.target/i386/eh_return-2.c
@@ -1,6 +1,6 @@
/* PR target/101772 */
/* { dg-do compile } */
-/* { dg-additional-options "-O0 -march=x86-64 -mstackrealign" } */
+/* { dg-additional-options "-O0 -mincoming-stack-boundary=4 -march=x86-64 -mstackrealign" } */
struct _Unwind_Context _Unwind_Resume_or_Rethrow_this_context;

View File

@ -1,4 +1,4 @@
SHA512 (gcc-12.0.1-20220306.tar.xz) = ee74476de920124527f4df9ec95de0bf9fc74aab9e7ae1784c0fae0bf8f4b60367f241fbba2742a610e483516eaa63985d995771ae572509a95e326fa57d1b9e SHA512 (gcc-12.0.1-20220308.tar.xz) = 4c714250c056d680ab5135317185e89e28ed9f6a70a5943eab3c610c38907b9696d07b141cda8d703a1fd1b93cf2407c0f92ab452c9f797c3da472748aed8844
SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94 SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94
SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c
SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7 SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7