Merged update from upstream sources
This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/gcc.git#9f8a6fd89413ffd0fbe3bf158b0eb690617e9cbb
This commit is contained in:
parent
5d1d94dd49
commit
aaef794ebb
2
.gitignore
vendored
2
.gitignore
vendored
@ -23,3 +23,5 @@
|
||||
/gcc-10.2.1-20201112.tar.xz
|
||||
/gcc-10.2.1-20201125.tar.xz
|
||||
/gcc-11.0.0-20201204.tar.xz
|
||||
/gcc-11.0.0-20201216.tar.xz
|
||||
/gcc-11.0.0-20201217.tar.xz
|
||||
|
51
gcc.spec
51
gcc.spec
@ -1,5 +1,5 @@
|
||||
%global DATE 20201204
|
||||
%global gitrev d35391d824edee33b5fbce3df058f4fafd9b9fa6
|
||||
%global DATE 20201216
|
||||
%global gitrev ada196afb999077a634220ace175f349418e3078
|
||||
%global gcc_version 11.0.0
|
||||
%global gcc_major 11
|
||||
# Note, gcc_release must be integer, if you want to add suffixes to
|
||||
@ -119,7 +119,7 @@
|
||||
Summary: Various compilers (C, C++, Objective-C, ...)
|
||||
Name: gcc
|
||||
Version: %{gcc_version}
|
||||
Release: %{gcc_release}.7%{?dist}
|
||||
Release: %{gcc_release}.10%{?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
|
||||
@ -272,6 +272,9 @@ Patch8: gcc11-foffload-default.patch
|
||||
Patch9: gcc11-Wno-format-security.patch
|
||||
Patch10: gcc11-rh1574936.patch
|
||||
Patch11: gcc11-d-shared-libphobos.patch
|
||||
Patch12: gcc11-pr98282.patch
|
||||
Patch13: gcc11-pr98338-workaround.patch
|
||||
Patch14: gcc11-c++tools.patch
|
||||
|
||||
# On ARM EABI systems, we do want -gnueabi to be part of the
|
||||
# target triple.
|
||||
@ -783,6 +786,9 @@ to NVidia PTX capable devices if available.
|
||||
%patch10 -p0 -b .rh1574936~
|
||||
%endif
|
||||
%patch11 -p0 -b .d-shared-libphobos~
|
||||
%patch12 -p0 -b .pr98282~
|
||||
%patch13 -p0 -b .pr98338-workaround~
|
||||
%patch14 -p0 -b .c++tools~
|
||||
|
||||
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
|
||||
|
||||
@ -2403,6 +2409,7 @@ end
|
||||
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
|
||||
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
|
||||
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1plus
|
||||
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/g++-mapper-server
|
||||
%ifarch sparcv9 ppc
|
||||
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
|
||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.so
|
||||
@ -3066,6 +3073,44 @@ end
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu Dec 17 2020 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.10
|
||||
- apply workaround for profiledbootstrap x86_64 failure
|
||||
- put g++-mapper-server into the right directory
|
||||
|
||||
* Wed Dec 16 2020 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.8
|
||||
- update from trunk
|
||||
- PRs ada/98230, bootstrap/98188, c++/57111, c++/59238, c++/68451,
|
||||
c++/78173, c++/91506, c++/93083, c++/96299, c++/97093, c++/97517,
|
||||
c++/98043, c++/98103, c++/98122, c++/98126, c++/98130, c++/98187,
|
||||
c++/98193, c/97981, c/98200, d/98277, fortran/90207, fortran/98016,
|
||||
fortran/98022, gcov-profile/98273, libstdc++/98108, libstdc++/98226,
|
||||
lto/98275, middle-end/94600, middle-end/98160, middle-end/98166,
|
||||
middle-end/98183, middle-end/98190, middle-end/98205,
|
||||
middle-end/98264, rtl-optimization/97092, rtl-optimization/97421,
|
||||
rtl-optimization/98212, rtl-optimization/98229, sanitizer/98204,
|
||||
target/58901, target/66791, target/92469, target/94440, target/95294,
|
||||
target/96226, target/96470, target/97865, target/97872, target/98100,
|
||||
target/98147, target/98152, target/98161, target/98162, target/98219,
|
||||
target/98274, testsuite/95900, testsuite/98123, testsuite/98156,
|
||||
testsuite/98239, testsuite/98240, testsuite/98242, testsuite/98244,
|
||||
tree-optimization/95582, tree-optimization/96094,
|
||||
tree-optimization/96232, tree-optimization/96272,
|
||||
tree-optimization/96344, tree-optimization/96685,
|
||||
tree-optimization/97559, tree-optimization/97929,
|
||||
tree-optimization/98069, tree-optimization/98113,
|
||||
tree-optimization/98117, tree-optimization/98137,
|
||||
tree-optimization/98169, tree-optimization/98174,
|
||||
tree-optimization/98180, tree-optimization/98182,
|
||||
tree-optimization/98191, tree-optimization/98192,
|
||||
tree-optimization/98199, tree-optimization/98211,
|
||||
tree-optimization/98213, tree-optimization/98235,
|
||||
tree-optimization/98256
|
||||
- C++20 modules support
|
||||
- fix up __patchable_function_entries handling when gcc is configured
|
||||
against recent binutils (#1907945)
|
||||
- fix up handling of non-memory VIEW_CONVERT_EXPRs in PRE
|
||||
(PR tree-optimization/98282)
|
||||
|
||||
* Fri Dec 4 2020 Jakub Jelinek <jakub@redhat.com> 11.0.0-0.7
|
||||
- update from trunk
|
||||
- PRs bootstrap/97983, c++/80780, c++/90629, c++/93093, c++/97187,
|
||||
|
86
gcc11-c++tools.patch
Normal file
86
gcc11-c++tools.patch
Normal file
@ -0,0 +1,86 @@
|
||||
2020-12-17 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* configure.ac: Add GCC_BASE_VER.
|
||||
* Makefile.in (version): Remove variable.
|
||||
(gcc_version): New variable.
|
||||
(libexecsubdir): Use $(gcc_version) instead of $(version).
|
||||
* configure: Regenerated.
|
||||
|
||||
--- c++tools/configure.ac.jj 2020-12-16 23:38:34.091923526 +0100
|
||||
+++ c++tools/configure.ac 2020-12-17 00:02:48.221661922 +0100
|
||||
@@ -206,6 +206,9 @@ if test $ac_cv_inet_ntop = yes; then
|
||||
[Define if inet_ntop provided.])
|
||||
fi
|
||||
|
||||
+# Determine what GCC version number to use in filesystem paths.
|
||||
+GCC_BASE_VER
|
||||
+
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
|
||||
--- c++tools/Makefile.in.jj 2020-12-16 23:38:34.091923526 +0100
|
||||
+++ c++tools/Makefile.in 2020-12-17 00:01:54.419263424 +0100
|
||||
@@ -20,8 +20,8 @@ prefix := @prefix@
|
||||
bindir := @bindir@
|
||||
libexecdir := @libexecdir@
|
||||
target_noncanonical := @target_noncanonical@
|
||||
-version := $(shell cat $(srcdir)/../gcc/BASE-VER)
|
||||
-libexecsubdir := $(libexecdir)/gcc/$(target_noncanonical)/$(version)
|
||||
+gcc_version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER)
|
||||
+libexecsubdir := $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
|
||||
INSTALL := @INSTALL@
|
||||
AUTOCONF := @AUTOCONF@
|
||||
AUTOHEADER := @AUTOHEADER@
|
||||
--- c++tools/configure.jj 2020-12-16 23:38:34.091923526 +0100
|
||||
+++ c++tools/configure 2020-12-17 00:02:53.849599006 +0100
|
||||
@@ -585,6 +585,7 @@ ac_unique_file="c++tools"
|
||||
ac_unique_file="server.cc"
|
||||
ac_subst_vars='LTLIBOBJS
|
||||
LIBOBJS
|
||||
+get_gcc_base_ver
|
||||
ac_ct_CC
|
||||
CFLAGS
|
||||
CC
|
||||
@@ -658,6 +659,7 @@ ac_user_opts='
|
||||
enable_option_checking
|
||||
enable_c___tools
|
||||
enable_maintainer_mode
|
||||
+with_gcc_major_version_only
|
||||
'
|
||||
ac_precious_vars='build_alias
|
||||
host_alias
|
||||
@@ -1287,6 +1289,12 @@ Optional Features:
|
||||
enable maintainer mode. Add rules to rebuild
|
||||
configurey bits
|
||||
|
||||
+Optional Packages:
|
||||
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
|
||||
+ --with-gcc-major-version-only
|
||||
+ use only GCC major number in filesystem paths
|
||||
+
|
||||
Some influential environment variables:
|
||||
CXX C++ compiler command
|
||||
CXXFLAGS C++ compiler flags
|
||||
@@ -3557,6 +3565,21 @@ $as_echo "#define HAVE_INET_NTOP 1" >>co
|
||||
|
||||
fi
|
||||
|
||||
+# Determine what GCC version number to use in filesystem paths.
|
||||
+
|
||||
+ get_gcc_base_ver="cat"
|
||||
+
|
||||
+# Check whether --with-gcc-major-version-only was given.
|
||||
+if test "${with_gcc_major_version_only+set}" = set; then :
|
||||
+ withval=$with_gcc_major_version_only; if test x$with_gcc_major_version_only = xyes ; then
|
||||
+ get_gcc_base_ver="sed -e 's/^\([0-9]*\).*/\1/'"
|
||||
+ fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
ac_config_headers="$ac_config_headers config.h"
|
||||
|
||||
ac_config_files="$ac_config_files Makefile"
|
118
gcc11-pr98282.patch
Normal file
118
gcc11-pr98282.patch
Normal file
@ -0,0 +1,118 @@
|
||||
2020-12-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/98282
|
||||
* tree-ssa-pre.c (compute_avail): Don't try to adjust alias set
|
||||
if different when ref1->opcode is not MEM_REF or TARGET_MEM_REF.
|
||||
|
||||
* g++.dg/opt/pr98282.C: New test.
|
||||
|
||||
--- gcc/tree-ssa-pre.c.jj 2020-11-30 10:48:31.000000000 +0100
|
||||
+++ gcc/tree-ssa-pre.c 2020-12-15 10:51:51.061206572 +0100
|
||||
@@ -4176,13 +4176,17 @@ compute_avail (void)
|
||||
&& ref2->opcode != MEM_REF
|
||||
&& ref2 != &operands[0])
|
||||
--ref2;
|
||||
- if ((ref1->opcode == TARGET_MEM_REF
|
||||
- || ref1->opcode == MEM_REF)
|
||||
- && (TYPE_ALIGN (ref1->type)
|
||||
- > TYPE_ALIGN (ref2->type)))
|
||||
- ref1->type
|
||||
- = build_aligned_type (ref1->type,
|
||||
- TYPE_ALIGN (ref2->type));
|
||||
+ if (ref1->opcode == TARGET_MEM_REF
|
||||
+ || ref1->opcode == MEM_REF)
|
||||
+ {
|
||||
+ if (TYPE_ALIGN (ref1->type)
|
||||
+ > TYPE_ALIGN (ref2->type))
|
||||
+ ref1->type
|
||||
+ = build_aligned_type (ref1->type,
|
||||
+ TYPE_ALIGN (ref2->type));
|
||||
+ }
|
||||
+ else
|
||||
+ set = ref->set;
|
||||
/* TBAA behavior is an obvious part so make sure
|
||||
that the hashtable one covers this as well
|
||||
by adjusting the ref alias set and its base. */
|
||||
--- gcc/testsuite/g++.dg/opt/pr98282.C.jj 2020-12-15 12:26:25.868415230 +0100
|
||||
+++ gcc/testsuite/g++.dg/opt/pr98282.C 2020-12-15 12:28:00.346353067 +0100
|
||||
@@ -0,0 +1,80 @@
|
||||
+// PR tree-optimization/98282
|
||||
+// { dg-do compile { target c++11 } }
|
||||
+// { dg-options "-O2" }
|
||||
+
|
||||
+template <typename> struct g;
|
||||
+template <typename b> struct g<b &> { typedef b c; };
|
||||
+template <typename b> typename g<b>::c &&d(b &&e) {
|
||||
+ return static_cast<typename g<b>::c &&>(e);
|
||||
+}
|
||||
+void *operator new(__SIZE_TYPE__, void *f) { return f; }
|
||||
+struct h;
|
||||
+struct k {
|
||||
+ using i = h *;
|
||||
+};
|
||||
+struct D {
|
||||
+ k::i j;
|
||||
+};
|
||||
+struct p : D {
|
||||
+ p(p &&) : D() {}
|
||||
+};
|
||||
+struct r {
|
||||
+ using l = int;
|
||||
+ r(r &&) : ad() {}
|
||||
+ l *ad;
|
||||
+};
|
||||
+struct s {
|
||||
+ static s m();
|
||||
+};
|
||||
+struct t {
|
||||
+ template <typename ah> void operator=(ah);
|
||||
+};
|
||||
+struct I {
|
||||
+ template <typename o> void q(o ai) {
|
||||
+ *ai = aj();
|
||||
+ s::m();
|
||||
+ }
|
||||
+ h aj();
|
||||
+};
|
||||
+template <typename...> class as;
|
||||
+struct J {
|
||||
+ int a;
|
||||
+ char av;
|
||||
+};
|
||||
+template <typename...> struct aw : J {
|
||||
+ void ax(...) {}
|
||||
+};
|
||||
+template <typename... ay, typename an, typename... n>
|
||||
+struct aw<as<ay...>, an, n...> : aw<as<ay...>, n...> {
|
||||
+ using az = as<ay...>;
|
||||
+ using ba = aw<az, n...>;
|
||||
+ char bb;
|
||||
+ an &bc() { return *reinterpret_cast<an *>(this); }
|
||||
+ void ax(az *bd) {
|
||||
+ if (bb)
|
||||
+ new (bd) an(d(bc()));
|
||||
+ ba::ax(bd);
|
||||
+ }
|
||||
+};
|
||||
+template <typename... n> struct as : aw<as<n...>, n...> {
|
||||
+ as();
|
||||
+ as(as &&be) { be.ax(this); }
|
||||
+ void operator=(as be) { be.ax(this); }
|
||||
+};
|
||||
+struct h {
|
||||
+ as<decltype(nullptr), r, p> bg;
|
||||
+};
|
||||
+using bh = t;
|
||||
+struct u {
|
||||
+ bh bj;
|
||||
+};
|
||||
+I bk();
|
||||
+template <typename> void bl() {
|
||||
+ h a;
|
||||
+ bk().q(&a);
|
||||
+}
|
||||
+template <typename> void bn(int) {
|
||||
+ u b;
|
||||
+ b.bj = bl<int>;
|
||||
+}
|
||||
+void bp() { bn<int>(0); }
|
17
gcc11-pr98338-workaround.patch
Normal file
17
gcc11-pr98338-workaround.patch
Normal file
@ -0,0 +1,17 @@
|
||||
2020-12-17 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR bootstrap/98338
|
||||
* range-op.cc (operator_plus::op2_range): Tail-call op1_range
|
||||
to work-around ICF profile merging ICE during profiledbootstrap.
|
||||
|
||||
--- gcc/range-op.cc.jj 2020-12-17 16:06:39.789526868 +0100
|
||||
+++ gcc/range-op.cc 2020-12-17 16:19:18.127240700 +0100
|
||||
@@ -950,7 +950,7 @@ operator_plus::op2_range (irange &r, tre
|
||||
const irange &lhs,
|
||||
const irange &op1) const
|
||||
{
|
||||
- return range_op_handler (MINUS_EXPR, type)->fold_range (r, type, lhs, op1);
|
||||
+ return op1_range (r, type, lhs, op1);
|
||||
}
|
||||
|
||||
|
2
sources
2
sources
@ -1,3 +1,3 @@
|
||||
SHA512 (gcc-11.0.0-20201204.tar.xz) = 809ca1644f7471187dec0f080d70fcf3a778be88d550d3088988331165fa3ebaafb011f07973523d0b5b83e3cd0f7fd5bc10bc80944f035803f1b21e79af7a31
|
||||
SHA512 (gcc-11.0.0-20201216.tar.xz) = 5624f905eafa693434ca16df9df9b3d7dff6d01d335fb690bee124d5f62cec6f2273a4b13cbe85eac33b00d2e556bfeb246444558c4a33747629529a2bd560ad
|
||||
SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c
|
||||
SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7
|
||||
|
Loading…
Reference in New Issue
Block a user