Compare commits

...

43 Commits
master ... f33

Author SHA1 Message Date
Jakub Jelinek 749a82e321 10.3.1-1 2021-04-22 19:34:10 +02:00
Jakub Jelinek 5dab5819a6 10.2.1-11 2021-01-30 11:24:58 +01:00
Jakub Jelinek ccfd631e59 10.2.1-10 2021-01-19 19:38:51 +01:00
Jakub Jelinek 94687bec15 10.2.1-9 2020-11-25 13:27:09 +01:00
Jakub Jelinek de14d872a4 10.2.1-8 2020-11-12 11:29:08 +01:00
Jakub Jelinek a067db068a 10.2.1-7 2020-11-02 13:32:00 +01:00
Jakub Jelinek 3f45c9c165 10.2.1-6 2020-10-16 14:04:18 +02:00
Jakub Jelinek 26a9740f02 Adjust rhel == 8 s390x --with-arch= and --with-tune=. 2020-10-05 17:18:55 +02:00
Jakub Jelinek a7c26b2bf9 10.2.1-5 2020-10-05 10:44:00 +02:00
Jakub Jelinek 888bd7b767 10.2.1-4 2020-09-16 13:35:23 +02:00
Jakub Jelinek 15fd636cd1 10.2.1-4 2020-09-16 12:13:04 +02:00
Jakub Jelinek 6b90f86714 10.2.1-4 2020-09-16 11:51:20 +02:00
Jakub Jelinek d10315732b 10.2.1-4 2020-09-16 11:42:59 +02:00
Jakub Jelinek 6358fb610c Merge #11 `Add test via annobin` 2020-08-31 10:13:34 +00:00
Jakub Jelinek 9dd34982d8 10.2.1-3 2020-08-26 12:16:47 +02:00
Jakub Jelinek e0d9613563 10.2.1-3 2020-08-26 11:39:03 +02:00
Jakub Jelinek eed69448a1 during %%check perform tests whether annobin is usable with the newly built
compiler or whether it might need to be rebuilt
2020-08-12 12:31:55 +02:00
Jakub Jelinek 83f0a4ca68 10.2.1-2 2020-08-04 20:17:45 +02:00
Jakub Jelinek 65f713bb7b 10.2.1-2 2020-08-04 20:15:39 +02:00
Aleksandra Fedorova d6a2f172d6 Build both C an C++ hello world programs as integration test
Add simple test which builds Hello World programs for both C and C++.
Build options provided by default rpm macro.

Based on

https://github.com/CentOS/sig-core-t_functional/tree/master/tests/p_annobin

Gating is not enabled yet, so the test will not be blocking.
2020-08-03 12:58:11 +00:00
Fedora Release Engineering 9186451072 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 01:07:14 +00:00
Fedora Release Engineering 38049fe0f3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 18:20:11 +00:00
Marek Polacek ba2f1bfa9d Require MPFR Library version 3.1.0 (or later). 2020-07-23 16:05:40 -04:00
Jakub Jelinek 77db02d7c8 10.2.1-1 2020-07-23 12:14:52 +02:00
Jakub Jelinek ac758fe7b9 10.2.1-1 2020-07-23 11:48:38 +02:00
Troy Dawson 6d54c72548 Final minor conditional tweak for ELN
Yesterday, my pull request was rushed.  I only waited two hours through the build before thinking it was fixed.
Because I rushed I missed one other conditional, and the builds still don't builds in ELN.
This time, with this pull request, I waited the full 8+ hours.  It builds successfully, completely.
We are still in a bit of a time crunch, so if you wouldn't mind merging this pull request, I would appreciate it.

Signed-off-by: Troy Dawson <tdawson@redhat.com>
2020-07-15 13:45:53 +00:00
Troy Dawson f5bff3fc51 Minor conditional tweak for ELN
This minor conditional change allows the package to build in ELN.

Signed-off-by: Troy Dawson tdawson@redhat.com
2020-07-14 14:54:16 +00:00
Jakub Jelinek 9f9248e195 10.1.1-2 2020-06-18 14:41:28 +02:00
Jakub Jelinek 2b448df91a correct instructions for creation of newlib tarball, filter out sun-rpc licensed code that is never used during the package build 2020-06-11 12:31:02 +02:00
Jakub Jelinek d53415ef01 10.1.1-1 2020-05-07 22:30:17 +02:00
Jakub Jelinek 291926a2e8 10.0.1-0.14 2020-05-02 12:27:09 +02:00
Jakub Jelinek 95507e8b68 10.0.1-0.14 2020-05-02 10:44:07 +02:00
Jakub Jelinek 062d80630d 10.0.1-0.13 2020-05-01 00:30:58 +02:00
Jakub Jelinek 1cd0b2d684 10.0.1-0.13 2020-05-01 00:20:13 +02:00
Jakub Jelinek 93ba12bdcb 10.0.1-0.13 2020-05-01 00:13:49 +02:00
Jakub Jelinek 9d851d2a4e 10.0.1-0.12 2020-04-20 16:27:49 +02:00
Jakub Jelinek 643c97a3d8 10.0.1-0.11 2020-03-28 11:00:41 +01:00
Jakub Jelinek 047162357c 10.0.1-0.10 2020-03-25 12:32:34 +01:00
Jakub Jelinek 6768e0a391 10.0.1-0.10 2020-03-25 12:29:44 +01:00
Jakub Jelinek 19b1c942e0 Adjust for libgphobos SONAME changes. 2020-03-25 12:18:53 +01:00
Jakub Jelinek 5ae836ea9d 10.0.1-0.10 2020-03-25 11:27:42 +01:00
Jakub Jelinek fec5ba4393 10.0.1-0.9 2020-03-12 00:01:59 +01:00
Miro Hrončok 09eade5353 Stop using Python 2 at build time
Python 2 is End of Life.

See https://fedoraproject.org/wiki/Changes/RetirePython2
2020-02-20 15:36:53 +00:00
15 changed files with 1092 additions and 40 deletions

19
.gitignore vendored
View File

@ -6,3 +6,22 @@
/gcc-10.0.1-20200126.tar.xz
/gcc-10.0.1-20200130.tar.xz
/gcc-10.0.1-20200216.tar.xz
/gcc-10.0.1-20200311.tar.xz
/gcc-10.0.1-20200325.tar.xz
/gcc-10.0.1-20200328.tar.xz
/gcc-10.0.1-20200420.tar.xz
/gcc-10.0.1-20200501.tar.xz
/gcc-10.1.1-20200507.tar.xz
/gcc-10.1.1-20200618.tar.xz
/gcc-10.2.1-20200723.tar.xz
/gcc-10.2.1-20200804.tar.xz
/gcc-10.2.1-20200826.tar.xz
/gcc-10.2.1-20200916.tar.xz
/gcc-10.2.1-20201005.tar.xz
/gcc-10.2.1-20201016.tar.xz
/gcc-10.2.1-20201102.tar.xz
/gcc-10.2.1-20201112.tar.xz
/gcc-10.2.1-20201125.tar.xz
/gcc-10.2.1-20210119.tar.xz
/gcc-10.2.1-20210130.tar.xz
/gcc-10.3.1-20210422.tar.xz

568
gcc.spec
View File

@ -1,10 +1,10 @@
%global DATE 20200216
%global gitrev e192529cb03e8c4fb50bff9ce451d0f9e12b863f
%global gcc_version 10.0.1
%global DATE 20210422
%global gitrev dc5e381a715a658cfcc08ba3cbaa6bc53adc596f
%global gcc_version 10.3.1
%global gcc_major 10
# 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 0.8
%global gcc_release 1
%global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e
%global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0
%global _unpackaged_files_terminate_build 0
@ -23,7 +23,7 @@
%if 0%{?__brp_strip_lto:1}
%global __brp_strip_lto %{__brp_strip_lto} || :
%endif
%if 0%{?fedora} < 32
%if 0%{?fedora} < 32 && 0%{?rhel} < 8
%global multilib_64_archs sparc64 ppc64 ppc64p7 s390x x86_64
%else
%global multilib_64_archs sparc64 ppc64 ppc64p7 x86_64
@ -86,7 +86,11 @@
%else
%global build_libitm 0
%endif
%if 0%{?rhel} > 8
%global build_isl 0
%else
%global build_isl 1
%endif
%global build_libstdcxx_docs 1
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips}
%global attr_ifunc 1
@ -98,7 +102,7 @@
%else
%global build_offload_nvptx 0
%endif
%if 0%{?fedora} < 32
%if 0%{?fedora} < 32 && 0%{?rhel} < 8
%ifarch s390x
%global multilib_32_arch s390
%endif
@ -135,9 +139,8 @@ Source0: gcc-%{version}-%{DATE}.tar.xz
Source1: nvptx-tools-%{nvptx_tools_gitrev}.tar.xz
# The source for nvptx-newlib package was pulled from upstream's vcs. Use the
# following commands to generate the tarball:
# git clone --depth 1 git://sourceware.org/git/newlib-cygwin.git newlib-cygwin-dir.tmp
# git --git-dir=newlib-cygwin-dir.tmp/.git fetch --depth 1 origin %%{newlib_cygwin_gitrev}
# git --git-dir=newlib-cygwin-dir.tmp/.git archive --prefix=newlib-cygwin-%%{newlib_cygwin_gitrev}/ %%{newlib_cygwin_gitrev} | xz -9e > newlib-cygwin-%%{newlib_cygwin_gitrev}.tar.xz
# git clone git://sourceware.org/git/newlib-cygwin.git newlib-cygwin-dir.tmp
# git --git-dir=newlib-cygwin-dir.tmp/.git archive --prefix=newlib-cygwin-%%{newlib_cygwin_gitrev}/ %%{newlib_cygwin_gitrev} ":(exclude)newlib/libc/sys/linux/include/rpc/*.[hx]" | xz -9e > newlib-cygwin-%%{newlib_cygwin_gitrev}.tar.xz
# rm -rf newlib-cygwin-dir.tmp
Source2: newlib-cygwin-%{newlib_cygwin_gitrev}.tar.xz
%global isl_version 0.16.1
@ -166,9 +169,9 @@ BuildRequires: glibc-static
BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, sharutils
BuildRequires: texinfo, texinfo-tex, /usr/bin/pod2man
BuildRequires: systemtap-sdt-devel >= 1.3
BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1, libmpc-devel >= 0.8.1
BuildRequires: python2-devel, python3-devel, /usr/bin/python
BuildRequires: gcc, gcc-c++
BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 3.1.0, libmpc-devel >= 0.8.1
BuildRequires: python3-devel, /usr/bin/python
BuildRequires: gcc, gcc-c++, make
%if %{build_go}
BuildRequires: hostname, procps
%endif
@ -180,6 +183,7 @@ BuildRequires: gdb
BuildRequires: glibc-devel >= 2.4.90-13
BuildRequires: elfutils-devel >= 0.147
BuildRequires: elfutils-libelf-devel >= 0.147
BuildRequires: libzstd-devel
%ifarch ppc ppc64 ppc64le ppc64p7 s390 s390x sparc sparcv9 alpha
# Make sure glibc supports TFmode long double
BuildRequires: glibc >= 2.3.90-35
@ -244,6 +248,8 @@ Requires: glibc >= 2.16
%endif
Requires: libgcc >= %{version}-%{release}
Requires: libgomp = %{version}-%{release}
# lto-wrapper invokes make
Requires: make
%if !%{build_ada}
Obsoletes: gcc-gnat < %{version}-%{release}
%endif
@ -264,6 +270,11 @@ Patch8: gcc10-foffload-default.patch
Patch9: gcc10-Wno-format-security.patch
Patch10: gcc10-rh1574936.patch
Patch11: gcc10-d-shared-libphobos.patch
Patch12: gcc10-pr96383.patch
Patch13: gcc10-pr96939.patch
Patch14: gcc10-pr96939-2.patch
Patch15: gcc10-pr96939-3.patch
Patch16: gcc10-pr97060.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
@ -737,7 +748,7 @@ This package contains static Go libraries.
%package plugin-devel
Summary: Support for compiling GCC plugins
Requires: gcc = %{version}-%{release}
Requires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1, libmpc-devel >= 0.8.1
Requires: gmp-devel >= 4.1.2-8, mpfr-devel >= 3.1.0, libmpc-devel >= 0.8.1
%description plugin-devel
This package contains header files and other support files
@ -775,6 +786,12 @@ to NVidia PTX capable devices if available.
%patch10 -p0 -b .rh1574936~
%endif
%patch11 -p0 -b .d-shared-libphobos~
%patch12 -p0 -b .pr96383~
%patch13 -p0 -b .pr96939~
%patch14 -p0 -b .pr96939-2~
%patch15 -p0 -b .pr96939-3~
find gcc/testsuite -name \*.pr96939~ | xargs rm -f
#%patch16 -p0 -b .pr97060~
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
@ -814,6 +831,7 @@ export CONFIG_SITE=NONE
CC=gcc
CXX=g++
OPT_FLAGS=`echo %{optflags}|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-flto=auto//g;s/-flto//g;s/-ffat-lto-objects//g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mfpmath=sse/-mfpmath=sse -msse2/g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/ -pipe / /g'`
@ -896,7 +914,7 @@ CONFIGURE_OPTS="\
%endif
%ifarch ppc64le %{mips} s390x
%ifarch s390x
%if 0%{?fedora} < 32
%if 0%{?fedora} < 32 && 0%{?rhel} < 8
--enable-multilib \
%else
--disable-multilib \
@ -981,7 +999,7 @@ CONFIGURE_OPTS="\
%ifarch s390 s390x
%if 0%{?rhel} >= 7
%if 0%{?rhel} > 7
--with-arch=zEC12 --with-tune=z13 \
--with-arch=z13 --with-tune=z14 \
%else
--with-arch=z196 --with-tune=zEC12 \
%endif
@ -1289,7 +1307,7 @@ mkdir -p %{buildroot}/%{_lib}
mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1
chmod 755 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1
ln -sf libgcc_s-%{gcc_major}-%{DATE}.so.1 %{buildroot}/%{_lib}/libgcc_s.so.1
%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 ppc64le %{arm}
%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 ppc64le %{arm} aarch64 riscv64
rm -f $FULLPATH/libgcc_s.so
echo '/* GNU ld script
Use the shared library, but some functions are only in
@ -1376,8 +1394,8 @@ ln -sf ../../../libgo.so.16.* libgo.so
ln -sf ../../../libquadmath.so.0.* libquadmath.so
%endif
%if %{build_d}
ln -sf ../../../libgdruntime.so.76.* libgdruntime.so
ln -sf ../../../libgphobos.so.76.* libgphobos.so
ln -sf ../../../libgdruntime.so.1.* libgdruntime.so
ln -sf ../../../libgphobos.so.1.* libgphobos.so
%endif
%if %{build_libitm}
ln -sf ../../../libitm.so.1.* libitm.so
@ -1406,8 +1424,8 @@ ln -sf ../../../../%{_lib}/libgo.so.16.* libgo.so
ln -sf ../../../../%{_lib}/libquadmath.so.0.* libquadmath.so
%endif
%if %{build_d}
ln -sf ../../../../%{_lib}/libgdruntime.so.76.* libgdruntime.so
ln -sf ../../../../%{_lib}/libgphobos.so.76.* libgphobos.so
ln -sf ../../../../%{_lib}/libgdruntime.so.1.* libgdruntime.so
ln -sf ../../../../%{_lib}/libgphobos.so.1.* libgphobos.so
%endif
%if %{build_libitm}
ln -sf ../../../../%{_lib}/libitm.so.1.* libitm.so
@ -1530,10 +1548,10 @@ echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libquadmath.so.0.* | sed '
%endif
%if %{build_d}
rm -f libgdruntime.so libgphobos.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgdruntime.so.76.* | sed 's,^.*libg,libg,'`' )' > libgdruntime.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgdruntime.so.76.* | sed 's,^.*libg,libg,'`' )' > 64/libgdruntime.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgphobos.so.76.* | sed 's,^.*libg,libg,'`' )' > libgphobos.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgphobos.so.76.* | sed 's,^.*libg,libg,'`' )' > 64/libgphobos.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgdruntime.so.1.* | sed 's,^.*libg,libg,'`' )' > libgdruntime.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgdruntime.so.1.* | sed 's,^.*libg,libg,'`' )' > 64/libgdruntime.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgphobos.so.1.* | sed 's,^.*libg,libg,'`' )' > libgphobos.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgphobos.so.1.* | sed 's,^.*libg,libg,'`' )' > 64/libgphobos.so
%endif
%if %{build_libitm}
rm -f libitm.so
@ -1629,10 +1647,10 @@ echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libquadmath.so.0.* | sed '
%endif
%if %{build_d}
rm -f libgdruntime.so libgphobos.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgdruntime.so.76.* | sed 's,^.*libg,libg,'`' )' > libgdruntime.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgdruntime.so.76.* | sed 's,^.*libg,libg,'`' )' > 32/libgdruntime.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgphobos.so.76.* | sed 's,^.*libg,libg,'`' )' > libgphobos.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgphobos.so.76.* | sed 's,^.*libg,libg,'`' )' > 32/libgphobos.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgdruntime.so.1.* | sed 's,^.*libg,libg,'`' )' > libgdruntime.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgdruntime.so.1.* | sed 's,^.*libg,libg,'`' )' > 32/libgdruntime.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgphobos.so.1.* | sed 's,^.*libg,libg,'`' )' > libgphobos.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgphobos.so.1.* | sed 's,^.*libg,libg,'`' )' > 32/libgphobos.so
%endif
%if %{build_libitm}
rm -f libitm.so
@ -1784,8 +1802,8 @@ chmod 755 %{buildroot}%{_prefix}/%{_lib}/libcc1.so.0.*
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libquadmath.so.0.*
%endif
%if %{build_d}
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgdruntime.so.76.*
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgphobos.so.76.*
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgdruntime.so.1.*
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgphobos.so.1.*
%endif
%if %{build_libitm}
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libitm.so.1.*
@ -1906,6 +1924,11 @@ rm -f %{buildroot}%{mandir}/man3/ffi*
# Help plugins find out nvra.
echo gcc-%{version}-%{release}.%{_arch} > $FULLPATH/rpmver
# Add symlink to lto plugin in the binutils plugin directory.
%{__mkdir_p} %{buildroot}%{_libdir}/bfd-plugins/
ln -s ../../libexec/gcc/%{gcc_target_platform}/%{gcc_major}/liblto_plugin.so \
%{buildroot}%{_libdir}/bfd-plugins/
%check
cd obj-%{gcc_target_platform}
@ -1916,8 +1939,39 @@ LC_ALL=C make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=
%else
RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}'" || :
%endif
if [ -f %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/annobin.so ]; then
# Test whether current annobin plugin won't fail miserably with the newly built gcc.
echo -e '#include <stdio.h>\nint main () { printf ("Hello, world!\\n"); return 0; }' > annobin-test.c
echo -e '#include <iostream>\nint main () { std::cout << "Hello, world!" << std::endl; return 0; }' > annobin-test.C
`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cc` \
-O2 -g -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS \
-fexceptions -fstack-protector-strong -grecord-gcc-switches -o annobin-test{c,.c} \
-Wl,-rpath,%{gcc_target_platform}/libgcc/ \
-fplugin=%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/annobin.so \
2> ANNOBINOUT1 || echo Annobin test 1 FAIL > ANNOBINOUT2;
`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cxx` \
`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-includes` \
-O2 -g -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS \
-fexceptions -fstack-protector-strong -grecord-gcc-switches -o annobin-test{C,.C} \
-Wl,-rpath,%{gcc_target_platform}/libgcc/:%{gcc_target_platform}/libstdc++-v3/src/.libs/ \
-fplugin=%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/annobin.so \
-B %{gcc_target_platform}/libstdc++-v3/src/.libs/ \
2> ANNOBINOUT3 || echo Annobin test 2 FAIL > ANNOBINOUT4;
[ -f ./annobin-testc ] || echo Annobin test 1 MISSING > ANNOBINOUT5;
[ -f ./annobin-testc ] && \
( ./annobin-testc > ANNOBINRES1 2>&1 || echo Annobin test 1 RUNFAIL > ANNOBINOUT6 );
[ -f ./annobin-testC ] || echo Annobin test 2 MISSING > ANNOBINOUT7;
[ -f ./annobin-testC ] && \
( ./annobin-testC > ANNOBINRES2 2>&1 || echo Annobin test 2 RUNFAIL > ANNOBINOUT8 );
cat ANNOBINOUT[1-8] > ANNOBINOUT
touch ANNOBINRES1 ANNOBINRES2
[ -s ANNOBINOUT ] && echo Annobin testing FAILed > ANNOBINRES
cat ANNOBINOUT ANNOBINRES[12] >> ANNOBINRES
rm -f ANNOBINOUT* ANNOBINRES[12] annobin-test{c,C}
fi
echo ====================TESTING=========================
( LC_ALL=C ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}'
[ -f ANNOBINRES ] && cat ANNOBINRES
echo ====================TESTING END=====================
mkdir testlogs-%{_target_platform}-%{version}-%{release}
for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats.*/tests/'`; do
@ -2031,6 +2085,7 @@ end
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/lto1
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/lto-wrapper
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/liblto_plugin.so*
%{_libdir}/bfd-plugins/liblto_plugin.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/rpmver
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stddef.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdarg.h
@ -2569,8 +2624,8 @@ end
%doc rpm.doc/gdc/*
%files -n libgphobos
%{_prefix}/%{_lib}/libgdruntime.so.76*
%{_prefix}/%{_lib}/libgphobos.so.76*
%{_prefix}/%{_lib}/libgdruntime.so.1*
%{_prefix}/%{_lib}/libgphobos.so.1*
%doc rpm.doc/libphobos/*
%files -n libgphobos-static
@ -3003,6 +3058,455 @@ end
%endif
%changelog
* Thu Apr 22 2021 Jakub Jelinek <jakub@redhat.com> 10.3.1-1
- update from releases/gcc-10 branch
- GCC 10.3 release
- PRs ada/99095, ada/99264, bootstrap/99983, c++/20408, c++/82959,
c++/83476, c++/88146, c++/91416, c++/95434, c++/95451, c++/95468,
c++/95486, c++/95615, c++/95616, c++/95675, c++/95822, c++/95888,
c++/96078, c++/96251, c++/96282, c++/96531, c++/96749, c++/96905,
c++/97051, c++/97052, c++/97103, c++/97246, c++/97587, c++/97742,
c++/97804, c++/97878, c++/97966, c++/97973, c++/98118, c++/98295,
c++/98326, c++/98333, c++/98355, c++/98480, c++/98481, c++/98611,
c++/98704, c++/98717, c++/98802, c++/98810, c++/98947, c++/98988,
c++/98990, c++/99031, c++/99033, c++/99035, c++/99047, c++/99062,
c++/99120, c++/99176, c++/99318, c++/99331, c++/99362, c++/99374,
c++/99507, c++/99613, c++/99650, c++/99705, c++/99745, c++/99790,
c++/99806, c++/99831, c++/99833, c++/99859, c++/99885, c++/100111,
c/97880, c/99136, c/99137, c/99224, c/99324, c/99363, c/99588,
c/99990, d/98457, d/98921, d/99337, debug/96997, debug/98656,
debug/99334, debug/99388, debug/99830, fortran/63797, fortran/93660,
fortran/97927, fortran/98897, fortran/99027, fortran/99043,
fortran/99060, fortran/99111, fortran/99124, fortran/99171,
fortran/99205, fortran/99369, fortran/99545, fortran/99651,
fortran/99688, fortran/99817, fortran/99840, go/99458, ipa/98078,
ipa/98265, ipa/98338, ipa/99034, ipa/99466, ipa/99517, jit/100096,
libfortran/95647, libfortran/99218, libstdc++/82584, libstdc++/88881,
libstdc++/93151, libstdc++/95592, libstdc++/95765, libstdc++/96029,
libstdc++/96592, libstdc++/97570, libstdc++/97600, libstdc++/98226,
libstdc++/98319, libstdc++/99021, libstdc++/99058, libstdc++/99077,
libstdc++/99096, libstdc++/99181, libstdc++/99402, libstdc++/99533,
libstdc++/99536, libstdc++/99537, libstdc++/99805, libstdc++/99985,
libstdc++/100044, libstdc++/100060, libstdc++/100180, lto/96591,
lto/99849, lto/99898, middle-end/84991, middle-end/84992,
middle-end/90779, middle-end/93235, middle-end/97487,
middle-end/97971, middle-end/98088, middle-end/99007,
middle-end/99641, objc++/49070, preprocessor/95253,
rtl-optimization/96015, rtl-optimization/96264,
rtl-optimization/98144, rtl-optimization/98601,
rtl-optimization/98791, rtl-optimization/98863,
rtl-optimization/99863, rtl-optimization/99905,
rtl-optimization/100148, sanitizer/96318, sanitizer/99106,
sanitizer/100114, target/44107, target/48097, target/85074,
target/95842, target/96307, target/96974, target/97252, target/97329,
target/97653, target/97701, target/98959, target/99037, target/99041,
target/99085, target/99157, target/99234, target/99271, target/99279,
target/99381, target/99540, target/99542, target/99563, target/99702,
target/99704, target/99753, target/99767, target/99808, target/99813,
target/100048, testsuite/99233, testsuite/99626, testsuite/99636,
testsuite/100176, tree-optimization/96974, tree-optimization/97009,
tree-optimization/97849, tree-optimization/97897,
tree-optimization/98287, tree-optimization/98526,
tree-optimization/98640, tree-optimization/98758,
tree-optimization/98834, tree-optimization/99079,
tree-optimization/99204, tree-optimization/99225,
tree-optimization/99253, tree-optimization/99694,
tree-optimization/99777, tree-optimization/99824,
tree-optimization/99856
* Sat Jan 30 2021 Jakub Jelinek <jakub@redhat.com> 10.2.1-11
- update from releases/gcc-10 branch
- PRs ada/98228, c++/33661, c++/63707, c++/97474, c++/98463, c++/98642,
c++/98672, c++/98790, c++/98847, d/98806, debug/98331, fortran/86470,
fortran/93833, fortran/98022, fortran/98517, gcov-profile/98739,
lto/85574, sanitizer/95693, target/98681, target/98853,
testsuite/97301, testsuite/98771, tree-optimization/90248,
tree-optimization/97627, tree-optimization/98255,
tree-optimization/98535, tree-optimization/98766
* Tue Jan 19 2021 Jakub Jelinek <jakub@redhat.com> 10.2.1-10
- update from releases/gcc-10 branch
- PRs ada/98230, ada/98740, c++/64194, c++/82099, c++/90254, c++/93083,
c++/93711, c++/96197, c++/96504, c++/96675, c++/96742, c++/97427,
c++/97438, c++/97904, c++/97975, c++/98043, c++/98072, c++/98103,
c++/98122, c++/98187, c++/98332, c++/98353, c++/98383, c++/98551,
c++/98556, d/98277, fortran/83118, fortran/85796, fortran/92587,
fortran/95342, fortran/96012, fortran/96100, fortran/96101,
fortran/96325, fortran/98307, ipa/98690, libgomp/65099,
libstdc++/65480, libstdc++/68735, libstdc++/96083, libstdc++/97935,
libstdc++/98001, libstdc++/98605, middle-end/95171, middle-end/95694,
middle-end/97554, middle-end/98183, middle-end/98205, plugins/98059,
rtl-optimization/97092, rtl-optimization/97144,
rtl-optimization/97421, rtl-optimization/98037,
rtl-optimization/98214, target/89057, target/94440, target/96320,
target/96470, target/96607, target/96793, target/97865, target/97939,
target/98063, target/98086, target/98100, target/98521, target/98522,
testsuite/98002, testsuite/98036, tree-optimization/94994,
tree-optimization/95401, tree-optimization/96698,
tree-optimization/96920, tree-optimization/97457,
tree-optimization/97539, tree-optimization/97623,
tree-optimization/97760, tree-optimization/97812,
tree-optimization/98117, tree-optimization/98221,
tree-optimization/98282, tree-optimization/98302,
tree-optimization/98371, tree-optimization/98474,
tree-optimization/98513, tree-optimization/98514
* Wed Nov 25 2020 Jakub Jelinek <jakub@redhat.com> 10.2.1-9
- update from releases/gcc-10 branch
- PRs c++/67453, c++/96805, c++/97663, c++/97790, c/97748, c/97958, d/97842,
d/97843, d/97889, fortran/95847, fortran/97782, libstdc++/93456,
libstdc++/95989, libstdc++/96042, libstdc++/97798, libstdc++/97828,
libstdc++/97869, libstdc++/97876, target/97528, target/97534,
target/97535, target/97682, target/97727, target/97730, target/97887
- fix LTO -g ICE on firefox 83 (#1899294, PR c++/97918)
- fix DW_TAG_unspecified_parameters for LTO or function clones
(#1893340, PR debug/97599)
* Thu Nov 12 2020 Jakub Jelinek <jakub@redhat.com> 10.2.1-8
- update from releases/gcc-10 branch
- PRs c++/97412, fortran/92793, fortran/97652, libstdc++/92285,
libstdc++/96269, libstdc++/97362, libstdc++/97731, middle-end/97392,
target/85486, target/97360, target/97638, target/97685,
testsuite/80219, testsuite/85303, testsuite/97688, testsuite/97797,
tree-optimization/97633, tree-optimization/97764
- fix up Fortran ICE on operator with CHARACTER operand (#1895612,
PR fortran/97768)
- emit DW_AT_declaration on declaration-only DIEs (#1889516, PR debug/97060)
- add BuildRequires: make and Requires: make, the latter for -flto reasons
* Mon Nov 2 2020 Jakub Jelinek <jakub@redhat.com> 10.2.1-7
- update from releases/gcc-10 branch
- PRs c++/95132, c++/96241, c++/97010, c++/97197, c++/97328, fortran/95979,
ipa/96394, ipa/97404, libstdc++/97132, lto/97508,
rtl-optimization/97386, rtl-optimization/97439, sanitizer/97294,
sanitizer/97414, target/96759, target/96914, target/97291,
target/97327, target/97506, testsuite/95886, tree-optimization/97081,
tree-optimization/97456
* Fri Oct 16 2020 Jakub Jelinek <jakub@redhat.com> 10.2.1-6
- update from releases/gcc-10 branch
- PRs c++/88115, c++/96229, fortran/97272, libstdc++/95788, libstdc++/97273,
lto/97290, middle-end/95189, middle-end/95886, rtl-optimization/97313,
target/96313, target/96456, target/97150, target/97251, target/97302,
target/97349, tree-optimization/97236, tree-optimization/97255,
tree-optimization/97357
- fix ICE on building Firefox with LTO+PGO (#1886399, PR ipa/97295)
* Mon Oct 5 2020 Jakub Jelinek <jakub@redhat.com> 10.2.1-5
- update from releases/gcc-10 branch
- PRs bootstrap/97163, bootstrap/97183, c++/96994, c++/97145, c++/97195,
fortran/93423, fortran/95614, fortran/96041, gcov-profile/64636,
gcov-profile/96913, gcov-profile/97069, gcov-profile/97193,
libstdc++/94160, libstdc++/94681, libstdc++/96803, libstdc++/97101,
libstdc++/97167, middle-end/95464, middle-end/97054, middle-end/97073,
preprocessor/96935, target/71233, target/96683, target/96795,
target/96827, target/97166, target/97184, target/97231, target/97247,
tree-optimization/96979, tree-optimization/97053
* Wed Sep 16 2020 Jakub Jelinek <jakub@redhat.com> 10.2.1-4
- update from releases/gcc-10 branch
- PRs bootstrap/96203, c++/95164, c++/96862, c++/96901, d/96157, d/96924,
debug/93865, debug/94235, debug/96729, fortran/94690, fortran/95109,
fortran/95398, fortran/95882, fortran/96859, libstdc++/71960,
libstdc++/92978, libstdc++/96766, libstdc++/96851, lto/94311,
middle-end/87256, middle-end/96369, target/85830, target/94538,
target/96357, target/96551, target/96574, target/96744, target/96808,
target/97028, tree-optimization/88240, tree-optimization/96349,
tree-optimization/96370, tree-optimization/96514,
tree-optimization/96522, tree-optimization/96579,
tree-optimization/96597, tree-optimization/96820,
tree-optimization/96854, tree-optimization/97043
- fix up ARM target attribute/pragma handling (#1875814, PR target/96939)
- don't ICE on sp clobbers with -mincoming-stack-boundary=2 on ia32
(#1862029, PR target/97032)
* Wed Aug 26 2020 Jakub Jelinek <jakub@redhat.com> 10.2.1-3
- update from releases/gcc-10 branch
- PRs c++/95428, c++/96082, c++/96106, c++/96164, c++/96199, c++/96497,
c/96545, c/96549, c/96571, d/96250, d/96254, d/96301, debug/96354,
fortran/93553, fortran/96312, fortran/96486, ipa/95320, ipa/96291,
ipa/96482, libstdc++/89760, libstdc++/95749, libstdc++/96303,
libstdc++/96484, libstdc++/96718, lto/95362, lto/95548,
middle-end/96426, middle-end/96459, target/93897, target/95450,
target/96191, target/96243, target/96446, target/96493, target/96506,
target/96525, target/96530, target/96536, target/96562, target/96682,
tree-optimization/96483, tree-optimization/96535,
tree-optimization/96722, tree-optimization/96730,
tree-optimization/96758
- mangle some further symbols needed for debug info during early dwarf
(#1862029, PR debug/96690)
- during %%check perform tests whether annobin is usable with the newly built
compiler or whether it might need to be rebuilt
- disable graphite for ELN
* Tue Aug 4 2020 Jakub Jelinek <jakub@redhat.com> 10.2.1-2
- update from releases/gcc-10 branch
- PRs c++/95591, c++/95599, c++/95823, c++/95824, c++/95895, c/96377,
d/96140, fortran/89574, fortran/93567, fortran/93592, fortran/95585,
fortran/95612, fortran/95980, fortran/96018, fortran/96086,
fortran/96220, fortran/96319, lto/45375, middle-end/96335,
target/95435, target/96190, target/96236, target/96260, target/96402,
tree-optimization/96058
- emit debug info for C/C++ external function declarations used in the TU
(PR debug/96383)
- discard SHN_UNDEF global symbols from LTO debuginfo (PR lto/96385)
- strip also -flto=auto from optflags
* Thu Jul 23 2020 Jakub Jelinek <jakub@redhat.com> 10.2.1-1
- update from releases/gcc-10 branch
- GCC 10.2 release
- PRs bootstrap/94998, c++/90916, c++/95477, c++/95505, c++/95518,
c++/95519, c++/95711, c++/95719, c++/95736, c++/95789, c++/95813,
c++/95976, c++/96052, c++/96063, c++/96077, c++/96104, c++/96105,
c++/96179, c/95141, d/95173, d/95250, debug/95343, fortran/71706,
fortran/88379, fortran/93337, fortran/95340, fortran/95366,
fortran/95587, fortran/95687, fortran/95688, fortran/95689,
fortran/95707, fortran/95708, fortran/95709, fortran/95743,
fortran/95812, fortran/95826, fortran/95827, fortran/95828,
fortran/95829, fortran/95880, fortran/95881, fortran/95978,
ipa/12345, ipa/93223, ipa/96040, ipa/96130, libstdc++/91153,
libstdc++/91807, libstdc++/94087, libstdc++/94627, libstdc++/94936,
libstdc++/95282, libstdc++/95851, libstdc++/95915, lto/91576,
lto/95604, middle-end/94600, middle-end/94964, middle-end/95114,
middle-end/95118, middle-end/95270, middle-end/95493,
middle-end/95690, middle-end/95810, middle-end/95903,
middle-end/96194, target/12345, target/93224, target/93492,
target/94791, target/94891, target/95018, target/95105, target/95347,
target/95581, target/95683, target/95713, target/95726, target/95874,
target/96001, target/96125, target/96174, testsuite/96180,
tree-optimization/90838, tree-optimization/94969,
tree-optimization/95049, tree-optimization/95110,
tree-optimization/95133, tree-optimization/95308,
tree-optimization/95487, tree-optimization/95638,
tree-optimization/95717, tree-optimization/95804,
tree-optimization/95857, tree-optimization/96075,
tree-optimization/96133, tree-optimization/96146
- disable s390x multilibs also for ELN
- disable -flto in %%{optflags}, lto bootstrap will be enabled the GCC way
later
* Thu Jun 18 2020 Jakub Jelinek <jakub@redhat.com> 10.1.1-2
- update from releases/gcc-10 branch
- PRs c++/90212, c++/90479, c++/90915, c++/91529, c++/92103, c++/92633,
c++/92652, c++/92838, c++/93310, c++/93467, c++/93698, c++/93822,
c++/94128, c++/94817, c++/94829, c++/94885, c++/94937, c++/94955,
c++/95003, c++/95020, c++/95050, c++/95066, c++/95087, c++/95137,
c++/95158, c++/95181, c++/95197, c++/95222, c++/95241, c++/95319,
c++/95328, c++/95344, c++/95345, c++/95346, c++/95350, c++/95371,
c++/95386, c++/95440, c++/95508, c++/95560, c++/95562, c/95040,
c/95580, d/94970, d/95166, d/95167, d/95168, debug/95080,
fortran/39695, fortran/50392, fortran/59107, fortran/92993,
fortran/93366, fortran/93497, fortran/94109, fortran/94361,
fortran/94397, fortran/94672, fortran/95088, fortran/95090,
fortran/95091, fortran/95106, fortran/95373, fortran/95500,
fortran/95503, fortran/95530, fortran/95537, fortran/95544,
fortran/95611, gcov-profile/95332, ipa/94947, ipa/95113,
libfortran/95104, libfortran/95119, libfortran/95191,
libfortran/95390, libgomp/92854, libstdc++/77691, libstdc++/92894,
libstdc++/93983, libstdc++/94906, libstdc++/94933, libstdc++/95289,
libstdc++/95322, libstdc++/95578, lto/94848, lto/95190,
middle-end/94940, middle-end/95108, middle-end/95551,
middle-end/95622, sanitizer/94910, sanitizer/95634, target/91695,
target/94591, target/94735, target/94959, target/95169, target/95212,
target/95220, target/95255, target/95258, target/95355, target/95420,
target/95525, target/95528, testsuite/95361, testsuite/95575,
web/95380
- correct instructions for creation of newlib tarball, filter out sun-rpc
licensed code that is never used during the package build
* Mon May 11 2020 Tom Stellard <tstellar@redhat.com>
- add symlink to liblto_plugin.so in /usr/lib/bfd-plugins
* Thu May 7 2020 Jakub Jelinek <jakub@redhat.com> 10.1.1-1
- update from releases/gcc-10 branch
- GCC 10.1.0 release
- PRs bootstrap/94918, c++/94907, c++/94938, c++/94946, c++/94951, c/94842,
c/94968, libstdc++/94901, middle-end/94941, rtl-optimization/94873,
target/94942, target/94950
* Sat May 2 2020 Jakub Jelinek <jakub@redhat.com> 10.0.1-0.14
- use libgcc_s.so linker script also on aarch64 and riscv64 (#1830472)
* Fri May 1 2020 Jakub Jelinek <jakub@redhat.com> 10.0.1-0.13
- update from trunk and releases/gcc-10 branch
- GCC 10.1-rc1
- PRs analyzer/94447, analyzer/94639, analyzer/94732, analyzer/94754,
analyzer/94816, bootstrap/94739, c++/79585, c++/90320, c++/90448,
c++/90750, c++/93807, c++/94288, c++/94383, c++/94505, c++/94510,
c++/94546, c++/94549, c++/94583, c++/94592, c++/94597, c++/94628,
c++/94645, c++/94661, c++/94682, c++/94701, c++/94719, c++/94733,
c++/94742, c++/94752, c++/94759, c++/94760, c++/94772, c++/94775,
c++/94808, c++/94819, c++/94827, c++/94830, c++/94879, c++/94883,
c++/94886, c/94641, c/94686, c/94705, c/94755, d/89418, d/94777,
d/94825, demangler/94797, driver/90983, fortran/90350, fortran/93956,
fortran/94578, fortran/94709, fortran/94737, fortran/94769,
fortran/94788, ipa/94856, libfortran/25830, libfortran/94586,
libfortran/94694, libstdc++/89510, libstdc++/90415, libstdc++/91480,
libstdc++/92156, libstdc++/94831, libstdc++/94854, lto/94659,
lto/94822, middle-end/92830, middle-end/93488, middle-end/94647,
middle-end/94724, rtl-optimization/94708, rtl-optimization/94740,
target/57002, target/91518, target/92713, target/93654, target/94248,
target/94279, target/94282, target/94383, target/94514, target/94515,
target/94577, target/94613, target/94622, target/94668, target/94678,
target/94697, target/94704, target/94706, target/94707, target/94710,
target/94711, target/94748, target/94780, target/94812, target/94820,
target/94826, target/94832, testsuite/94712, translation/94698,
tree-optimization/89430, tree-optimization/94683,
tree-optimization/94700, tree-optimization/94717,
tree-optimization/94727, tree-optimization/94734,
tree-optimization/94774, tree-optimization/94784,
tree-optimization/94809
* Mon Apr 20 2020 Jakub Jelinek <jakub@redhat.com> 10.0.1-0.12
- update from trunk
- PRs analyzer/94378, bootstrap/89494, bootstrap/92008, c++/67825,
c++/79937, c++/85278, c++/86327, c++/88754, c++/90711, c++/90996,
c++/91377, c++/91966, c++/92010, c++/92187, c++/92878, c++/93207,
c++/93211, c++/93790, c++/94034, c++/94149, c++/94155, c++/94205,
c++/94219, c++/94252, c++/94306, c++/94314, c++/94325, c++/94359,
c++/94385, c++/94426, c++/94453, c++/94454, c++/94462, c++/94470,
c++/94475, c++/94477, c++/94478, c++/94480, c++/94481, c++/94483,
c++/94507, c++/94512, c++/94521, c++/94523, c++/94528, c++/94571,
c++/94588, c++/94608, c++/94632, c/92326, c/94392, c/94593, d/90136,
d/94304, d/94305, d/94315, d/94321, d/94424, d/94425, d/94609,
debug/94439, debug/94441, debug/94450, debug/94459, debug/94495,
driver/94381, fortran/57129, fortran/85982, fortran/87644,
fortran/87923, fortran/91800, fortran/93364, fortran/93498,
fortran/93500, fortran/93522, fortran/93686, fortran/93871,
fortran/94030, fortran/94090, fortran/94091, fortran/94192,
fortran/94246, fortran/94347, fortran/94348, fortran/94386,
gcov-profile/93401, gcov-profile/94570, go/94607, ipa/92676,
ipa/93621, ipa/93940, ipa/94363, ipa/94434, ipa/94445, ipa/94582,
libgcc/94513, libgomp/92843, libstdc++/93960, libstdc++/94498,
libstdc++/94520, libstdc++/94562, libstdc++/94565, lto/94612,
middle-end/89433, middle-end/93465, middle-end/94412,
middle-end/94423, middle-end/94436, middle-end/94465,
middle-end/94479, middle-end/94526, middle-end/94539,
middle-end/94614, middle-end/94635, objc/94637, other/94629,
rtl-optimization/84169, rtl-optimization/87716,
rtl-optimization/93946, rtl-optimization/93974,
rtl-optimization/94123, rtl-optimization/94291,
rtl-optimization/94344, rtl-optimization/94468,
rtl-optimization/94516, rtl-optimization/94605,
rtl-optimization/94618, target/93053, target/94317, target/94368,
target/94396, target/94417, target/94420, target/94435, target/94438,
target/94460, target/94467, target/94488, target/94494, target/94500,
target/94509, target/94530, target/94542, target/94551, target/94556,
target/94561, target/94567, target/94584, target/94603, target/94606,
testsuite/93369, testsuite/94079, testsuite/94402, testsuite/94533,
tree-optimization/89713, tree-optimization/91322,
tree-optimization/93674, tree-optimization/94043,
tree-optimization/94398, tree-optimization/94401,
tree-optimization/94403, tree-optimization/94443,
tree-optimization/94482, tree-optimization/94524,
tree-optimization/94573, tree-optimization/94574,
tree-optimization/94598, tree-optimization/94621
* Sat Mar 28 2020 Jakub Jelinek <jakub@redhat.com> 10.0.1-0.11
- update from trunk
- PRs c++/81349, c++/84733, c++/93810, c++/93824, c++/94057, c++/94078,
c++/94098, c++/94257, c++/94265, c++/94272, c++/94319, c++/94326,
c++/94336, c++/94339, c++/94346, c/93573, debug/94273, debug/94281,
debug/94296, debug/94323, fortran/93363, fortran/93957, ipa/94271,
lto/94259, middle-end/94004, rtl-optimization/92264, target/94145,
target/94220, target/94292, testsuite/94334, tree-optimization/90332,
tree-optimization/94131, tree-optimization/94269,
tree-optimization/94329, tree-optimization/94352
- fix x86 vec_extract_{lo,hi}*_mask AVX512* patterns (PR target/93069)
- fix x86 *one_cmpl*2* AVX512* patterns (PR target/94343)
- add BuildRequires: libzstd-devel
* Wed Mar 25 2020 Jakub Jelinek <jakub@redhat.com> 10.0.1-0.10
- update from trunk
- PRs analyzer/94047, analyzer/94099, analyzer/94105, c++/67960, c++/69694,
c++/90995, c++/91759, c++/91993, c++/92068, c++/92909, c++/93248,
c++/93596, c++/93805, c++/93931, c++/94044, c++/94066, c++/94147,
c++/94175, c++/94186, c++/94190, c++/94197, c++/94223, c/94040,
c/94172, c/94179, c/94239, d/92216, d/92309, d/92792, d/93038,
d/94240, debug/93751, debug/94167, debug/94277, debug/94280,
debug/94283, debug/94285, fortran/93365, fortran/93484, fortran/93600,
gcov-profile/94029, ipa/92372, ipa/92799, ipa/93347, ipa/94202,
ipa/94217, ipa/94232, ipa/94245, ipa/94250, libgomp/81689,
libgomp/94251, libstdc++/93245, libstdc++/94033, libstdc++/94199,
libstdc++/94203, libstdc++/94242, lto/91027, lto/94157, lto/94249,
middle-end/92071, middle-end/93566, middle-end/94072,
middle-end/94120, middle-end/94188, middle-end/94189,
middle-end/94206, middle-end/94216, middle-end/94233,
middle-end/94303, rtl-optimization/90275, rtl-optimization/92303,
rtl-optimization/94042, rtl-optimization/94052,
rtl-optimization/94119, rtl-optimization/94148, target/92379,
target/93694, target/94052, target/94144, target/94154, target/94176,
target/94185, target/94201, target/94238, target/94286,
testsuite/93935, tree-optimization/93435, tree-optimization/94103,
tree-optimization/94125, tree-optimization/94163,
tree-optimization/94166, tree-optimization/94187,
tree-optimization/94211, tree-optimization/94224,
tree-optimization/94261, tree-optimization/94266,
tree-optimization/94300
- fix ICE in final_scan_insn_1 on i686 with vzeroupper (#1816760,
PR target/94308)
- fix ppc64* hang with dfp (PR target/94254)
* Wed Mar 11 2020 Jakub Jelinek <jakub@redhat.com> 10.0.1-0.9
- update from trunk
- PRs ada/91100, analyzer/93032, analyzer/93388, analyzer/93692,
analyzer/93774, analyzer/93775, analyzer/93777, analyzer/93778,
analyzer/93779, analyzer/93899, analyzer/93947, analyzer/93950,
analyzer/93959, analyzer/93993, analyzer/94028, bootstrap/93962,
c++/52320, c++/66139, c++/90432, c++/90467, c++/90505, c++/90938,
c++/91465, c++/92031, c++/92721, c++/93169, c++/93676, c++/93712,
c++/93729, c++/93789, c++/93801, c++/93803, c++/93804, c++/93817,
c++/93862, c++/93869, c++/93870, c++/93882, c++/93901, c++/93905,
c++/93907, c++/93922, c++/93933, c++/93956, c++/93958, c++/93998,
c++/94027, c++/94041, c++/94068, c++/94074, c++/94117, c++/94124,
c/86134, c/93577, c/93812, c/93858, c/93886, c/93887, c/93949,
debug/93888, driver/47785, driver/93796, fortran/92785, fortran/92959,
fortran/92976, fortran/93486, fortran/93552, fortran/93580,
fortran/93581, fortran/93599, fortran/93601, fortran/93603,
fortran/93604, fortran/93714, fortran/93792, fortran/93825,
fortran/93835, fortran/93889, fortran/93890, gcov-profile/93753,
inline-asm/94095, ipa/92518, ipa/92548, ipa/92924, ipa/93583,
ipa/93707, ipa/93760, ipa/93797, libstdc++/92546, libstdc++/93244,
libstdc++/93818, libstdc++/93872, libstdc++/93884, libstdc++/93936,
libstdc++/93972, libstdc++/93978, libstdc++/94013, libstdc++/94017,
libstdc++/94051, libstdc++/94063, libstdc++/94069, lto/78353,
middle-end/81401, middle-end/92152, middle-end/93399,
middle-end/93829, middle-end/93843, middle-end/93874,
middle-end/93926, middle-end/93961, middle-end/94111, other/55930,
other/93756, other/93912, other/93965, rtl-optimization/93564,
rtl-optimization/93996, rtl-optimization/94002,
rtl-optimization/94045, rtl-optimization/PR92989, sanitizer/93731,
target/26877, target/87560, target/87612, target/89229, target/89346,
target/90311, target/90763, target/91276, target/91598, target/93047,
target/93658, target/93709, target/93743, target/93800, target/93828,
target/93860, target/93913, target/93932, target/93937, target/93995,
target/93997, target/94046, target/94065, target/94088, target/94121,
target/94134, testsuite/91797, testsuite/91799, testsuite/94019,
testsuite/94023, translation/93755, translation/93759,
translation/93830, translation/93831, translation/93838,
translation/93841, translation/93864, tree-optimization/90883,
tree-optimization/91890, tree-optimization/92128,
tree-optimization/92982, tree-optimization/93508,
tree-optimization/93586, tree-optimization/93667,
tree-optimization/93767, tree-optimization/93776,
tree-optimization/93780, tree-optimization/93820,
tree-optimization/93845, tree-optimization/93868,
tree-optimization/93927, tree-optimization/93945,
tree-optimization/93946, tree-optimization/93953,
tree-optimization/93964, tree-optimization/93986,
tree-optimization/94001, tree-optimization/94114
- fix ICE on rotate with -Wconversion (#1810941, PR c++/94067)
- fix -fcf-protection -flto -g interaction (#1808484, PR lto/93966)
- fix git miscompilation on s390x with -O2 -march=zEC12 -mtune=z13
(#1799408, PR rtl-optimization/93908)
- fix ICE in in propagate_vals_across_arith_jfunc (#1806466, PR ipa/93763)
- ARM ABI alignment fix for classes derived from user aligned empty
bases (PR c++/94050)
- strlen pass fixes (PR tree-optimization/94015)
- fix {memset,memcpy,memmove,strncpy} head trimming if the result is used
(PR tree-optimization/94130)
- drop python2-devel Requires
* Sun Feb 16 2020 Jakub Jelinek <jakub@redhat.com> 10.0.1-0.8
- update from trunk
- PRs analyzer/93212, analyzer/93288, analyzer/93350, analyzer/93356,

View File

@ -5,9 +5,9 @@
--- gcc/d/d-spec.cc.jj 2019-01-01 12:37:49.502444257 +0100
+++ gcc/d/d-spec.cc 2019-01-17 17:09:45.364949246 +0100
@@ -405,9 +405,9 @@ lang_specific_driver (cl_decoded_option
@@ -408,9 +408,9 @@ lang_specific_driver (cl_decoded_option
/* Add `-lgphobos' if we haven't already done so. */
if (phobos_library != PHOBOS_NOLINK && need_phobos)
if (phobos_library != PHOBOS_NOLINK)
{
- /* Default to static linking. */
- if (phobos_library != PHOBOS_DYNAMIC)
@ -17,4 +17,4 @@
+ phobos_library = PHOBOS_DYNAMIC;
#ifdef HAVE_LD_STATIC_DYNAMIC
if (phobos_library == PHOBOS_DYNAMIC && static_link)
if (phobos_library == PHOBOS_STATIC && !static_link)

View File

@ -4,7 +4,7 @@
<a class="link" href="https://www.fsf.org" target="_top">FSF
</a>
</p><p>
+ Release 10.0.1
+ Release 10.2.1
+ </p><p>
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation
@ -17,7 +17,7 @@
</p><p>
- The API documentation, rendered into HTML, can be viewed online
+ The API documentation, rendered into HTML, can be viewed locally
+ <a class="link" href="api/index.html" target="_top">for the 10.0.1 release</a>,
+ <a class="link" href="api/index.html" target="_top">for the 10.2.1 release</a>,
+ online
<a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a>
and

236
gcc10-pr96383.patch Normal file
View File

@ -0,0 +1,236 @@
2020-07-30 Richard Biener <rguenther@suse.de>
PR debug/96383
* langhooks-def.h (lhd_finalize_early_debug): Declare.
(LANG_HOOKS_FINALIZE_EARLY_DEBUG): Define.
(LANG_HOOKS_INITIALIZER): Amend.
* langhooks.c: Include cgraph.h and debug.h.
(lhd_finalize_early_debug): Default implementation from
former code in finalize_compilation_unit.
* langhooks.h (lang_hooks::finalize_early_debug): Add.
* cgraphunit.c (symbol_table::finalize_compilation_unit):
Call the finalize_early_debug langhook.
gcc/c-family/
* c-common.h (c_common_finalize_early_debug): Declare.
* c-common.c: Include debug.h.
(c_common_finalize_early_debug): finalize_early_debug langhook
implementation generating debug for extern declarations.
gcc/c/
* c-objc-common.h (LANG_HOOKS_FINALIZE_EARLY_DEBUG):
Define to c_common_finalize_early_debug.
gcc/cp/
* cp-objcp-common.h (LANG_HOOKS_FINALIZE_EARLY_DEBUG):
Define to c_common_finalize_early_debug.
gcc/testsuite/
* gcc.dg/debug/dwarf2/pr96383-1.c: New testcase.
* gcc.dg/debug/dwarf2/pr96383-2.c: Likewise.
libstdc++-v3/
* testsuite/20_util/assume_aligned/3.cc: Use -g0.
--- gcc/c-family/c-common.c
+++ gcc/c-family/c-common.c
@@ -50,6 +50,7 @@ along with GCC; see the file COPYING3. If not see
#include "spellcheck.h"
#include "c-spellcheck.h"
#include "selftest.h"
+#include "debug.h"
cpp_reader *parse_in; /* Declared in c-pragma.h. */
@@ -9086,4 +9087,20 @@ braced_lists_to_strings (tree type, tree ctor)
return braced_lists_to_strings (type, ctor, false);
}
+
+/* Emit debug for functions before finalizing early debug. */
+
+void
+c_common_finalize_early_debug (void)
+{
+ /* Emit early debug for reachable functions, and by consequence,
+ locally scoped symbols. Also emit debug for extern declared
+ functions that are still reachable at this point. */
+ struct cgraph_node *cnode;
+ FOR_EACH_FUNCTION (cnode)
+ if (!cnode->alias && !cnode->thunk.thunk_p
+ && (cnode->has_gimple_body_p () || !DECL_IS_BUILTIN (cnode->decl)))
+ (*debug_hooks->early_global_decl) (cnode->decl);
+}
+
#include "gt-c-family-c-common.h"
--- gcc/c-family/c-common.h
+++ gcc/c-family/c-common.h
@@ -885,6 +885,8 @@ extern bool bool_promoted_to_int_p (tree);
extern tree fold_for_warn (tree);
extern tree c_common_get_narrower (tree, int *);
extern bool get_attribute_operand (tree, unsigned HOST_WIDE_INT *);
+extern void c_common_finalize_early_debug (void);
+
#define c_sizeof(LOC, T) c_sizeof_or_alignof_type (LOC, T, true, false, 1)
#define c_alignof(LOC, T) c_sizeof_or_alignof_type (LOC, T, false, false, 1)
--- gcc/c/c-objc-common.h
+++ gcc/c/c-objc-common.h
@@ -65,6 +65,8 @@ along with GCC; see the file COPYING3. If not see
c_simulate_builtin_function_decl
#undef LANG_HOOKS_EMITS_BEGIN_STMT
#define LANG_HOOKS_EMITS_BEGIN_STMT true
+#undef LANG_HOOKS_FINALIZE_EARLY_DEBUG
+#define LANG_HOOKS_FINALIZE_EARLY_DEBUG c_common_finalize_early_debug
/* Attribute hooks. */
#undef LANG_HOOKS_COMMON_ATTRIBUTE_TABLE
--- gcc/cgraphunit.c
+++ gcc/cgraphunit.c
@@ -2998,11 +2998,9 @@ symbol_table::finalize_compilation_unit (void)
if (!seen_error ())
{
- /* Emit early debug for reachable functions, and by consequence,
- locally scoped symbols. */
- struct cgraph_node *cnode;
- FOR_EACH_FUNCTION_WITH_GIMPLE_BODY (cnode)
- (*debug_hooks->early_global_decl) (cnode->decl);
+ /* Give the frontends the chance to emit early debug based on
+ what is still reachable in the TU. */
+ (*lang_hooks.finalize_early_debug) ();
/* Clean up anything that needs cleaning up after initial debug
generation. */
--- gcc/cp/cp-objcp-common.h
+++ gcc/cp/cp-objcp-common.h
@@ -115,6 +115,8 @@ extern tree cxx_simulate_enum_decl (location_t, const char *,
#define LANG_HOOKS_BLOCK_MAY_FALLTHRU cxx_block_may_fallthru
#undef LANG_HOOKS_EMITS_BEGIN_STMT
#define LANG_HOOKS_EMITS_BEGIN_STMT true
+#undef LANG_HOOKS_FINALIZE_EARLY_DEBUG
+#define LANG_HOOKS_FINALIZE_EARLY_DEBUG c_common_finalize_early_debug
/* Attribute hooks. */
#undef LANG_HOOKS_COMMON_ATTRIBUTE_TABLE
--- gcc/langhooks-def.h
+++ gcc/langhooks-def.h
@@ -92,6 +92,7 @@ extern const char *lhd_get_substring_location (const substring_loc &,
location_t *out_loc);
extern int lhd_decl_dwarf_attribute (const_tree, int);
extern int lhd_type_dwarf_attribute (const_tree, int);
+extern void lhd_finalize_early_debug (void);
#define LANG_HOOKS_NAME "GNU unknown"
#define LANG_HOOKS_IDENTIFIER_SIZE sizeof (struct lang_identifier)
@@ -139,6 +140,7 @@ extern int lhd_type_dwarf_attribute (const_tree, int);
#define LANG_HOOKS_EMITS_BEGIN_STMT false
#define LANG_HOOKS_RUN_LANG_SELFTESTS lhd_do_nothing
#define LANG_HOOKS_GET_SUBSTRING_LOCATION lhd_get_substring_location
+#define LANG_HOOKS_FINALIZE_EARLY_DEBUG lhd_finalize_early_debug
/* Attribute hooks. */
#define LANG_HOOKS_ATTRIBUTE_TABLE NULL
@@ -364,7 +366,8 @@ extern void lhd_end_section (void);
LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS, \
LANG_HOOKS_EMITS_BEGIN_STMT, \
LANG_HOOKS_RUN_LANG_SELFTESTS, \
- LANG_HOOKS_GET_SUBSTRING_LOCATION \
+ LANG_HOOKS_GET_SUBSTRING_LOCATION, \
+ LANG_HOOKS_FINALIZE_EARLY_DEBUG \
}
#endif /* GCC_LANG_HOOKS_DEF_H */
--- gcc/langhooks.c
+++ gcc/langhooks.c
@@ -36,6 +36,8 @@ along with GCC; see the file COPYING3. If not see
#include "output.h"
#include "timevar.h"
#include "stor-layout.h"
+#include "cgraph.h"
+#include "debug.h"
/* Do nothing; in many cases the default hook. */
@@ -866,6 +868,18 @@ lhd_unit_size_without_reusable_padding (tree t)
return TYPE_SIZE_UNIT (t);
}
+/* Default implementation for the finalize_early_debug hook. */
+
+void
+lhd_finalize_early_debug (void)
+{
+ /* Emit early debug for reachable functions, and by consequence,
+ locally scoped symbols. */
+ struct cgraph_node *cnode;
+ FOR_EACH_FUNCTION_WITH_GIMPLE_BODY (cnode)
+ (*debug_hooks->early_global_decl) (cnode->decl);
+}
+
/* Returns true if the current lang_hooks represents the GNU C frontend. */
bool
--- gcc/langhooks.h
+++ gcc/langhooks.h
@@ -580,6 +580,9 @@ struct lang_hooks
const char *(*get_substring_location) (const substring_loc &,
location_t *out_loc);
+ /* Invoked before the early_finish debug hook is invoked. */
+ void (*finalize_early_debug) (void);
+
/* Whenever you add entries here, make sure you adjust langhooks-def.h
and langhooks.c accordingly. */
};
--- gcc/testsuite/gcc.dg/debug/dwarf2/pr96383-1.c
+++ gcc/testsuite/gcc.dg/debug/dwarf2/pr96383-1.c
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+/* { dg-options "-g -gdwarf -dA" } */
+
+extern void foo (int);
+extern void unusedbar (int);
+
+int main()
+{
+ foo (1);
+}
+
+/* We want subprogram DIEs for both foo and main and a DIE for
+ the formal parameter of foo. We do not want a DIE for
+ unusedbar. */
+/* { dg-final { scan-assembler-times "DW_TAG_subprogram" 4 } } */
+/* { dg-final { scan-assembler-times "DW_TAG_formal_parameter" 2 } } */
+/* { dg-final { scan-assembler-not "unusedbar" } } */
--- gcc/testsuite/gcc.dg/debug/dwarf2/pr96383-2.c
+++ gcc/testsuite/gcc.dg/debug/dwarf2/pr96383-2.c
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+/* { dg-options "-g -O2 -gdwarf -dA" } */
+
+extern void foo (int);
+extern void unusedbar (int);
+
+int main()
+{
+ foo (1);
+}
+
+/* We want subprogram DIEs for both foo and main and a DIE for
+ the formal parameter of foo. We do not want a DIE for
+ unusedbar. */
+/* { dg-final { scan-assembler-times "DW_TAG_subprogram" 4 } } */
+/* { dg-final { scan-assembler-times "DW_TAG_formal_parameter" 2 } } */
+/* { dg-final { scan-assembler-not "unusedbar" } } */
--- libstdc++-v3/testsuite/20_util/assume_aligned/3.cc
+++ libstdc++-v3/testsuite/20_util/assume_aligned/3.cc
@@ -15,7 +15,7 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-options "-std=gnu++2a -O2" }
+// { dg-options "-std=gnu++2a -O2 -g0" }
// { dg-do compile { target c++2a } }
// { dg-final { scan-assembler-not "undefined" } }

51
gcc10-pr96939-2.patch Normal file
View File

@ -0,0 +1,51 @@
2020-09-09 Jakub Jelinek <jakub@redhat.com>
* config/arm/arm.c (arm_override_options_after_change_1): Add opts_set
argument, test opts_set->x_str_align_functions rather than
opts->x_str_align_functions.
(arm_override_options_after_change, arm_option_override_internal,
arm_set_current_function): Adjust callers.
--- gcc/config/arm/arm.c.jj 2020-09-09 09:19:42.911419411 +0200
+++ gcc/config/arm/arm.c 2020-09-09 09:28:02.392897384 +0200
@@ -3024,10 +3024,11 @@ static GTY(()) bool thumb_flipper;
static GTY(()) tree init_optimize;
static void
-arm_override_options_after_change_1 (struct gcc_options *opts)
+arm_override_options_after_change_1 (struct gcc_options *opts,
+ struct gcc_options *opts_set)
{
/* -falign-functions without argument: supply one. */
- if (opts->x_flag_align_functions && !opts->x_str_align_functions)
+ if (opts->x_flag_align_functions && !opts_set->x_str_align_functions)
opts->x_str_align_functions = TARGET_THUMB_P (opts->x_target_flags)
&& opts->x_optimize_size ? "2" : "4";
}
@@ -3037,7 +3038,7 @@ arm_override_options_after_change_1 (str
static void
arm_override_options_after_change (void)
{
- arm_override_options_after_change_1 (&global_options);
+ arm_override_options_after_change_1 (&global_options, &global_options_set);
}
/* Implement TARGET_OPTION_SAVE. */
@@ -3065,7 +3066,7 @@ static void
arm_option_override_internal (struct gcc_options *opts,
struct gcc_options *opts_set)
{
- arm_override_options_after_change_1 (opts);
+ arm_override_options_after_change_1 (opts, opts_set);
if (TARGET_INTERWORK && !bitmap_bit_p (arm_active_target.isa, isa_bit_thumb))
{
@@ -32335,7 +32336,7 @@ arm_set_current_function (tree fndecl)
save_restore_target_globals (new_tree);
- arm_override_options_after_change_1 (&global_options);
+ arm_override_options_after_change_1 (&global_options, &global_options_set);
}
/* Implement TARGET_OPTION_PRINT. */

111
gcc10-pr96939-3.patch Normal file
View File

@ -0,0 +1,111 @@
2020-09-13 Jakub Jelinek <jakub@redhat.com>
* config/arm/arm.opt (arm_arch_specified, arm_cpu_specified,
arm_tune_specified): New TargetVariables.
* config/arm/arm.c (arm_configure_build_target): Comment out
opts_set argument name. Use opts->x_arm_*_specified instead
of opts_set->x_arm_*_string.
* common/config/arm/arm-common.c (arm_handle_option): New function.
(TARGET_HANDLE_OPTION): Redefine.
--- gcc/config/arm/arm.opt.jj 2020-09-12 13:36:27.619716335 +0200
+++ gcc/config/arm/arm.opt 2020-09-12 13:38:48.547661292 +0200
@@ -30,6 +30,15 @@ const char *x_arm_cpu_string
TargetSave
const char *x_arm_tune_string
+TargetVariable
+unsigned char arm_arch_specified = 0
+
+TargetVariable
+unsigned char arm_cpu_specified = 0
+
+TargetVariable
+unsigned char arm_tune_specified = 0
+
Enum
Name(tls_type) Type(enum arm_tls_type)
TLS dialect to use:
--- gcc/config/arm/arm.c.jj 2020-09-12 13:36:27.619716335 +0200
+++ gcc/config/arm/arm.c 2020-09-12 13:49:26.166363387 +0200
@@ -3181,7 +3181,7 @@ static sbitmap isa_quirkbits;
void
arm_configure_build_target (struct arm_build_target *target,
struct cl_target_option *opts,
- struct gcc_options *opts_set,
+ struct gcc_options */* opts_set */,
bool warn_compatible)
{
const cpu_option *arm_selected_tune = NULL;
@@ -3196,7 +3196,7 @@ arm_configure_build_target (struct arm_b
target->core_name = NULL;
target->arch_name = NULL;
- if (opts_set->x_arm_arch_string)
+ if (opts->x_arm_arch_specified)
{
arm_selected_arch = arm_parse_arch_option_name (all_architectures,
"-march",
@@ -3204,7 +3204,7 @@ arm_configure_build_target (struct arm_b
arch_opts = strchr (opts->x_arm_arch_string, '+');
}
- if (opts_set->x_arm_cpu_string)
+ if (opts->x_arm_cpu_specified)
{
arm_selected_cpu = arm_parse_cpu_option_name (all_cores, "-mcpu",
opts->x_arm_cpu_string);
@@ -3214,7 +3214,7 @@ arm_configure_build_target (struct arm_b
options for tuning. */
}
- if (opts_set->x_arm_tune_string)
+ if (opts->x_arm_tune_specified)
{
arm_selected_tune = arm_parse_cpu_option_name (all_cores, "-mtune",
opts->x_arm_tune_string);
--- gcc/common/config/arm/arm-common.c.jj 2020-07-28 15:39:09.705760394 +0200
+++ gcc/common/config/arm/arm-common.c 2020-09-12 13:50:09.021738456 +0200
@@ -1021,6 +1021,34 @@ arm_asm_auto_mfpu (int argc, const char
#undef ARM_CPU_NAME_LENGTH
+bool
+arm_handle_option (struct gcc_options *opts,
+ struct gcc_options *opts_set ATTRIBUTE_UNUSED,
+ const struct cl_decoded_option *decoded,
+ location_t loc ATTRIBUTE_UNUSED)
+{
+ size_t code = decoded->opt_index;
+ const char *arg = decoded->arg;
+ int val = decoded->value;
+
+ switch (code)
+ {
+ case OPT_march_:
+ opts->x_arm_arch_specified = true;
+ return true;
+
+ case OPT_mcpu_:
+ opts->x_arm_cpu_specified = true;
+ return true;
+
+ case OPT_mtune_:
+ opts->x_arm_tune_specified = true;
+ return true;
+
+ default:
+ return true;
+ }
+}
#undef TARGET_DEFAULT_TARGET_FLAGS
#define TARGET_DEFAULT_TARGET_FLAGS (TARGET_DEFAULT | MASK_SCHED_PROLOG)
@@ -1031,4 +1059,7 @@ arm_asm_auto_mfpu (int argc, const char
#undef TARGET_EXCEPT_UNWIND_INFO
#define TARGET_EXCEPT_UNWIND_INFO arm_except_unwind_info
+#undef TARGET_HANDLE_OPTION
+#define TARGET_HANDLE_OPTION arm_handle_option
+
struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER;

64
gcc10-pr96939.patch Normal file
View File

@ -0,0 +1,64 @@
2020-09-07 Jakub Jelinek <jakub@redhat.com>
PR target/96939
* config/arm/arm.c (arm_override_options_after_change): Don't call
arm_configure_build_target here.
(arm_set_current_function): Call arm_override_options_after_change_1
at the end.
* gcc.target/arm/lto/pr96939_0.c: New test.
* gcc.target/arm/lto/pr96939_1.c: New file.
--- gcc/config/arm/arm.c.jj 2020-07-30 15:04:38.136293101 +0200
+++ gcc/config/arm/arm.c 2020-09-07 10:43:54.809561852 +0200
@@ -3037,10 +3037,6 @@ arm_override_options_after_change_1 (str
static void
arm_override_options_after_change (void)
{
- arm_configure_build_target (&arm_active_target,
- TREE_TARGET_OPTION (target_option_default_node),
- &global_options_set, false);
-
arm_override_options_after_change_1 (&global_options);
}
@@ -32338,6 +32334,8 @@ arm_set_current_function (tree fndecl)
cl_target_option_restore (&global_options, TREE_TARGET_OPTION (new_tree));
save_restore_target_globals (new_tree);
+
+ arm_override_options_after_change_1 (&global_options);
}
/* Implement TARGET_OPTION_PRINT. */
--- gcc/testsuite/gcc.target/arm/lto/pr96939_0.c.jj 2020-09-07 11:26:45.909937609 +0200
+++ gcc/testsuite/gcc.target/arm/lto/pr96939_0.c 2020-09-07 11:29:18.722706535 +0200
@@ -0,0 +1,15 @@
+/* PR target/96939 */
+/* { dg-lto-do link } */
+/* { dg-require-effective-target arm_arch_v8a_ok } */
+/* { dg-lto-options { { -flto -O2 } } } */
+
+extern unsigned crc (unsigned, const void *);
+typedef unsigned (*fnptr) (unsigned, const void *);
+volatile fnptr fn;
+
+int
+main ()
+{
+ fn = crc;
+ return 0;
+}
--- gcc/testsuite/gcc.target/arm/lto/pr96939_1.c.jj 2020-09-07 11:26:49.365887153 +0200
+++ gcc/testsuite/gcc.target/arm/lto/pr96939_1.c 2020-09-07 11:25:13.885281180 +0200
@@ -0,0 +1,10 @@
+/* PR target/96939 */
+/* { dg-options "-march=armv8-a+crc" } */
+
+#include <arm_acle.h>
+
+unsigned
+crc (unsigned x, const void *y)
+{
+ return __crc32cw (x, *(unsigned *) y);
+}

34
gcc10-pr97060.patch Normal file
View File

@ -0,0 +1,34 @@
2020-11-11 Jason Merrill <jason@redhat.com>
PR debug/97060
* dwarf2out.c (gen_subprogram_die): It's a declaration
if DECL_INITIAL isn't set.
* gcc.dg/debug/dwarf2/pr97060.c: New test.
--- gcc/dwarf2out.c
+++ gcc/dwarf2out.c
@@ -22859,6 +22859,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die)
available.
*/
int declaration = (current_function_decl != decl
+ || (!DECL_INITIAL (decl) && !origin)
|| class_or_namespace_scope_p (context_die));
/* A declaration that has been previously dumped needs no
--- gcc/testsuite/gcc.dg/debug/dwarf2/pr97060.c
+++ gcc/testsuite/gcc.dg/debug/dwarf2/pr97060.c
@@ -0,0 +1,13 @@
+/* PR debug/97060 */
+/* { dg-do compile } */
+/* { dg-options "-g -dA" } */
+/* { dg-final { scan-assembler-times "DW_AT_declaration" 2 } } */
+
+extern int foo (unsigned int, unsigned int);
+
+int
+bar (void)
+{
+ foo (1, 2);
+ return 0;
+}

View File

@ -1,3 +1,3 @@
SHA512 (gcc-10.0.1-20200216.tar.xz) = 56507e273b00e85ed4145e80df65d9b4e4791f23e7cb5d931f85b9420cbf3a7125ba49978dc73c2987c0a6101f741dc5a60a08cb3346d4c5082400cbcfcdd008
SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 9ceea0b883185fe489724d54a7e909bb6ed4785fcadf80162033dc6a133e2657337175601278e4155d1f8fac275ff9c8a02572aea876166c608774c809f832e9
SHA512 (gcc-10.3.1-20210422.tar.xz) = e88b53be14b345d24cdd94d4b6fc52422c36400087594a47abbd062f6f8c681de6119a3cb93c142bea0c3b50a5c7bd43ff1e1cef661dd92390ecffdf98e4ea96
SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 002a48a7b689a81abbf16161bcaec001a842e67dfbe372e9e109092703bfc666675f16198f60ca429370e8850d564547dc505df81bc3aaca4ce6defbc014ad6c
SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7

9
tests/build_hello_world.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
set -ex
gcc -x c $(rpm --eval %build_cflags) data/hello.c -o hello_c.out
./hello_c.out | grep -q "Hello World"
g++ -x c++ $(rpm --eval %build_cxxflags) data/hello.cpp -o hello_cpp.out
./hello_cpp.out | grep -q "Hello World"

5
tests/data/hello.c Normal file
View File

@ -0,0 +1,5 @@
#include <stdio.h>
int main() {
printf("Hello World!\n");
return 0;
}

5
tests/data/hello.cpp Normal file
View File

@ -0,0 +1,5 @@
#include <iostream>
int main() {
std::cout << "Hello World!\n";
return 0;
}

14
tests/tests.yml Normal file
View File

@ -0,0 +1,14 @@
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
required_packages:
- redhat-rpm-config
- annobin
tests:
- build_hello_world:
dir: .
run: "./build_hello_world.sh"

View File

@ -3,5 +3,5 @@
git clone --depth 1 git://gcc.gnu.org/git/gcc.git gcc-dir.tmp
git --git-dir=gcc-dir.tmp/.git fetch --depth 1 origin $1
d=`date --iso | sed 's/-//g'`
git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-10.0.1-$d/ $1 | xz -9e > gcc-10.0.1-$d.tar.xz
git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-10.3.1-$d/ $1 | xz -9e > gcc-10.3.1-$d.tar.xz
rm -rf gcc-dir.tmp