12.0.1-0.13
This commit is contained in:
parent
967fa9b141
commit
fc9926357a
1
.gitignore
vendored
1
.gitignore
vendored
@ -67,3 +67,4 @@
|
||||
/gcc-12.0.1-20220222.tar.xz
|
||||
/gcc-12.0.1-20220306.tar.xz
|
||||
/gcc-12.0.1-20220308.tar.xz
|
||||
/gcc-12.0.1-20220401.tar.xz
|
||||
|
77
gcc.spec
77
gcc.spec
@ -1,5 +1,5 @@
|
||||
%global DATE 20220308
|
||||
%global gitrev a525ce3ad147ce96a7c5fad4099fe2155af45324
|
||||
%global DATE 20220401
|
||||
%global gitrev 8c714de722b2df674be4eda3e525a9c4a1eee009
|
||||
%global gcc_version 12.0.1
|
||||
%global gcc_major 12
|
||||
# Note, gcc_release must be integer, if you want to add suffixes to
|
||||
@ -120,7 +120,7 @@
|
||||
Summary: Various compilers (C, C++, Objective-C, ...)
|
||||
Name: gcc
|
||||
Version: %{gcc_version}
|
||||
Release: %{gcc_release}.12%{?dist}
|
||||
Release: %{gcc_release}.13%{?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
|
||||
@ -270,9 +270,6 @@ Patch8: gcc12-no-add-needed.patch
|
||||
Patch9: gcc12-Wno-format-security.patch
|
||||
Patch10: gcc12-rh1574936.patch
|
||||
Patch11: gcc12-d-shared-libphobos.patch
|
||||
Patch12: gcc12-pr104781.patch
|
||||
Patch13: gcc12-pr104777.patch
|
||||
Patch14: gcc12-pr104839.patch
|
||||
|
||||
Patch100: gcc12-fortran-fdec-duplicates.patch
|
||||
Patch101: gcc12-fortran-flogical-as-integer.patch
|
||||
@ -794,9 +791,6 @@ to NVidia PTX capable devices if available.
|
||||
%patch10 -p0 -b .rh1574936~
|
||||
%endif
|
||||
%patch11 -p0 -b .d-shared-libphobos~
|
||||
%patch12 -p0 -b .pr104781~
|
||||
%patch13 -p0 -b .pr104777~
|
||||
%patch14 -p0 -b .pr104839~
|
||||
|
||||
%if 0%{?rhel} >= 9
|
||||
%patch100 -p1 -b .fortran-fdec-duplicates~
|
||||
@ -3170,6 +3164,71 @@ end
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Apr 1 2022 Jakub Jelinek <jakub@redhat.com> 12.0.1-0.13
|
||||
- update from trunk
|
||||
- PRs ada/104767, ada/104861, analyzer/95000, analyzer/99771,
|
||||
analyzer/103533, analyzer/104308, analyzer/104793, analyzer/104863,
|
||||
analyzer/104943, analyzer/104954, analyzer/104955, analyzer/104979,
|
||||
analyzer/104997, analyzer/105017, analyzer/105057, analyzer/105074,
|
||||
analyzer/105087, c++/39751, c++/58646, c++/59426, c++/65396,
|
||||
c++/71637, c++/84964, c++/87820, c++/92918, c++/93280, c++/95999,
|
||||
c++/96329, c++/96437, c++/96440, c++/96645, c++/96780, c++/98644,
|
||||
c++/99445, c++/100474, c++/101030, c++/101515, c++/101767, c++/102045,
|
||||
c++/102071, c++/102123, c++/102137, c++/102489, c++/102538,
|
||||
c++/102740, c++/102869, c++/102990, c++/103177, c++/103291,
|
||||
c++/103299, c++/103337, c++/103455, c++/103460, c++/103769,
|
||||
c++/103943, c++/103968, c++/104008, c++/104108, c++/104284,
|
||||
c++/104476, c++/104527, c++/104568, c++/104583, c++/104608,
|
||||
c++/104620, c++/104622, c++/104623, c++/104641, c++/104752,
|
||||
c++/104806, c++/104823, c++/104846, c++/104847, c++/104944,
|
||||
c++/104994, c++/105003, c++/105006, c++/105035, c++/105050,
|
||||
c++/105061, c++/105064, c++/105067, c++/105092, c/82283, c/84685,
|
||||
c/98198, c/104711, d/103528, d/104911, d/105004, debug/104564,
|
||||
debug/104778, fortran/50549, fortran/100892, fortran/103039,
|
||||
fortran/103560, fortran/103691, fortran/104126, fortran/104570,
|
||||
fortran/104571, fortran/104811, fortran/104849, fortran/104999,
|
||||
ipa/102513, ipa/103083, ipa/103171, ipa/104813, jit/63854,
|
||||
libgcc/86224, libgomp/105042, libstdc++/92546, libstdc++/103407,
|
||||
libstdc++/104242, libstdc++/104859, libstdc++/104866,
|
||||
libstdc++/104870, libstdc++/104875, libstdc++/104990,
|
||||
libstdc++/105021, libstdc++/105027, lto/102426, middle-end/90115,
|
||||
middle-end/98420, middle-end/99578, middle-end/100680,
|
||||
middle-end/102330, middle-end/103597, middle-end/104086,
|
||||
middle-end/104285, middle-end/104436, middle-end/104774,
|
||||
middle-end/104786, middle-end/104869, middle-end/104885,
|
||||
middle-end/104892, middle-end/104966, middle-end/104971,
|
||||
middle-end/104975, middle-end/105032, middle-end/105049, other/65095,
|
||||
other/102664, other/104899, other/105114, rtl-optimization/103775,
|
||||
rtl-optimization/104814, rtl-optimization/104961,
|
||||
rtl-optimization/104989, rtl-optimization/105028,
|
||||
rtl-optimization/105091, sanitizer/105093, target/86722, target/91229,
|
||||
target/94680, target/96882, target/99754, target/102125,
|
||||
target/102215, target/102772, target/102986, target/103074,
|
||||
target/104004, target/104666, target/104688, target/104714,
|
||||
target/104762, target/104783, target/104790, target/104815,
|
||||
target/104818, target/104829, target/104840, target/104842,
|
||||
target/104857, target/104868, target/104882, target/104890,
|
||||
target/104898, target/104902, target/104903, target/104910,
|
||||
target/104916, target/104923, target/104925, target/104946,
|
||||
target/104952, target/104957, target/104963, target/104967,
|
||||
target/104974, target/104976, target/104977, target/104978,
|
||||
target/104982, target/104998, target/105000, target/105011,
|
||||
target/105052, target/105058, target/105066, target/105068,
|
||||
testsuite/102841, testsuite/104759, testsuite/105055,
|
||||
testsuite/105085, tree-optimization/80334, tree-optimization/84201,
|
||||
tree-optimization/90356, tree-optimization/98335,
|
||||
tree-optimization/100834, tree-optimization/101895,
|
||||
tree-optimization/102008, tree-optimization/102586,
|
||||
tree-optimization/102645, tree-optimization/102943,
|
||||
tree-optimization/104645, tree-optimization/104755,
|
||||
tree-optimization/104851, tree-optimization/104880,
|
||||
tree-optimization/104941, tree-optimization/104942,
|
||||
tree-optimization/104960, tree-optimization/104970,
|
||||
tree-optimization/105012, tree-optimization/105053,
|
||||
tree-optimization/105056, tree-optimization/105070,
|
||||
tree-optimization/105080, tree-optimization/105094,
|
||||
tree-optimization/105109
|
||||
|
||||
* Tue Mar 8 2022 Jakub Jelinek <jakub@redhat.com> 12.0.1-0.12
|
||||
- fix up promoted SUBREG handling (#2045160, PR rtl-optimization/104839)
|
||||
- fix up check for asm goto (PR rtl-optimization/104777)
|
||||
|
@ -1,61 +0,0 @@
|
||||
2022-03-08 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR rtl-optimization/104777
|
||||
* rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
|
||||
ASM_OPERANDS_LABEL_VEC has at least one element.
|
||||
|
||||
* gcc.dg/torture/tls/pr104777.c: New test.
|
||||
|
||||
--- gcc/rtl.cc
|
||||
+++ gcc/rtl.cc
|
||||
@@ -765,7 +765,7 @@ classify_insn (rtx x)
|
||||
return CALL_INSN;
|
||||
if (ANY_RETURN_P (x))
|
||||
return JUMP_INSN;
|
||||
- if (GET_CODE (x) == ASM_OPERANDS && ASM_OPERANDS_LABEL_VEC (x))
|
||||
+ if (GET_CODE (x) == ASM_OPERANDS && ASM_OPERANDS_LABEL_LENGTH (x))
|
||||
return JUMP_INSN;
|
||||
if (GET_CODE (x) == SET)
|
||||
{
|
||||
@@ -794,7 +794,7 @@ classify_insn (rtx x)
|
||||
if (has_return_p)
|
||||
return JUMP_INSN;
|
||||
if (GET_CODE (XVECEXP (x, 0, 0)) == ASM_OPERANDS
|
||||
- && ASM_OPERANDS_LABEL_VEC (XVECEXP (x, 0, 0)))
|
||||
+ && ASM_OPERANDS_LABEL_LENGTH (XVECEXP (x, 0, 0)))
|
||||
return JUMP_INSN;
|
||||
}
|
||||
#ifdef GENERATOR_FILE
|
||||
--- gcc/testsuite/gcc.dg/torture/tls/pr104777.c
|
||||
+++ gcc/testsuite/gcc.dg/torture/tls/pr104777.c
|
||||
@@ -0,0 +1,30 @@
|
||||
+/* PR rtl-optimization/104777 */
|
||||
+/* { dg-do compile } */
|
||||
+/* { dg-require-effective-target tls } */
|
||||
+
|
||||
+int savestate_r;
|
||||
+int savestate_ssb;
|
||||
+extern void abort();
|
||||
+__thread int loop;
|
||||
+void f (void)
|
||||
+{
|
||||
+ int savestate_r0_5;
|
||||
+ int savestate_r1_6;
|
||||
+
|
||||
+ __asm__("" : "=m" (savestate_ssb), "=r" (savestate_r));
|
||||
+ savestate_r0_5 = savestate_r;
|
||||
+ if (savestate_r0_5 == 0)
|
||||
+ {
|
||||
+ __asm__ __volatile__("" : : "m" (loop));
|
||||
+ abort ();
|
||||
+ }
|
||||
+
|
||||
+ __asm__("" : "=m" (savestate_ssb), "=r" (savestate_r));
|
||||
+ savestate_r1_6 = savestate_r;
|
||||
+ if (savestate_r1_6 != 0)
|
||||
+ return;
|
||||
+
|
||||
+ __asm__ __volatile__("" : : "m" (loop));
|
||||
+ abort ();
|
||||
+
|
||||
+}
|
@ -1,81 +0,0 @@
|
||||
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,12 @@ 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. */
|
||||
+#ifndef __x86_64__
|
||||
+#define LIBGCC2_UNWIND_ATTRIBUTE __attribute__((target ("no-sse")))
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
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;
|
||||
|
@ -1,70 +0,0 @@
|
||||
2022-03-08 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/104839
|
||||
* simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
|
||||
Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
|
||||
(simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
|
||||
instead of incorrect 0 in SUBREG_PROMOTED_SET.
|
||||
|
||||
* gcc.c-torture/execute/pr104839.c: New test.
|
||||
|
||||
--- gcc/simplify-rtx.cc.jj 2022-02-23 09:17:04.000000000 +0100
|
||||
+++ gcc/simplify-rtx.cc 2022-03-08 16:31:20.823246404 +0100
|
||||
@@ -1527,7 +1527,7 @@ simplify_context::simplify_unary_operati
|
||||
if (partial_subreg_p (temp))
|
||||
{
|
||||
SUBREG_PROMOTED_VAR_P (temp) = 1;
|
||||
- SUBREG_PROMOTED_SET (temp, 1);
|
||||
+ SUBREG_PROMOTED_SET (temp, SRP_SIGNED);
|
||||
}
|
||||
return temp;
|
||||
}
|
||||
@@ -1662,7 +1662,7 @@ simplify_context::simplify_unary_operati
|
||||
if (partial_subreg_p (temp))
|
||||
{
|
||||
SUBREG_PROMOTED_VAR_P (temp) = 1;
|
||||
- SUBREG_PROMOTED_SET (temp, 0);
|
||||
+ SUBREG_PROMOTED_SET (temp, SRP_UNSIGNED);
|
||||
}
|
||||
return temp;
|
||||
}
|
||||
--- gcc/testsuite/gcc.c-torture/execute/pr104839.c.jj 2022-03-08 16:46:51.418440078 +0100
|
||||
+++ gcc/testsuite/gcc.c-torture/execute/pr104839.c 2022-03-08 16:46:27.044774203 +0100
|
||||
@@ -0,0 +1,37 @@
|
||||
+/* PR rtl-optimization/104839 */
|
||||
+
|
||||
+__attribute__((noipa)) short
|
||||
+foo (void)
|
||||
+{
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+__attribute__((noipa)) int
|
||||
+bar (void)
|
||||
+{
|
||||
+ short i = foo ();
|
||||
+ if (i == -2)
|
||||
+ return 2;
|
||||
+ long k = i;
|
||||
+ int j = -1;
|
||||
+ volatile long s = 300;
|
||||
+ if (k < 0)
|
||||
+ {
|
||||
+ k += s;
|
||||
+ if (k < 0)
|
||||
+ j = 0;
|
||||
+ }
|
||||
+ else if (k >= s)
|
||||
+ j = 0;
|
||||
+ if (j != -1)
|
||||
+ return 1;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+ if (bar () != 0)
|
||||
+ __builtin_abort ();
|
||||
+ return 0;
|
||||
+}
|
2
sources
2
sources
@ -1,4 +1,4 @@
|
||||
SHA512 (gcc-12.0.1-20220308.tar.xz) = 4c714250c056d680ab5135317185e89e28ed9f6a70a5943eab3c610c38907b9696d07b141cda8d703a1fd1b93cf2407c0f92ab452c9f797c3da472748aed8844
|
||||
SHA512 (gcc-12.0.1-20220401.tar.xz) = 6297c2c9828b9098ca5dad79ac5233d178264a5327522fbc61fce66940d4c551e37a7b5b070fe24942343c35920effef1cc8abf973e81105939bbb557bcf5846
|
||||
SHA512 (isl-0.18.tar.bz2) = 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94
|
||||
SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c
|
||||
SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7
|
||||
|
Loading…
Reference in New Issue
Block a user