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:
DistroBaker 2020-12-19 00:03:08 +00:00
parent 5d1d94dd49
commit aaef794ebb
6 changed files with 272 additions and 4 deletions

2
.gitignore vendored
View File

@ -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

View File

@ -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
View 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
View 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); }

View 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);
}

View File

@ -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