From 04dfce99db37552092a9ff193316dd5f3ea602a2 Mon Sep 17 00:00:00 2001
From: Jakub Jelinek
Date: Sat, 18 Jan 2020 18:35:20 +0100
Subject: [PATCH] Update to GCC 10 prerelease snapshot.
---
.gitignore | 84 +-
gcc.spec | 570 ++---------
...y.patch => gcc10-Wno-format-security.patch | 4 +-
...os.patch => gcc10-d-shared-libphobos.patch | 0
...ault.patch => gcc10-foffload-default.patch | 10 +-
gcc9-hack.patch => gcc10-hack.patch | 0
...-libgomp.patch => gcc10-i386-libgomp.patch | 0
gcc9-isl-dl.patch => gcc10-isl-dl.patch | 6 +-
...atch => gcc10-libgomp-omp_h-multilib.patch | 0
...+-docs.patch => gcc10-libstdc++-docs.patch | 4 +-
...path.patch => gcc10-libtool-no-rpath.patch | 0
...-needed.patch => gcc10-no-add-needed.patch | 0
gcc9-rh1574936.patch => gcc10-rh1574936.patch | 7 +-
...atch => gcc10-sparc-config-detection.patch | 0
nvptx-tools-build.patch | 11 -
nvptx-tools-glibc.patch | 32 -
nvptx-tools-no-ptxas.patch | 947 ------------------
sources | 6 +-
update-gcc.sh | 7 +
19 files changed, 95 insertions(+), 1593 deletions(-)
rename gcc9-Wno-format-security.patch => gcc10-Wno-format-security.patch (88%)
rename gcc9-d-shared-libphobos.patch => gcc10-d-shared-libphobos.patch (100%)
rename gcc9-foffload-default.patch => gcc10-foffload-default.patch (92%)
rename gcc9-hack.patch => gcc10-hack.patch (100%)
rename gcc9-i386-libgomp.patch => gcc10-i386-libgomp.patch (100%)
rename gcc9-isl-dl.patch => gcc10-isl-dl.patch (99%)
rename gcc9-libgomp-omp_h-multilib.patch => gcc10-libgomp-omp_h-multilib.patch (100%)
rename gcc9-libstdc++-docs.patch => gcc10-libstdc++-docs.patch (91%)
rename gcc9-libtool-no-rpath.patch => gcc10-libtool-no-rpath.patch (100%)
rename gcc9-no-add-needed.patch => gcc10-no-add-needed.patch (100%)
rename gcc9-rh1574936.patch => gcc10-rh1574936.patch (88%)
rename gcc9-sparc-config-detection.patch => gcc10-sparc-config-detection.patch (100%)
delete mode 100644 nvptx-tools-build.patch
delete mode 100644 nvptx-tools-glibc.patch
delete mode 100644 nvptx-tools-no-ptxas.patch
create mode 100755 update-gcc.sh
diff --git a/.gitignore b/.gitignore
index b8f2015..d6c3fb3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,81 +1,3 @@
-/gcc-7.0.1-20170126.tar.bz2
-/nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.bz2
-/nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.bz2
-/gcc-7.0.1-20170128.tar.bz2
-/gcc-7.0.1-20170131.tar.bz2
-/gcc-7.0.1-20170201.tar.bz2
-/gcc-7.0.1-20170204.tar.bz2
-/gcc-7.0.1-20170209.tar.bz2
-/gcc-7.0.1-20170211.tar.bz2
-/gcc-7.0.1-20170219.tar.bz2
-/gcc-7.0.1-20170225.tar.bz2
-/gcc-7.0.1-20170308.tar.bz2
-/gcc-7.0.1-20170309.tar.bz2
-/gcc-7.0.1-20170327.tar.bz2
-/gcc-7.0.1-20170410.tar.bz2
-/gcc-7.0.1-20170421.tar.bz2
-/gcc-7.0.1-20170425.tar.bz2
-/gcc-7.1.1-20170503.tar.bz2
-/gcc-7.1.1-20170526.tar.bz2
-/gcc-7.1.1-20170622.tar.bz2
-/gcc-7.1.1-20170708.tar.bz2
-/gcc-7.1.1-20170711.tar.bz2
-/gcc-7.1.1-20170718.tar.bz2
-/gcc-7.1.1-20170802.tar.bz2
-/gcc-7.2.1-20170829.tar.bz2
-/gcc-7.2.1-20170915.tar.bz2
-/gcc-7.2.1-20180101.tar.bz2
-/gcc-7.2.1-20180104.tar.bz2
-/gcc-7.2.1-20180117.tar.bz2
-/gcc-7.3.1-20180125.tar.bz2
-/gcc-8.0.1-20180127.tar.xz
-/nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz
-/nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz
-/gcc-8.0.1-20180830.tar.xz
-/gcc-8.0.1-20180130.tar.xz
-/gcc-8.0.1-20180131.tar.xz
-/gcc-8.0.1-20180207.tar.xz
-/gcc-8.0.1-20180210.tar.xz
-/gcc-8.0.1-20180218.tar.xz
-/gcc-8.0.1-20180220.tar.xz
-/gcc-8.0.1-20180222.tar.xz
-/gcc-8.0.1-20180310.tar.xz
-/gcc-8.0.1-20180312.tar.xz
-/gcc-8.0.1-20180317.tar.xz
-/gcc-8.0.1-20180324.tar.xz
-/gcc-8.0.1-20180410.tar.xz
-/gcc-8.0.1-20180424.tar.xz
-/gcc-8.0.1-20180425.tar.xz
-/gcc-8.1.1-20180502.tar.xz
-/gcc-8.1.1-20180620.tar.xz
-/gcc-8.1.1-20180626.tar.xz
-/gcc-8.1.1-20180712.tar.xz
-/gcc-8.2.1-20180726.tar.xz
-/gcc-8.2.1-20180801.tar.xz
-/gcc-8.2.1-20180905.tar.xz
-/gcc-8.2.1-20181011.tar.xz
-/gcc-8.2.1-20181105.tar.xz
-/gcc-8.2.1-20181215.tar.xz
-/gcc-8.2.1-20190109.tar.xz
-/gcc-9.0.0-20190119.tar.xz
-/gcc-9.0.0-20190121.tar.xz
-/gcc-9.0.1-20190123.tar.xz
-/gcc-9.0.1-20190129.tar.xz
-/gcc-9.0.1-20190203.tar.xz
-/gcc-9.0.1-20190209.tar.xz
-/gcc-9.0.1-20190215.tar.xz
-/gcc-9.0.1-20190219.tar.xz
-/gcc-9.0.1-20190221.tar.xz
-/gcc-9.0.1-20190227.tar.xz
-/gcc-9.0.1-20190309.tar.xz
-/gcc-9.0.1-20190312.tar.xz
-/gcc-9.0.1-20190320.tar.xz
-/gcc-9.0.1-20190328.tar.xz
-/gcc-9.0.1-20190415.tar.xz
-/gcc-9.0.1-20190418.tar.xz
-/gcc-9.0.1-20190426.tar.xz
-/gcc-9.0.1-20190430.tar.xz
-/gcc-9.1.1-20190503.tar.xz
-/gcc-9.1.1-20190605.tar.xz
-/gcc-9.2.1-20190827.tar.xz
-/gcc-9.2.1-20191120.tar.xz
+/gcc-10.0.1-20200118.tar.xz
+/newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz
+/nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz
diff --git a/gcc.spec b/gcc.spec
index 0d2d9a3..2d6aadd 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,12 +1,12 @@
-%global DATE 20191120
-%global SVNREV 278493
-%global gcc_version 9.2.1
-%global gcc_major 9
+%global DATE 20200118
+%global gitrev cef2a35ef0b6b1f728face9ba5530f0eb69b1d50
+%global gcc_version 10.0.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 2
-%global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f
-%global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24
+%global gcc_release 0.3
+%global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e
+%global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0
%global _unpackaged_files_terminate_build 0
%global _performance_build 1
# Hardening slows the compiler way too much.
@@ -113,23 +113,25 @@ Release: %{gcc_release}%{?dist}
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
# The source for this package was pulled from upstream's vcs. Use the
# following commands to generate the tarball:
-# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-9-branch@%%{SVNREV} gcc-%%{version}-%%{DATE}
-# tar cf - gcc-%%{version}-%%{DATE} | xz -9e > gcc-%%{version}-%%{DATE}.tar.xz
+# 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 %%{gitrev}
+# git --git-dir=gcc-dir.tmp/.git archive --prefix=%%{name}-%%{version}-%%{DATE}/ %%{gitrev} | xz -9e > %%{name}-%%{version}-%%{DATE}.tar.xz
+# rm -rf gcc-dir.tmp
Source0: gcc-%{version}-%{DATE}.tar.xz
# The source for nvptx-tools package was pulled from upstream's vcs. Use the
# following commands to generate the tarball:
-# git clone https://github.com/MentorEmbedded/nvptx-tools.git
-# cd nvptx-tools
-# git archive origin/master --prefix=nvptx-tools-%%{nvptx_tools_gitrev}/ | xz -9e > ../nvptx-tools-%%{nvptx_tools_gitrev}.tar.xz
-# cd ..; rm -rf nvptx-tools
+# git clone --depth 1 git://github.com/MentorEmbedded/nvptx-tools.git nvptx-tools-dir.tmp
+# git --git-dir=nvptx-tools-dir.tmp/.git fetch --depth 1 origin %%{nvptx_tools_gitrev}
+# git --git-dir=nvptx-tools-dir.tmp/.git archive --prefix=nvptx-tools-%%{nvptx_tools_gitrev}/ %%{nvptx_tools_gitrev} | xz -9e > nvptx-tools-%%{nvptx_tools_gitrev}.tar.xz
+# rm -rf nvptx-tools-dir.tmp
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 https://github.com/MentorEmbedded/nvptx-newlib.git
-# cd nvptx-newlib
-# git archive origin/master --prefix=nvptx-newlib-%%{nvptx_newlib_gitrev}/ | xz -9 > ../nvptx-newlib-%%{nvptx_newlib_gitrev}.tar.xz
-# cd ..; rm -rf nvptx-newlib
-Source2: nvptx-newlib-%{nvptx_newlib_gitrev}.tar.xz
+# 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
+# rm -rf newlib-cygwin-dir.tmp
+Source2: newlib-cygwin-%{newlib_cygwin_gitrev}.tar.xz
%global isl_version 0.16.1
URL: http://gcc.gnu.org
# Need binutils with -pie support >= 2.14.90.0.4-4
@@ -242,23 +244,18 @@ AutoReq: true
Provides: bundled(libiberty)
Provides: gcc(major) = %{gcc_major}
-Patch0: gcc9-hack.patch
-Patch1: gcc9-i386-libgomp.patch
-Patch2: gcc9-sparc-config-detection.patch
-Patch3: gcc9-libgomp-omp_h-multilib.patch
-Patch4: gcc9-libtool-no-rpath.patch
-Patch5: gcc9-isl-dl.patch
-Patch6: gcc9-libstdc++-docs.patch
-Patch7: gcc9-no-add-needed.patch
-Patch8: gcc9-foffload-default.patch
-Patch9: gcc9-Wno-format-security.patch
-Patch10: gcc9-rh1574936.patch
-Patch11: gcc9-d-shared-libphobos.patch
-
-Patch1000: nvptx-tools-no-ptxas.patch
-Patch1001: nvptx-tools-build.patch
-Patch1002: nvptx-tools-glibc.patch
-
+Patch0: gcc10-hack.patch
+Patch1: gcc10-i386-libgomp.patch
+Patch2: gcc10-sparc-config-detection.patch
+Patch3: gcc10-libgomp-omp_h-multilib.patch
+Patch4: gcc10-libtool-no-rpath.patch
+Patch5: gcc10-isl-dl.patch
+Patch6: gcc10-libstdc++-docs.patch
+Patch7: gcc10-no-add-needed.patch
+Patch8: gcc10-foffload-default.patch
+Patch9: gcc10-Wno-format-security.patch
+Patch10: gcc10-rh1574936.patch
+Patch11: gcc10-d-shared-libphobos.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
@@ -280,7 +277,7 @@ Patch1002: nvptx-tools-glibc.patch
%if %{build_go}
# Avoid stripping these libraries and binaries.
%global __os_install_post \
-chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.14.* \
+chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.15.* \
chmod 644 %{buildroot}%{_prefix}/bin/go.gcc \
chmod 644 %{buildroot}%{_prefix}/bin/gofmt.gcc \
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo \
@@ -288,7 +285,7 @@ chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/test2json \
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/vet \
%__os_install_post \
-chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.14.* \
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.15.* \
chmod 755 %{buildroot}%{_prefix}/bin/go.gcc \
chmod 755 %{buildroot}%{_prefix}/bin/gofmt.gcc \
chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo \
@@ -299,11 +296,11 @@ chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
%endif
%description
-The gcc package contains the GNU Compiler Collection version 9.
+The gcc package contains the GNU Compiler Collection version 10.
You'll need this package in order to compile C code.
%package -n libgcc
-Summary: GCC version 9 shared support library
+Summary: GCC version 10 shared support library
Autoreq: false
%if !%{build_ada}
Obsoletes: libgnat < %{version}-%{release}
@@ -771,12 +768,6 @@ to NVidia PTX capable devices if available.
%endif
%patch11 -p0 -b .d-shared-libphobos~
-cd nvptx-tools-%{nvptx_tools_gitrev}
-%patch1000 -p1 -b .nvptx-tools-no-ptxas~
-%patch1001 -p1 -b .nvptx-tools-build~
-%patch1002 -p1 -b .nvptx-tools-glibc~
-cd ..
-
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
@@ -846,7 +837,7 @@ make %{?_smp_mflags}
make install prefix=${IROOT}%{_prefix}
cd ../..
-ln -sf nvptx-newlib-%{nvptx_newlib_gitrev}/newlib newlib
+ln -sf newlib-cygwin-%{newlib_cygwin_gitrev}/newlib newlib
rm -rf obj-offload-nvptx-none
mkdir obj-offload-nvptx-none
@@ -1126,7 +1117,7 @@ cd obj-%{gcc_target_platform}
make install prefix=%{buildroot}%{_prefix}
cd ../..
-ln -sf nvptx-newlib-%{nvptx_newlib_gitrev}/newlib newlib
+ln -sf newlib-cygwin-%{newlib_cygwin_gitrev}/newlib newlib
cd obj-offload-nvptx-none
make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
infodir=%{buildroot}%{_infodir} install
@@ -1355,7 +1346,7 @@ ln -sf ../../../libstdc++.so.6.*[0-9] libstdc++.so
ln -sf ../../../libgfortran.so.5.* libgfortran.so
ln -sf ../../../libgomp.so.1.* libgomp.so
%if %{build_go}
-ln -sf ../../../libgo.so.14.* libgo.so
+ln -sf ../../../libgo.so.15.* libgo.so
%endif
%if %{build_libquadmath}
ln -sf ../../../libquadmath.so.0.* libquadmath.so
@@ -1371,7 +1362,7 @@ ln -sf ../../../libitm.so.1.* libitm.so
ln -sf ../../../libatomic.so.1.* libatomic.so
%endif
%if %{build_libasan}
-ln -sf ../../../libasan.so.5.* libasan.so
+ln -sf ../../../libasan.so.6.* libasan.so
mv ../../../libasan_preinit.o libasan_preinit.o
%endif
%if %{build_libubsan}
@@ -1385,7 +1376,7 @@ ln -sf ../../../../%{_lib}/libstdc++.so.6.*[0-9] libstdc++.so
ln -sf ../../../../%{_lib}/libgfortran.so.5.* libgfortran.so
ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so
%if %{build_go}
-ln -sf ../../../../%{_lib}/libgo.so.14.* libgo.so
+ln -sf ../../../../%{_lib}/libgo.so.15.* libgo.so
%endif
%if %{build_libquadmath}
ln -sf ../../../../%{_lib}/libquadmath.so.0.* libquadmath.so
@@ -1401,7 +1392,7 @@ ln -sf ../../../../%{_lib}/libitm.so.1.* libitm.so
ln -sf ../../../../%{_lib}/libatomic.so.1.* libatomic.so
%endif
%if %{build_libasan}
-ln -sf ../../../../%{_lib}/libasan.so.5.* libasan.so
+ln -sf ../../../../%{_lib}/libasan.so.6.* libasan.so
mv ../../../../%{_lib}/libasan_preinit.o libasan_preinit.o
%endif
%if %{build_libubsan}
@@ -1505,8 +1496,8 @@ ln -sf ../`echo ../../../../lib/libgfortran.so.5.* | sed s~/lib/~/lib64/~` 64/li
ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so
%if %{build_go}
rm -f libgo.so
-echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.14.* | sed 's,^.*libg,libg,'`' )' > libgo.so
-echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.14.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.15.* | sed 's,^.*libg,libg,'`' )' > libgo.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.15.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so
%endif
%if %{build_libquadmath}
rm -f libquadmath.so
@@ -1532,8 +1523,8 @@ echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libatomic.so.1.* | sed 's,
%endif
%if %{build_libasan}
rm -f libasan.so
-echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libasan.so.5.* | sed 's,^.*liba,liba,'`' )' > libasan.so
-echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libasan.so.5.* | sed 's,^.*liba,liba,'`' )' > 64/libasan.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libasan.so.6.* | sed 's,^.*liba,liba,'`' )' > libasan.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libasan.so.6.* | sed 's,^.*liba,liba,'`' )' > 64/libasan.so
mv ../../../../lib64/libasan_preinit.o 64/libasan_preinit.o
%endif
%if %{build_libubsan}
@@ -1604,8 +1595,8 @@ ln -sf ../`echo ../../../../lib64/libgfortran.so.5.* | sed s~/../lib64/~/~` 32/l
ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so
%if %{build_go}
rm -f libgo.so
-echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.14.* | sed 's,^.*libg,libg,'`' )' > libgo.so
-echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.14.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.15.* | sed 's,^.*libg,libg,'`' )' > libgo.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.15.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so
%endif
%if %{build_libquadmath}
rm -f libquadmath.so
@@ -1631,8 +1622,8 @@ echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libatomic.so.1.* | sed 's,
%endif
%if %{build_libasan}
rm -f libasan.so
-echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libasan.so.5.* | sed 's,^.*liba,liba,'`' )' > libasan.so
-echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libasan.so.5.* | sed 's,^.*liba,liba,'`' )' > 32/libasan.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libasan.so.6.* | sed 's,^.*liba,liba,'`' )' > libasan.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libasan.so.6.* | sed 's,^.*liba,liba,'`' )' > 32/libasan.so
mv ../../../../lib/libasan_preinit.o 32/libasan_preinit.o
%endif
%if %{build_libubsan}
@@ -1779,7 +1770,7 @@ chmod 755 %{buildroot}%{_prefix}/%{_lib}/libitm.so.1.*
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1.*
%endif
%if %{build_libasan}
-chmod 755 %{buildroot}%{_prefix}/%{_lib}/libasan.so.5.*
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libasan.so.6.*
%endif
%if %{build_libubsan}
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libubsan.so.1.*
@@ -1792,7 +1783,7 @@ chmod 755 %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0.*
%endif
%if %{build_go}
# Avoid stripping these libraries and binaries.
-chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.14.*
+chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.15.*
chmod 644 %{buildroot}%{_prefix}/bin/go.gcc
chmod 644 %{buildroot}%{_prefix}/bin/gofmt.gcc
chmod 644 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cgo
@@ -1988,6 +1979,7 @@ end
%{_prefix}/bin/gcc-ar
%{_prefix}/bin/gcc-nm
%{_prefix}/bin/gcc-ranlib
+%{_prefix}/bin/lto-dump
%ifarch ppc
%{_prefix}/bin/%{_target_platform}-gcc
%endif
@@ -2003,6 +1995,7 @@ end
%{_mandir}/man1/gcov.1*
%{_mandir}/man1/gcov-tool.1*
%{_mandir}/man1/gcov-dump.1*
+%{_mandir}/man1/lto-dump.1*
%{_infodir}/gcc*
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
@@ -2027,6 +2020,7 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/unwind.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/omp.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/openacc.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/acc_prof.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdint.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdint-gcc.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdalign.h
@@ -2112,6 +2106,11 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/movdirintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/waitpkgintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cldemoteintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bf16vlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bf16intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/enqcmdintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vp2intersectintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vp2intersectvlintrin.h
%endif
%ifarch ia64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia64intrin.h
@@ -2578,16 +2577,19 @@ end
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/adainclude
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/adalib
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/ada_target_properties
%endif
%ifarch %{multilib_64_archs}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/adainclude
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/adalib
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/ada_target_properties
%endif
%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adainclude
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/adalib
%endif
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/ada_target_properties
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/gnat1
%doc rpm.doc/changelogs/gcc/ada/ChangeLog*
@@ -2742,7 +2744,7 @@ end
%if %{build_libasan}
%files -n libasan
-%{_prefix}/%{_lib}/libasan.so.5*
+%{_prefix}/%{_lib}/libasan.so.6*
%files -n libasan-static
%dir %{_prefix}/lib/gcc
@@ -2862,7 +2864,7 @@ end
%doc rpm.doc/go/*
%files -n libgo
-%attr(755,root,root) %{_prefix}/%{_lib}/libgo.so.14*
+%attr(755,root,root) %{_prefix}/%{_lib}/libgo.so.15*
%doc rpm.doc/libgo/*
%files -n libgo-devel
@@ -2949,6 +2951,7 @@ end
%files offload-nvptx
%{_prefix}/bin/nvptx-none-*
%{_prefix}/bin/%{gcc_target_platform}-accel-nvptx-none-gcc
+%{_prefix}/bin/%{gcc_target_platform}-accel-nvptx-none-lto-dump
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
@@ -2969,444 +2972,5 @@ end
%endif
%changelog
-* Wed Nov 20 2019 Jakub Jelinek 9.2.1-2
-- update from 9 branch
- - PRs ada/91995, bootstrap/90543, c++/85254, c++/88203, c++/90767,
- c++/90947, c++/90998, c++/91129, c++/91155, c++/91606, c++/91705,
- c++/91740, c++/91923, c++/91925, c++/91974, c++/92015, c++/92062,
- c++/92106, c++/92201, c++/92343, c++/92384, c++/92504, c/90898,
- c/91401, debug/91772, debug/91887, driver/69471, fortran/47054,
- fortran/69455, fortran/83113, fortran/84487, fortran/86248,
- fortran/87752, fortran/89943, fortran/91253, fortran/91496,
- fortran/91550, fortran/91551, fortran/91552, fortran/91553,
- fortran/91557, fortran/91564, fortran/91565, fortran/91566,
- fortran/91586, fortran/91587, fortran/91588, fortran/91589,
- fortran/91641, fortran/91642, fortran/91649, fortran/91660,
- fortran/91714, fortran/91715, fortran/91716, fortran/91727,
- fortran/91785, fortran/91801, fortran/91802, fortran/91863,
- fortran/91864, fortran/91926, fortran/91942, fortran/92113,
- fortran/92174, fortran/92208, fortran/92277, fortran/92284,
- fortran/92321, fortran/92470, fortran/92500, gcov-profile/91601,
- go/91617, libfortran/90038, libstdc++/61761, libstdc++/89164,
- libstdc++/90682, libstdc++/91067, libstdc++/91456, libstdc++/91748,
- libstdc++/92059, libstdc++/92143, lto/91572, lto/91968,
- middle-end/90840, middle-end/91001, middle-end/91105,
- middle-end/91106, middle-end/91450, middle-end/91623,
- middle-end/91920, middle-end/92153, middle-end/92231, pch/61250,
- preprocessor/92296, rtl-optimization/88751, rtl-optimization/89435,
- rtl-optimization/89795, rtl-optimization/91720,
- rtl-optimization/92007, rtl-optimization/92430, sanitizer/92154,
- target/59888, target/65342, target/67183, target/70010, target/80672,
- target/81800, target/86040, target/86805, target/87243, target/87833,
- target/87853, target/88167, target/88562, target/88630, target/89400,
- target/90867, target/91269, target/91275, target/91289, target/91472,
- target/91481, target/91635, target/91683, target/91704, target/91769,
- target/92022, target/92093, target/92095, target/92225, target/92389,
- tree-optimization/85887, tree-optimization/90278,
- tree-optimization/90637, tree-optimization/90930,
- tree-optimization/91351, tree-optimization/91568,
- tree-optimization/91597, tree-optimization/91632,
- tree-optimization/91665, tree-optimization/91723,
- tree-optimization/91734, tree-optimization/91790,
- tree-optimization/91812, tree-optimization/91885,
- tree-optimization/92056, tree-optimization/92131
-
-* Wed Oct 9 2019 Jerry James 9.2.1-1.3
-- build against mpfr4 and libmpc linked with mpfr4
-- drop multilib support for s390x since glibc32 already did
-
-* Tue Oct 8 2019 Jerry James 9.2.1-1.2
-- build against mpfr3 and libmpc-mpfr3 so an mpfr 4.x version can be built
-
-* Thu Oct 03 2019 Miro HronĨok 9.2.1-1.1
-- rebuilt for Python 3.8.0rc1 (#1748018)
-
-* Tue Aug 27 2019 Jakub Jelinek 9.2.1-1
-- update from 9 branch
- - GCC 9.2 release
- - PRs ada/80590, bootstrap/87030, c++/60223, c++/63149, c++/64372,
- c++/81429, c++/82081, c++/85552, c++/86205, c++/87519, c++/88095,
- c++/90098, c++/90099, c++/90101, c++/90393, c++/90473, c++/90490,
- c++/90538, c++/90736, c++/90810, c++/90825, c++/90832, c++/90884,
- c++/90947, c++/90950, c++/91024, c++/91125, c++/91230, c++/91378,
- c++/91436, c++/91521, c/53633, c/90474, c/90737, c/90760, c/91149,
- c/91192, debug/90900, debug/90914, debug/91231, driver/90684,
- driver/91130, driver/91172, fortran/42546, fortran/68544,
- fortran/69398, fortran/69499, fortran/77632, fortran/78719,
- fortran/78739, fortran/82992, fortran/86587, fortran/87233,
- fortran/87907, fortran/87991, fortran/87993, fortran/88072,
- fortran/89344, fortran/89647, fortran/90002, fortran/90290,
- fortran/90561, fortran/90563, fortran/90577, fortran/90578,
- fortran/90744, fortran/90786, fortran/90813, fortran/90937,
- fortran/91077, fortran/91296, fortran/91359, fortran/91414,
- fortran/91422, fortran/91424, fortran/91471, fortran/91485,
- gcov-profile/91087, ipa/90939, ipa/90982, ipa/91062, ipa/91404,
- ipa/91438, ipa/91508, libfortran/91030, libsanitizer/87880,
- libstdc++/51333, libstdc++/85494, libstdc++/90252, libstdc++/90281,
- libstdc++/90361, libstdc++/90770, libstdc++/90920, libstdc++/91012,
- libstdc++/91067, libstdc++/91308, lto/90369, lto/90924, lto/91287,
- lto/91375, middle-end/64242, middle-end/78884, middle-end/90899,
- middle-end/91131, middle-end/91162, middle-end/91216,
- middle-end/91301, objc/90709, rtl-optimisation/64895,
- rtl-optimization/90756, rtl-optimization/91136,
- rtl-optimization/91173, rtl-optimization/91347, sanitizer/90954,
- target/63891, target/83531, target/90698, target/90751, target/90811,
- target/90991, target/91135, target/91150, target/91349, target/91386,
- target/91533, testsuite/27221, testsuite/58321, testsuite/65364,
- testsuite/67958, testsuite/78529, testsuite/91004, testsuite/91175,
- tree-optimization/90328, tree-optimization/90402,
- tree-optimization/90450, tree-optimization/90892,
- tree-optimization/90930, tree-optimization/90949,
- tree-optimization/90972, tree-optimization/90989,
- tree-optimization/91063, tree-optimization/91091,
- tree-optimization/91108, tree-optimization/91109,
- tree-optimization/91126, tree-optimization/91137,
- tree-optimization/91145, tree-optimization/91157,
- tree-optimization/91178, tree-optimization/91200,
- tree-optimization/91280, tree-optimization/91293,
- tree-optimization/91445
-
-* Wed Jun 5 2019 Jakub Jelinek 9.1.1-2
-- update from 9 branch
- - PRs bootstrap/90543, c++/78010, c++/90173, c++/90265, c++/90383,
- c++/90484, c++/90532, c++/90548, c++/90572, c++/90598, debug/90197,
- debug/90733, fortran/54613, fortran/90093, fortran/90329,
- fortran/90351, fortran/90352, fortran/90355, fortran/90498,
- gcov-profile/90380, libfortran/90038, libgomp/90527, libgomp/90585,
- libgomp/90641, libstdc++/81266, libstdc++/90299, libstdc++/90397,
- libstdc++/90454, libstdc++/90557, libstdc++/90634, libstdc++/90686,
- libstdc++/90700, pch/90326, sanitizer/90312, sanitizer/90570,
- target/82920, target/89424, target/89765, target/90357, target/90379,
- target/90530, target/90547, testsuite/81058, tree-optimization/90385,
- tree-optimization/90416
-
-* Fri May 3 2019 Jakub Jelinek 9.1.1-1
-- update from 9 branch
- - GCC 9.1 release
- - PR tree-optimization/90316
-- fix up devirtualization ICE with fastcall attribute (#1705081,
- PR tree-optimization/90303)
-- move Obsoletes for lib{cilkrts,mpx}{,-static} from gcc to libgcc subpackage
-
-* Tue Apr 30 2019 Jakub Jelinek 9.0.1-0.16
-- update from 9 branch
- - gcc 9.1-rc2
- - PRs middle-end/90258, target/86538, translation/90274,
- tree-optimization/90273
-- enable D on s390{,x} and riscv64
-
-* Fri Apr 26 2019 Jakub Jelinek 9.0.1-0.15
-- update from trunk and 9 branch
- - gcc 9.1-rc1
- - PRs c++/87366, c++/87554, c++/89900, c++/90108, c++/90138, c++/90171,
- c++/90190, c++/90227, c++/90236, c/89888, d/88431, d/88654, d/89293,
- d/89432, d/90086, d/90250, debug/90131, fortran/57284, fortran/90166,
- ipa/85051, libstdc++/90165, libstdc++/90220, libstdc++/90239,
- middle-end/85164, middle-end/89765, middle-end/89797,
- middle-end/90139, middle-end/90194, middle-end/90213, other/90257,
- rtl-optimization/84032, rtl-optimization/87871,
- rtl-optimization/87979, target/89929, target/89952, target/90187,
- target/90193, translation/90118, tree-optimization/88055,
- tree-optimization/90021, tree-optimization/90037,
- tree-optimization/90078, tree-optimization/90208,
- tree-optimization/90211, tree-optimization/90240
-
-* Thu Apr 18 2019 Jakub Jelinek 9.0.1-0.14
-- update from trunk
- - PRs bootstrap/89864, c++/86953, c++/89325, c++/90047, c++/90124,
- debug/89528, fortran/90048, fortran/90067, fortran/90114,
- libstdc++/90105, middle-end/90095, rtl-optimization/86438,
- rtl-optimization/90082, target/17108, target/84369, target/90096,
- target/90125, translation/79183, tree-optimization/56049,
- tree-optimization/90090
-- buildrequire /usr/bin/python for better dg-extract-results.sh
-
-* Mon Apr 15 2019 Jakub Jelinek 9.0.1-0.13
-- update from trunk
- - PRs bootstrap/89980, c++/47488, c++/56643, c++/61327, c++/62207,
- c++/65619, c++/66548, c++/81506, c++/81866, c++/86586, c++/86946,
- c++/86986, c++/87145, c++/87603, c++/89331, c++/89612, c++/89744,
- c++/89833, c++/89836, c++/89852, c++/89871, c++/89876, c++/89878,
- c++/89914, c++/89917, c++/89948, c++/89966, c++/89973, c++/89974,
- c++/90010, c/71598, c/88383, c/89288, c/89685, c/89797, c/89798,
- c/89872, c/89933, c/89946, c/89985, d/87799, d/88150, d/88462,
- d/89255, d/89823, debug/89892, debug/89905, driver/89861,
- fortran/68567, fortran/79842, fortran/83515, fortran/85448,
- fortran/85797, fortran/87352, fortran/89375, fortran/89841,
- fortran/89842, fortran/89843, fortran/89846, fortran/89866,
- fortran/89904, fortran/89981, fortran/90022, gcov-profile/89959,
- gcov-profile/89961, ipa/88936, ipa/pr89693, libstdc++/85184,
- libstdc++/87431, libstdc++/89851, libstdc++/89986, libstdc++/90008,
- libstdc++/90046, lto/89358, lto/89896, middle-end/89621,
- middle-end/89911, middle-end/89934, middle-end/89957,
- middle-end/89970, middle-end/90025, other/89394,
- rtl-optimization/46590, rtl-optimization/81025,
- rtl-optimization/84206, rtl-optimization/85412,
- rtl-optimization/85876, rtl-optimization/86928,
- rtl-optimization/87273, rtl-optimization/87485,
- rtl-optimization/89399, rtl-optimization/89862,
- rtl-optimization/89865, rtl-optimization/89965,
- rtl-optimization/90026, sanitizer/89869, sanitizer/89941,
- target/83033, target/89623, target/89848, target/89865, target/89902,
- target/89903, target/89945, target/90015, target/90016, target/90024,
- testsuite/89907, testsuite/89916, translation/89912,
- translation/89936, translation/89939, translation/90011,
- translation/90035, translation/90041, tree-optimization/46590,
- tree-optimization/84101, tree-optimization/89725,
- tree-optimization/89730, tree-optimization/89956,
- tree-optimization/89998, tree-optimization/90006,
- tree-optimization/90018, tree-optimization/90020
-- PRs rtl-optimization/89794, tree-optimization/90071, debug/90074
-
-* Thu Mar 28 2019 Jakub Jelinek 9.0.1-0.12
-- update from trunk
- - PRs ada/89583, bootstrap/89829, c++/60702, c++/78645, c++/82643,
- c++/84598, c++/84661, c++/85013, c++/86429, c++/86932, c++/87327,
- c++/87480, c++/87481, c++/87748, c++/89214, c++/89421, c++/89705,
- c++/89767, c++/89785, c++/89796, c++/89831, c/79022, c/89812, d/89017,
- debug/86964, fortran/29383, fortran/56408, fortran/71861,
- fortran/78865, fortran/85537, fortran/88247, fortran/89773,
- libgfortran/79540, libstdc++/85965, libstdc++/88066, libstdc++/89816,
- libstdc++/89824, libstdc++/89825, lto/89692, middle-end/89725,
- middle-end/89790, rtl-optimization/88347, rtl-optimization/88423,
- rtl-optimization/89313, rtl-optimization/89676,
- rtl-optimization/89826, target/85667, target/89775, target/89784,
- target/89827, testsuite/89834, tree-optimization/81740,
- tree-optimization/89350, tree-optimization/89463,
- tree-optimization/89779, tree-optimization/89789,
- tree-optimization/89802
-
-* Wed Mar 20 2019 Jakub Jelinek 9.0.1-0.11
-- update from trunk
- - PRs c++/63508, c++/85014, c++/85558, c++/88534, c++/88537, c++/88979,
- c++/89512, c++/89571, c++/89630, c++/89640, c++/89660, c++/89682,
- c++/89686, c++/89709, c++/89761, c/89734, d/87866, d/88957,
- debug/88389, debug/89498, debug/89704, fortran/60091, fortran/66695,
- fortran/68009, fortran/77746, fortran/79485, fortran/84394,
- fortran/87045, fortran/87673, fortran/88008, fortran/89363,
- fortran/89364, fortran/89601, fortran/89724, ipa/89684,
- libstdc++/89461, lto/87809, lto/89335, middle-end/86979,
- middle-end/88588, middle-end/88945, middle-end/89677,
- middle-end/89698, middle-end/89737, other/89712,
- rtl-optimization/89679, rtl-optimization/89721,
- rtl-optimization/89753, rtl-optimization/89768, sanitizer/80953,
- target/52726, target/85860, target/87532, target/87561, target/89378,
- target/89411, target/89523, target/89627, target/89650, target/89711,
- target/89719, target/89726, target/89736, target/89746, target/89752,
- testsuite/83453, testsuite/84174, testsuite/89393, testsuite/89471,
- testsuite/89666, tree-optimization/89546, tree-optimization/89644,
- tree-optimization/89662, tree-optimization/89688,
- tree-optimization/89703, tree-optimization/89710,
- tree-optimization/89720
-- turn libgcc_s.so into a linker script on i?86, x86_64, ppc64le and also on
- ppc and ppc64 for 64-bit multilib (#1688766)
-
-* Tue Mar 12 2019 Jakub Jelinek 9.0.1-0.10
-- update from trunk
- - PRs bootstrap/89656, c++/70349, c++/86521, c++/87571, c++/87750,
- c++/89648, c/88568, contrib/82704, d/89041, fortran/66089,
- fortran/71544, fortran/84504, fortran/87734, fortran/89639,
- fortran/89651, inline-asm/87010, libbacktrace/89669, libstdc++/89460,
- libstdc++/89641, middle-end/68733, middle-end/89655, middle-end/89663,
- rtl-optimization/89588, testsuite/89472, tree-optimization/85459,
- tree-optimization/85762, tree-optimization/87008,
- tree-optimization/89649, tree-optimization/89664
-- fix ICE in constexpr loop handling of SAVE_EXPRs (PR c++/89652)
-- temporarily revert -Wredundant-move warning false positive
- improvement (PR c++/89660)
-
-* Sat Mar 9 2019 Jakub Jelinek 9.0.1-0.9
-- update from trunk
- - PRs bootstrap/89539, bootstrap/89560, c++/22149, c++/63540, c++/71446,
- c++/80916, c++/82075, c++/84518, c++/84605, c++/86485, c++/86969,
- c++/87068, c++/87148, c++/87378, c++/88049, c++/88123, c++/88183,
- c++/88820, c++/88857, c++/89381, c++/89511, c++/89513, c++/89522,
- c++/89532, c++/89537, c++/89576, c++/89585, c++/89599, c++/89622,
- c/85870, c/89520, c/89521, c/89525, debug/89631, fortran/71203,
- fortran/72714, fortran/77583, fortran/89433, fortran/89516,
- gcov-profile/89577, go/63560, go/89227, go/89406, ipa/80000,
- ipa/88235, libgfortran/89593, libstdc++/86655, libstdc++/88996,
- libstdc++/89562, libstdc++/89608, lto/87525, lto/88585,
- middle-end/89497, middle-end/89503, middle-end/89541,
- middle-end/89572, middle-end/89578, middle-end/89590,
- middle-end/89618, other/80058, rtl-optimization/85899,
- rtl-optimization/88845, rtl-optimization/89634, sanitizer/88684,
- target/68924, target/78782, target/79645, target/79846, target/79926,
- target/80003, target/80190, target/85665, target/86952, target/87558,
- target/89222, target/89455, target/89506, target/89517, target/89587,
- target/89602, testsuite/89441, testsuite/89551, translation/79999,
- tree-optimization/89437, tree-optimization/89487,
- tree-optimization/89535, tree-optimization/89536,
- tree-optimization/89550, tree-optimization/89566,
- tree-optimization/89570, tree-optimization/89594,
- tree-optimization/89595
-- fix libstdc++ hashing of > 2GB strings (PR libstdc++/89629)
-
-* Wed Feb 27 2019 Jakub Jelinek 9.0.1-0.8
-- update from trunk
- - PRs c++/84585, c++/84676, c++/87685, c++/88294, c++/88394, c++/88419,
- c++/88869, c++/88987, c++/89285, c++/89419, c++/89420, c++/89422,
- c++/89481, c++/89488, c++/89507, c/77754, c/80409, c/89425, c/89495,
- debug/88878, debug/89514, driver/69471, fortran/43210, fortran/72741,
- fortran/78027, fortran/83057, fortran/84387, fortran/88117,
- fortran/88326, fortran/89174, fortran/89266, fortran/89282,
- fortran/89366, fortran/89385, fortran/89431, fortran/89492,
- fortran/89496, go/89170, libfortran/89274, libstdc++/89446,
- libstdc++/89466, libstdc++/89477, middle-end/85598, middle-end/87609,
- rtl-optimization/86096, rtl-optimization/87761,
- rtl-optimization/89445, target/87007, target/88530, target/89324,
- target/89338, target/89339, target/89434, target/89438, target/89444,
- target/89474, testsuite/89476, tree-optimization/87609,
- tree-optimization/88853, tree-optimization/88993,
- tree-optimization/89280, tree-optimization/89440,
- tree-optimization/89489, tree-optimization/89500,
- tree-optimization/89505
-- improve arm and aarch64 casesi (PR target/70341)
-- don't use section anchors block infrastructure for mergeable section
- data (PR rtl-optimization/89490)
-
-* Thu Feb 21 2019 Jakub Jelinek 9.0.1-0.7
-- update from trunk
- - PRs c++/84536, c++/87513, c++/87921, c++/88368, c++/88380, c++/88572,
- c++/88690, c++/89403, c++/89405, c/89410, fortran/86119,
- fortran/89384, hsa/89302, libstdc++/89402, libstdc++/89416,
- middle-end/89091, middle-end/89392, middle-end/89412,
- middle-end/89415, sanitizer/89409, target/86487, target/87412,
- target/88100
-
-* Tue Feb 19 2019 Jakub Jelinek 9.0.1-0.6
-- update from trunk
- - PRs c++/88680, c++/89217, c++/89315, c++/89336, c++/89356, c++/89383,
- c++/89387, c++/89390, c++/89391, c/87924, d/88127, fortran/71066,
- fortran/87689, fortran/88299, ipa/89306, middle-end/88074,
- middle-end/89294, rtl-optimization/66152, target/89271, target/89361,
- target/89372, target/89397, tree-optimization/89209,
- tree-optimization/89296
- - fix s390{,x} (#1677602, PR target/89369)
-
-* Fri Feb 15 2019 Jakub Jelinek 9.0.1-0.5
-- update from trunk
- - PRs c++/77304, c++/86379, c++/87322, c++/87996, c++/88977, c++/88986,
- c++/89036, c++/89144, c++/89212, c++/89241, c++/89297, c/89340,
- d/87864, fortran/67679, fortran/71723, fortran/72715, fortran/81552,
- fortran/88248, fortran/88649, fortran/89200, go/89193, ipa/88711,
- ipa/88755, ipa/89009, libbacktrace/81983, libstdc++/89023,
- libstdc++/89345, lto/87957, lto/88147, lto/88677, lto/88858,
- lto/88876, lto/89272, middle-end/89281, middle-end/89284,
- middle-end/89303, other/69006, other/89342, rtl-optimization/88308,
- rtl-optimization/89242, rtl-optimization/89354, target/88847,
- target/89190, target/89233, target/89290, tree-optimization/88771,
- tree-optimization/89253, tree-optimization/89268,
- tree-optimization/89278, tree-optimization/89314
-
-* Sat Feb 9 2019 Jakub Jelinek 9.0.1-0.4
-- update from trunk
- - PRs c++/44648, c++/71302, c++/86218, c++/87770, c++/89158, c++/89187,
- c/69661, c/88584, c/88606, c/88698, c/89211, debug/87451,
- fortran/52789, fortran/71860, fortran/88912, fortran/89077,
- fortran/89185, gcov-profile/89000, go/89019, ipa/88985,
- libbacktrace/78063, libstdc++/71044, libstdc++/87106, libstdc++/89090,
- libstdc++/89102, libstdc++/89128, libstdc++/89130, libstdc++/89194,
- middle-end/88560, middle-end/89150, middle-end/89210,
- middle-end/89223, middle-end/89246, rtl-optimization/11304,
- rtl-optimization/89195, rtl-optimization/89225,
- rtl-optimization/89234, target/88343, target/88856, target/89112,
- target/89186, target/89188, target/89229, testsuite/89250,
- testsuite/89258, tree-optimization/86637, tree-optimization/89182,
- tree-optimization/89235, tree-optimization/89247
-- add gcc-g++ and g++ provides to gcc-c++, gcc-fortran and gfortran
- provides to gcc-gfortran, gcc-d and gdc provides to gcc-gdc and gccgo
- provides to gcc-go
-
-* Sun Feb 3 2019 Jakub Jelinek 9.0.1-0.3
-- update from trunk
- - PRs c++/80864, c++/86943, c++/87175, c++/88325, c++/88752, c++/88761,
- c++/88983, c++/88988, c++/89083, c++/89105, c++/89119, c/88956,
- c/89061, c/89122, fortran/52564, fortran/52884, fortran/57048,
- fortran/81344, fortran/83246, fortran/88298, fortran/88393,
- fortran/88669, fortran/88685, fortran/88980, fortran/89084, hsa/87863,
- libbacktrace/89136, libfortran/78314, libfortran/88678,
- libstdc++/88170, libstdc++/89117, middle-end/87887, middle-end/88597,
- middle-end/89137, other/89106, rtl-optimization/87246,
- rtl-optimization/88593, rtl-optimization/89115, sanitizer/89124,
- target/89071, testsuite/87451, testsuite/88920, testsuite/89110,
- tree-optimization/85497, tree-optimization/88107,
- tree-optimization/88932, tree-optimization/89111,
- tree-optimization/89135, tree-optimization/89143
-
-* Tue Jan 29 2019 Jakub Jelinek 9.0.1-0.2
-- update from trunk
- - PRs c++/66676, c++/88358, c++/88815, c++/88865, c++/88969, c++/88976,
- c++/89001, c++/89024, c++/89089, c/86125, c/88886, c/89045, d/89042,
- debug/87295, debug/89006, debug/89076, fortran/57553, fortran/70696,
- fortran/85780, fortran/88929, gcc/87763, gcov-profile/88994,
- ipa/88933, ipa/89104, libfortran/89020, libgcc/88931, libstdc++/68737,
- libstdc++/88840, lto/87187, middle-end/86308, middle-end/89002,
- middle-end/89015, middle-end/89037, preprocessor/88974,
- rtl-optimization/88846, rtl-optimization/88948, target/85711,
- target/87214, target/88998, target/89073, testsuite/89064,
- tree-optimization/86865, tree-optimization/88739,
- tree-optimization/89027, tree-optimization/89049
-- make sure ARM unwinder doesn't use VFP registers (#1670069, PR target/89093)
-
-* Wed Jan 23 2019 Jakub Jelinek 9.0.1-0.1
-- update from trunk
- - PRs c++/87893, c++/88293, c++/88757, c++/88984, c/44715, driver/89014,
- fortran/88579, libstdc++/88740, lto/88422, middle-end/88968,
- rtl-optimization/87763, sanitizer/86229, sanitizer/89010,
- target/87835, target/88469, target/88909, target/88939, target/88941,
- target/88954, target/88965, target/PR88946, tree-optimization/88862,
- tree-optimization/88964, tree-optimization/89008
- - hopefully fix arm C++ issues (#1668323)
-- fix aarch64 -march=native (#1668631)
-
-* Tue Jan 22 2019 David Abdurachmanov
-- fix libgphobos-static requires (#1668204)
-
-* Mon Jan 21 2019 Jakub Jelinek 9.0.0-0.4
-- update from trunk
- - PRs c++/88949, c/88928, fortran/37835, fortran/56789, fortran/77960,
- ipa/87615, libstdc++/86590, target/71659, target/88938,
- tree-optimization/88934
-- fix up min/max reduction on ppc64le (PR target/87064)
-- fix up thread_jump on thumb1 (PR rtl-optimization/88904)
-- fix up doubleword unop REG_EQUAL notes with const args (PR target/88905)
-- fix up DSE on memcpy/memmove/memcmp libcalls (PR rtl-optimization/49429,
- PR target/49454, PR rtl-optimization/86334, PR target/88906)
-
-* Sat Jan 19 2019 Jakub Jelinek 9.0.0-0.3
-- update from trunk
- - PRs c++/86205, c++/86740, c++/86926, c++/88699, c++/88875, c/88664,
- fortran/88871, fortran/88898, fortran/88902, libbacktrace/88890,
- libstdc++/87514, libstdc++/87520, libstdc++/88782, middle-end/88273,
- middle-end/88587, target/85596, target/88799, target/88892,
- tree-optimization/88800, tree-optimization/88903
-- fix transfer_intrinsic_3.f90 miscompilation on ppc64le and s390x
- (PR tree-optimization/88044)
-- fix -fsanitize=pointer-{compare,subtract} in C++ templates
- (PR sanitizer/88901)
-- add Obsoletes for libmpx and libmpx-static
-
-* Thu Jan 17 2019 Jakub Jelinek 9.0.0-0.2
-- update from trunk
- - PRs c++/78244, c++/86610, c++/86648, c++/87768, c++/87882, c++/88114,
- c++/88146, c++/88312, c++/88613, c++/88692, c++/88795, c++/88825,
- c++/88830, c++/88866, c/51628, d/87824, debug/88046, fortran/35031,
- fortran/43136, fortran/57992, fortran/59345, fortran/61765,
- fortran/81849, fortran/88803, gcov-profile/88263, inline-asm/52813,
- ipa/88788, libbacktrace/82857, libfortran/88776, libfortran/88807,
- libstdc++/83306, libstdc++/88738, libstdc++/88802, libstdc++/88811,
- libstdc++/88881, libstdc++/88884, lto/86736, lto/88733,
- middle-end/85956, middle-end/88703, rtl-optimization/87305,
- rtl-optimization/88796, rtl-optimization/88870, target/80547,
- target/85381, target/85486, target/88614, target/86891, target/87306,
- target/88489, target/88638, target/88682, target/88777, target/88794,
- target/88850, target/88851, target/88861, tree-optimization/86214,
- tree-optimization/88693, tree-optimization/88775,
- tree-optimization/88855
-- fix arm bootstrap failure (PR bootstrap/88714)
-- fix on aarch64 and arm (PR target/88734)
-- default to -shared-libphobos for gdc
-
-* Fri Jan 11 2019 Jakub Jelinek 9.0.0-0.1
+* Sat Jan 18 2020 Jakub Jelinek 10.0.1-0.3
- new package
diff --git a/gcc9-Wno-format-security.patch b/gcc10-Wno-format-security.patch
similarity index 88%
rename from gcc9-Wno-format-security.patch
rename to gcc10-Wno-format-security.patch
index cb21e5d..974ea44 100644
--- a/gcc9-Wno-format-security.patch
+++ b/gcc10-Wno-format-security.patch
@@ -5,7 +5,7 @@
--- gcc/configure.ac.jj 2017-02-13 12:20:53.000000000 +0100
+++ gcc/configure.ac 2017-02-25 12:42:32.859175403 +0100
-@@ -481,7 +481,7 @@ AC_ARG_ENABLE(build-format-warnings,
+@@ -480,7 +480,7 @@ AC_ARG_ENABLE(build-format-warnings,
AS_HELP_STRING([--disable-build-format-warnings],[don't use -Wformat while building GCC]),
[],[enable_build_format_warnings=yes])
AS_IF([test $enable_build_format_warnings = no],
@@ -13,7 +13,7 @@
+ [wf_opt="-Wno-format -Wno-format-security"],[wf_opt=])
ACX_PROG_CXX_WARNING_OPTS(
m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings ],
- [-Wcast-qual $wf_opt])), [loose_warn])
+ [-Wcast-qual -Wno-error=format-diag $wf_opt])),
--- gcc/configure.jj 2017-02-13 12:20:52.000000000 +0100
+++ gcc/configure 2017-02-25 12:42:50.041946391 +0100
@@ -6647,7 +6647,7 @@ else
diff --git a/gcc9-d-shared-libphobos.patch b/gcc10-d-shared-libphobos.patch
similarity index 100%
rename from gcc9-d-shared-libphobos.patch
rename to gcc10-d-shared-libphobos.patch
diff --git a/gcc9-foffload-default.patch b/gcc10-foffload-default.patch
similarity index 92%
rename from gcc9-foffload-default.patch
rename to gcc10-foffload-default.patch
index ac462f1..4a87e9f 100644
--- a/gcc9-foffload-default.patch
+++ b/gcc10-foffload-default.patch
@@ -58,7 +58,7 @@ libgomp/
enum lto_mode_d {
LTO_MODE_NONE, /* Not doing LTO. */
-@@ -820,6 +821,12 @@ compile_offload_image (const char *targe
+@@ -822,6 +823,12 @@ compile_offload_image (const char *targe
break;
}
@@ -70,8 +70,8 @@ libgomp/
+
if (!compiler)
fatal_error (input_location,
- "could not find %s in %s (consider using %<-B%>)\n",
-@@ -883,6 +890,7 @@ compile_images_for_offload_targets (unsi
+ "could not find %s in %s (consider using %<-B%>)",
+@@ -885,6 +892,7 @@ compile_images_for_offload_targets (unsi
unsigned num_targets = parse_env_var (target_names, &names, NULL);
int next_name_entry = 0;
@@ -79,7 +79,7 @@ libgomp/
const char *compiler_path = getenv ("COMPILER_PATH");
if (!compiler_path)
goto out;
-@@ -895,18 +903,26 @@ compile_images_for_offload_targets (unsi
+@@ -897,18 +905,26 @@ compile_images_for_offload_targets (unsi
/* HSA does not use LTO-like streaming and a different compiler, skip
it. */
if (strcmp (names[i], "hsa") == 0)
@@ -95,7 +95,7 @@ libgomp/
linker_opts, linker_opt_count);
if (!offload_names[next_name_entry])
- fatal_error (input_location,
-- "problem with building target image for %s\n", names[i]);
+- "problem with building target image for %s", names[i]);
+ continue;
next_name_entry++;
}
diff --git a/gcc9-hack.patch b/gcc10-hack.patch
similarity index 100%
rename from gcc9-hack.patch
rename to gcc10-hack.patch
diff --git a/gcc9-i386-libgomp.patch b/gcc10-i386-libgomp.patch
similarity index 100%
rename from gcc9-i386-libgomp.patch
rename to gcc10-i386-libgomp.patch
diff --git a/gcc9-isl-dl.patch b/gcc10-isl-dl.patch
similarity index 99%
rename from gcc9-isl-dl.patch
rename to gcc10-isl-dl.patch
index 46d3b0d..c681895 100644
--- a/gcc9-isl-dl.patch
+++ b/gcc10-isl-dl.patch
@@ -1,15 +1,15 @@
--- gcc/Makefile.in.jj 2015-06-06 10:00:25.000000000 +0200
+++ gcc/Makefile.in 2015-11-04 14:56:02.643536437 +0100
-@@ -1046,7 +1046,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
+@@ -1063,7 +1063,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
# and the system's installed libraries.
LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) \
$(LIBIBERTY) $(LIBDECNUMBER) $(HOST_LIBS)
-BACKENDLIBS = $(ISLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
+BACKENDLIBS = $(if $(ISLLIBS),-ldl) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
- $(ZLIB)
+ $(ZLIB) $(ZSTD_LIB)
# Any system libraries needed just for GNAT.
SYSLIBS = @GNAT_LIBEXC@
-@@ -2196,6 +2196,15 @@ $(out_object_file): $(out_file)
+@@ -2302,6 +2302,15 @@ $(out_object_file): $(out_file)
$(common_out_object_file): $(common_out_file)
$(COMPILE) $<
$(POSTCOMPILE)
diff --git a/gcc9-libgomp-omp_h-multilib.patch b/gcc10-libgomp-omp_h-multilib.patch
similarity index 100%
rename from gcc9-libgomp-omp_h-multilib.patch
rename to gcc10-libgomp-omp_h-multilib.patch
diff --git a/gcc9-libstdc++-docs.patch b/gcc10-libstdc++-docs.patch
similarity index 91%
rename from gcc9-libstdc++-docs.patch
rename to gcc10-libstdc++-docs.patch
index 25990ff..56c01da 100644
--- a/gcc9-libstdc++-docs.patch
+++ b/gcc10-libstdc++-docs.patch
@@ -4,7 +4,7 @@
FSF
-+ Release 9.2.1
++ Release 10.0.1
+
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation
@@ -17,7 +17,7 @@
- The API documentation, rendered into HTML, can be viewed online
+ The API documentation, rendered into HTML, can be viewed locally
-+ for the 9.2.1 release,
++ for the 10.0.1 release,
+ online
for each GCC release
and
diff --git a/gcc9-libtool-no-rpath.patch b/gcc10-libtool-no-rpath.patch
similarity index 100%
rename from gcc9-libtool-no-rpath.patch
rename to gcc10-libtool-no-rpath.patch
diff --git a/gcc9-no-add-needed.patch b/gcc10-no-add-needed.patch
similarity index 100%
rename from gcc9-no-add-needed.patch
rename to gcc10-no-add-needed.patch
diff --git a/gcc9-rh1574936.patch b/gcc10-rh1574936.patch
similarity index 88%
rename from gcc9-rh1574936.patch
rename to gcc10-rh1574936.patch
index 32db990..6b4be0c 100644
--- a/gcc9-rh1574936.patch
+++ b/gcc10-rh1574936.patch
@@ -12,7 +12,7 @@ these notes only confer that there is no other annobin markup.
--- libgcc/Makefile.in 2018-01-13 13:05:41.000000000 +0100
+++ libgcc/Makefile.in 2018-07-25 13:15:02.036226940 +0200
-@@ -244,6 +244,7 @@
+@@ -246,6 +246,7 @@ LIBGCC2_DEBUG_CFLAGS = -g
LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \
$(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 \
-fbuilding-libgcc -fno-stack-protector \
@@ -20,12 +20,11 @@ these notes only confer that there is no other annobin markup.
$(INHIBIT_LIBC_CFLAGS)
# Additional options to use when compiling libgcc2.a.
-@@ -297,6 +298,7 @@
+@@ -301,6 +302,7 @@ CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(IN
$(NO_PIE_CFLAGS) -finhibit-size-directive -fno-inline -fno-exceptions \
-fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \
-fbuilding-libgcc -fno-stack-protector $(FORCE_EXPLICIT_EH_REGISTRY) \
+ -Wa,--generate-missing-build-notes=yes \
- $(INHIBIT_LIBC_CFLAGS)
+ $(INHIBIT_LIBC_CFLAGS) $(USE_TM_CLONE_REGISTRY)
# Extra flags to use when compiling crt{begin,end}.o.
-
diff --git a/gcc9-sparc-config-detection.patch b/gcc10-sparc-config-detection.patch
similarity index 100%
rename from gcc9-sparc-config-detection.patch
rename to gcc10-sparc-config-detection.patch
diff --git a/nvptx-tools-build.patch b/nvptx-tools-build.patch
deleted file mode 100644
index 53d7483..0000000
--- a/nvptx-tools-build.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- nvptx-tools/nvptx-as.c.jj 2017-01-20 12:40:18.000000000 +0100
-+++ nvptx-tools/nvptx-as.c 2017-01-20 12:43:53.864271442 +0100
-@@ -939,7 +939,7 @@ fork_execute (const char *prog, char *co
- fatal_error ("%s: %m", errmsg);
- }
- else
-- fatal_error (errmsg);
-+ fatal_error ("%s", errmsg);
- }
- do_wait (prog, pex);
- }
diff --git a/nvptx-tools-glibc.patch b/nvptx-tools-glibc.patch
deleted file mode 100644
index 4b50114..0000000
--- a/nvptx-tools-glibc.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- nvptx-tools/configure.ac.jj 2017-01-13 12:48:31.000000000 +0100
-+++ nvptx-tools/configure.ac 2017-05-03 10:26:57.076092259 +0200
-@@ -66,6 +66,8 @@ CPPFLAGS=$save_CPPFLAGS
- LDFLAGS=$save_LDFLAGS
- LIBS=$save_LIBS
-
-+AC_CHECK_DECLS(getopt)
-+
- AC_CONFIG_SUBDIRS([libiberty])
- AC_CONFIG_FILES([Makefile dejagnu.exp])
- AC_OUTPUT
---- nvptx-tools/configure.jj 2017-01-13 12:48:54.000000000 +0100
-+++ nvptx-tools/configure 2017-05-03 10:27:13.503876809 +0200
-@@ -3963,6 +3963,18 @@ CPPFLAGS=$save_CPPFLAGS
- LDFLAGS=$save_LDFLAGS
- LIBS=$save_LIBS
-
-+ac_fn_c_check_decl "$LINENO" "getopt" "ac_cv_have_decl_getopt" "$ac_includes_default"
-+if test "x$ac_cv_have_decl_getopt" = x""yes; then :
-+ ac_have_decl=1
-+else
-+ ac_have_decl=0
-+fi
-+
-+cat >>confdefs.h <<_ACEOF
-+#define HAVE_DECL_GETOPT $ac_have_decl
-+_ACEOF
-+
-+
-
-
- subdirs="$subdirs libiberty"
diff --git a/nvptx-tools-no-ptxas.patch b/nvptx-tools-no-ptxas.patch
deleted file mode 100644
index 28bc597..0000000
--- a/nvptx-tools-no-ptxas.patch
+++ /dev/null
@@ -1,947 +0,0 @@
---- nvptx-tools/configure.ac
-+++ nvptx-tools/configure.ac
-@@ -51,6 +51,7 @@ LIBS="$LIBS -lcuda"
- AC_CHECK_FUNCS([[cuGetErrorName] [cuGetErrorString]])
- AC_CHECK_DECLS([[cuGetErrorName], [cuGetErrorString]],
- [], [], [[#include ]])
-+AC_CHECK_HEADERS(unistd.h sys/stat.h)
-
- AC_MSG_CHECKING([for extra programs to build requiring -lcuda])
- NVPTX_RUN=
---- nvptx-tools/include/libiberty.h
-+++ nvptx-tools/include/libiberty.h
-@@ -390,6 +390,17 @@ extern void hex_init (void);
- /* Save files used for communication between processes. */
- #define PEX_SAVE_TEMPS 0x4
-
-+/* Max number of alloca bytes per call before we must switch to malloc.
-+
-+ ?? Swiped from gnulib's regex_internal.h header. Is this actually
-+ the case? This number seems arbitrary, though sane.
-+
-+ The OS usually guarantees only one guard page at the bottom of the stack,
-+ and a page size can be as small as 4096 bytes. So we cannot safely
-+ allocate anything larger than 4096 bytes. Also care for the possibility
-+ of a few compiler-allocated temporary stack slots. */
-+#define MAX_ALLOCA_SIZE 4032
-+
- /* Prepare to execute one or more programs, with standard output of
- each program fed to standard input of the next.
- FLAGS As above.
---- nvptx-tools/nvptx-as.c
-+++ nvptx-tools/nvptx-as.c
-@@ -30,6 +30,9 @@
- #include
- #include
- #include
-+#ifdef HAVE_SYS_STAT_H
-+#include
-+#endif
- #include
- #define obstack_chunk_alloc malloc
- #define obstack_chunk_free free
-@@ -42,6 +45,38 @@
-
- #include "version.h"
-
-+#ifndef R_OK
-+#define R_OK 4
-+#define W_OK 2
-+#define X_OK 1
-+#endif
-+
-+#ifndef DIR_SEPARATOR
-+# define DIR_SEPARATOR '/'
-+#endif
-+
-+#if defined (_WIN32) || defined (__MSDOS__) \
-+ || defined (__DJGPP__) || defined (__OS2__)
-+# define HAVE_DOS_BASED_FILE_SYSTEM
-+# define HAVE_HOST_EXECUTABLE_SUFFIX
-+# define HOST_EXECUTABLE_SUFFIX ".exe"
-+# ifndef DIR_SEPARATOR_2
-+# define DIR_SEPARATOR_2 '\\'
-+# endif
-+# define PATH_SEPARATOR ';'
-+#else
-+# define PATH_SEPARATOR ':'
-+#endif
-+
-+#ifndef DIR_SEPARATOR_2
-+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-+#else
-+# define IS_DIR_SEPARATOR(ch) \
-+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-+#endif
-+
-+#define DIR_UP ".."
-+
- static const char *outname = NULL;
-
- static void __attribute__ ((format (printf, 1, 2)))
-@@ -816,7 +851,7 @@ traverse (void **slot, void *data)
- }
-
- static void
--process (FILE *in, FILE *out)
-+process (FILE *in, FILE *out, int verify, const char *outname)
- {
- symbol_table = htab_create (500, hash_string_hash, hash_string_eq,
- NULL);
-@@ -824,6 +859,18 @@ process (FILE *in, FILE *out)
- const char *input = read_file (in);
- Token *tok = tokenize (input);
-
-+ /* By default, when ptxas is not in PATH, do minimalistic verification,
-+ just require that the first non-comment directive is .version. */
-+ if (verify < 0)
-+ {
-+ size_t i;
-+ for (i = 0; tok[i].kind == K_comment; i++)
-+ ;
-+ if (tok[i].kind != K_dotted || !is_keyword (&tok[i], "version"))
-+ fatal_error ("missing .version directive at start of file '%s'",
-+ outname);
-+ }
-+
- do
- tok = parse_file (tok);
- while (tok->kind);
-@@ -897,9 +944,83 @@ fork_execute (const char *prog, char *const *argv)
- do_wait (prog, pex);
- }
-
-+/* Determine if progname is available in PATH. */
-+static bool
-+program_available (const char *progname)
-+{
-+ char *temp = getenv ("PATH");
-+ if (temp)
-+ {
-+ char *startp, *endp, *nstore, *alloc_ptr = NULL;
-+ size_t prefixlen = strlen (temp) + 1;
-+ size_t len;
-+ if (prefixlen < 2)
-+ prefixlen = 2;
-+
-+ len = prefixlen + strlen (progname) + 1;
-+#ifdef HAVE_HOST_EXECUTABLE_SUFFIX
-+ len += strlen (HOST_EXECUTABLE_SUFFIX);
-+#endif
-+ if (len < MAX_ALLOCA_SIZE)
-+ nstore = (char *) alloca (len);
-+ else
-+ alloc_ptr = nstore = (char *) malloc (len);
-+
-+ startp = endp = temp;
-+ while (1)
-+ {
-+ if (*endp == PATH_SEPARATOR || *endp == 0)
-+ {
-+ if (endp == startp)
-+ {
-+ nstore[0] = '.';
-+ nstore[1] = DIR_SEPARATOR;
-+ nstore[2] = '\0';
-+ }
-+ else
-+ {
-+ memcpy (nstore, startp, endp - startp);
-+ if (! IS_DIR_SEPARATOR (endp[-1]))
-+ {
-+ nstore[endp - startp] = DIR_SEPARATOR;
-+ nstore[endp - startp + 1] = 0;
-+ }
-+ else
-+ nstore[endp - startp] = 0;
-+ }
-+ strcat (nstore, progname);
-+ if (! access (nstore, X_OK)
-+#ifdef HAVE_HOST_EXECUTABLE_SUFFIX
-+ || ! access (strcat (nstore, HOST_EXECUTABLE_SUFFIX), X_OK)
-+#endif
-+ )
-+ {
-+#if defined (HAVE_SYS_STAT_H) && defined (S_ISREG)
-+ struct stat st;
-+ if (stat (nstore, &st) >= 0 && S_ISREG (st.st_mode))
-+#endif
-+ {
-+ free (alloc_ptr);
-+ return true;
-+ }
-+ }
-+
-+ if (*endp == 0)
-+ break;
-+ endp = startp = endp + 1;
-+ }
-+ else
-+ endp++;
-+ }
-+ free (alloc_ptr);
-+ }
-+ return false;
-+}
-+
- static struct option long_options[] = {
- {"traditional-format", no_argument, 0, 0 },
- {"save-temps", no_argument, 0, 0 },
-+ {"verify", no_argument, 0, 0 },
- {"no-verify", no_argument, 0, 0 },
- {"help", no_argument, 0, 'h' },
- {"version", no_argument, 0, 'V' },
-@@ -912,7 +1033,7 @@ main (int argc, char **argv)
- FILE *in = stdin;
- FILE *out = stdout;
- bool verbose __attribute__((unused)) = false;
-- bool verify = true;
-+ int verify = -1;
- const char *smver = "sm_30";
-
- int o;
-@@ -923,7 +1044,9 @@ main (int argc, char **argv)
- {
- case 0:
- if (option_index == 2)
-- verify = false;
-+ verify = 1;
-+ else if (option_index == 3)
-+ verify = 0;
- break;
- case 'v':
- verbose = true;
-@@ -948,7 +1071,8 @@ Usage: nvptx-none-as [option...] [asmfile]\n\
- Options:\n\
- -o FILE Write output to FILE\n\
- -v Be verbose\n\
-+ --verify Do verify output is acceptable to ptxas\n\
- --no-verify Do not verify output is acceptable to ptxas\n\
- --help Print this help and exit\n\
- --version Print version number and exit\n\
- \n\
-@@ -983,11 +1108,17 @@ This program has absolutely no warranty.\n",
- if (!in)
- fatal_error ("cannot open input ptx file");
-
-- process (in, out);
-- if (outname)
-+ if (outname == NULL)
-+ verify = 0;
-+ else if (verify == -1)
-+ if (program_available ("ptxas"))
-+ verify = 1;
-+
-+ process (in, out, verify, outname);
-+ if (outname)
- fclose (out);
-
-- if (verify && outname)
-+ if (verify > 0)
- {
- struct obstack argv_obstack;
- obstack_init (&argv_obstack);
---- nvptx-tools/configure
-+++ nvptx-tools/configure
-@@ -168,7 +168,8 @@ test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
-+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-+test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
- else
-@@ -552,11 +553,50 @@ PACKAGE_URL=
-
- ac_unique_file="nvptx-tools"
- ac_unique_file="nvptx-as.c"
-+# Factoring default headers for most tests.
-+ac_includes_default="\
-+#include
-+#ifdef HAVE_SYS_TYPES_H
-+# include
-+#endif
-+#ifdef HAVE_SYS_STAT_H
-+# include
-+#endif
-+#ifdef STDC_HEADERS
-+# include
-+# include
-+#else
-+# ifdef HAVE_STDLIB_H
-+# include
-+# endif
-+#endif
-+#ifdef HAVE_STRING_H
-+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-+# include
-+# endif
-+# include
-+#endif
-+#ifdef HAVE_STRINGS_H
-+# include
-+#endif
-+#ifdef HAVE_INTTYPES_H
-+# include
-+#endif
-+#ifdef HAVE_STDINT_H
-+# include
-+#endif
-+#ifdef HAVE_UNISTD_H
-+# include
-+#endif"
-+
- enable_option_checking=no
- ac_subst_vars='LTLIBOBJS
- LIBOBJS
- subdirs
- NVPTX_RUN
-+EGREP
-+GREP
-+CPP
- CUDA_DRIVER_LDFLAGS
- CUDA_DRIVER_CPPFLAGS
- AR
-@@ -635,7 +675,8 @@ LIBS
- CPPFLAGS
- CXX
- CXXFLAGS
--CCC'
-+CCC
-+CPP'
- ac_subdirs_all='libiberty'
-
- # Initialize some variables set by options.
-@@ -1267,6 +1308,7 @@ Some influential environment variables:
- you have headers in a nonstandard directory
- CXX C++ compiler command
- CXXFLAGS C++ compiler flags
-+ CPP C preprocessor
-
- Use these variables to override the choices made by `configure' or to help
- it to find libraries and programs with nonstandard names/locations.
-@@ -1575,6 +1617,203 @@ $as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
- } # ac_fn_c_check_decl
-+
-+# ac_fn_c_try_cpp LINENO
-+# ----------------------
-+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-+ac_fn_c_try_cpp ()
-+{
-+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-+ if { { ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-+$as_echo "$ac_try_echo"; } >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-+ ac_status=$?
-+ if test -s conftest.err; then
-+ grep -v '^ *+' conftest.err >conftest.er1
-+ cat conftest.er1 >&5
-+ mv -f conftest.er1 conftest.err
-+ fi
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; } >/dev/null && {
-+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ }; then :
-+ ac_retval=0
-+else
-+ $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_retval=1
-+fi
-+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-+ return $ac_retval
-+
-+} # ac_fn_c_try_cpp
-+
-+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-+# -------------------------------------------------------
-+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-+# the include files in INCLUDES and setting the cache variable VAR
-+# accordingly.
-+ac_fn_c_check_header_mongrel ()
-+{
-+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-+ if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-+$as_echo_n "checking for $2... " >&6; }
-+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-+ $as_echo_n "(cached) " >&6
-+fi
-+eval ac_res=\$$3
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-+$as_echo "$ac_res" >&6; }
-+else
-+ # Is the header compilable?
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-+$as_echo_n "checking $2 usability... " >&6; }
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+$4
-+#include <$2>
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ ac_header_compiler=yes
-+else
-+ ac_header_compiler=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-+$as_echo "$ac_header_compiler" >&6; }
-+
-+# Is the header present?
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-+$as_echo_n "checking $2 presence... " >&6; }
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include <$2>
-+_ACEOF
-+if ac_fn_c_try_cpp "$LINENO"; then :
-+ ac_header_preproc=yes
-+else
-+ ac_header_preproc=no
-+fi
-+rm -f conftest.err conftest.$ac_ext
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-+$as_echo "$ac_header_preproc" >&6; }
-+
-+# So? What about this header?
-+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-+ yes:no: )
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-+ ;;
-+ no:yes:* )
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-+ ;;
-+esac
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-+$as_echo_n "checking for $2... " >&6; }
-+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ eval "$3=\$ac_header_compiler"
-+fi
-+eval ac_res=\$$3
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-+$as_echo "$ac_res" >&6; }
-+fi
-+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-+
-+} # ac_fn_c_check_header_mongrel
-+
-+# ac_fn_c_try_run LINENO
-+# ----------------------
-+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-+# that executables *can* be run.
-+ac_fn_c_try_run ()
-+{
-+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-+ if { { ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-+$as_echo "$ac_try_echo"; } >&5
-+ (eval "$ac_link") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-+ { { case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-+$as_echo "$ac_try_echo"; } >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }; }; then :
-+ ac_retval=0
-+else
-+ $as_echo "$as_me: program exited with status $ac_status" >&5
-+ $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_retval=$ac_status
-+fi
-+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-+ return $ac_retval
-+
-+} # ac_fn_c_try_run
-+
-+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-+# -------------------------------------------------------
-+# Tests whether HEADER exists and can be compiled using the include files in
-+# INCLUDES, setting the cache variable VAR accordingly.
-+ac_fn_c_check_header_compile ()
-+{
-+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-+$as_echo_n "checking for $2... " >&6; }
-+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+$4
-+#include <$2>
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ eval "$3=yes"
-+else
-+ eval "$3=no"
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+eval ac_res=\$$3
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-+$as_echo "$ac_res" >&6; }
-+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-+
-+} # ac_fn_c_check_header_compile
- cat >config.log <<_ACEOF
- This file contains any messages produced by compilers while
- running configure, to aid debugging if configure makes a mistake.
-@@ -3284,6 +3523,418 @@ cat >>confdefs.h <<_ACEOF
- #define HAVE_DECL_CUGETERRORSTRING $ac_have_decl
- _ACEOF
-
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-+$as_echo_n "checking how to run the C preprocessor... " >&6; }
-+# On Suns, sometimes $CPP names a directory.
-+if test -n "$CPP" && test -d "$CPP"; then
-+ CPP=
-+fi
-+if test -z "$CPP"; then
-+ if test "${ac_cv_prog_CPP+set}" = set; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ # Double quotes because CPP needs to be expanded
-+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-+ do
-+ ac_preproc_ok=false
-+for ac_c_preproc_warn_flag in '' yes
-+do
-+ # Use a header file that comes with gcc, so configuring glibc
-+ # with a fresh cross-compiler works.
-+ # Prefer to if __STDC__ is defined, since
-+ # exists even on freestanding compilers.
-+ # On the NeXT, cc -E runs the code through the compiler's parser,
-+ # not just through cpp. "Syntax error" is here to catch this case.
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#ifdef __STDC__
-+# include
-+#else
-+# include
-+#endif
-+ Syntax error
-+_ACEOF
-+if ac_fn_c_try_cpp "$LINENO"; then :
-+
-+else
-+ # Broken: fails on valid input.
-+continue
-+fi
-+rm -f conftest.err conftest.$ac_ext
-+
-+ # OK, works on sane cases. Now check whether nonexistent headers
-+ # can be detected and how.
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include
-+_ACEOF
-+if ac_fn_c_try_cpp "$LINENO"; then :
-+ # Broken: success on invalid input.
-+continue
-+else
-+ # Passes both tests.
-+ac_preproc_ok=:
-+break
-+fi
-+rm -f conftest.err conftest.$ac_ext
-+
-+done
-+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-+rm -f conftest.err conftest.$ac_ext
-+if $ac_preproc_ok; then :
-+ break
-+fi
-+
-+ done
-+ ac_cv_prog_CPP=$CPP
-+
-+fi
-+ CPP=$ac_cv_prog_CPP
-+else
-+ ac_cv_prog_CPP=$CPP
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-+$as_echo "$CPP" >&6; }
-+ac_preproc_ok=false
-+for ac_c_preproc_warn_flag in '' yes
-+do
-+ # Use a header file that comes with gcc, so configuring glibc
-+ # with a fresh cross-compiler works.
-+ # Prefer to if __STDC__ is defined, since
-+ # exists even on freestanding compilers.
-+ # On the NeXT, cc -E runs the code through the compiler's parser,
-+ # not just through cpp. "Syntax error" is here to catch this case.
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#ifdef __STDC__
-+# include
-+#else
-+# include
-+#endif
-+ Syntax error
-+_ACEOF
-+if ac_fn_c_try_cpp "$LINENO"; then :
-+
-+else
-+ # Broken: fails on valid input.
-+continue
-+fi
-+rm -f conftest.err conftest.$ac_ext
-+
-+ # OK, works on sane cases. Now check whether nonexistent headers
-+ # can be detected and how.
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include
-+_ACEOF
-+if ac_fn_c_try_cpp "$LINENO"; then :
-+ # Broken: success on invalid input.
-+continue
-+else
-+ # Passes both tests.
-+ac_preproc_ok=:
-+break
-+fi
-+rm -f conftest.err conftest.$ac_ext
-+
-+done
-+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-+rm -f conftest.err conftest.$ac_ext
-+if $ac_preproc_ok; then :
-+
-+else
-+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+as_fn_error "C preprocessor \"$CPP\" fails sanity check
-+See \`config.log' for more details." "$LINENO" 5; }
-+fi
-+
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-+if test "${ac_cv_path_GREP+set}" = set; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -z "$GREP"; then
-+ ac_path_GREP_found=false
-+ # Loop through the user's path and test for each of PROGNAME-LIST
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_prog in grep ggrep; do
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-+# Check for GNU ac_path_GREP and select it if it is found.
-+ # Check for GNU $ac_path_GREP
-+case `"$ac_path_GREP" --version 2>&1` in
-+*GNU*)
-+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-+*)
-+ ac_count=0
-+ $as_echo_n 0123456789 >"conftest.in"
-+ while :
-+ do
-+ cat "conftest.in" "conftest.in" >"conftest.tmp"
-+ mv "conftest.tmp" "conftest.in"
-+ cp "conftest.in" "conftest.nl"
-+ $as_echo 'GREP' >> "conftest.nl"
-+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-+ as_fn_arith $ac_count + 1 && ac_count=$as_val
-+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
-+ # Best one so far, save it but keep looking for a better one
-+ ac_cv_path_GREP="$ac_path_GREP"
-+ ac_path_GREP_max=$ac_count
-+ fi
-+ # 10*(2^10) chars as input seems more than enough
-+ test $ac_count -gt 10 && break
-+ done
-+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-+esac
-+
-+ $ac_path_GREP_found && break 3
-+ done
-+ done
-+ done
-+IFS=$as_save_IFS
-+ if test -z "$ac_cv_path_GREP"; then
-+ as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-+ fi
-+else
-+ ac_cv_path_GREP=$GREP
-+fi
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-+$as_echo "$ac_cv_path_GREP" >&6; }
-+ GREP="$ac_cv_path_GREP"
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-+$as_echo_n "checking for egrep... " >&6; }
-+if test "${ac_cv_path_EGREP+set}" = set; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-+ then ac_cv_path_EGREP="$GREP -E"
-+ else
-+ if test -z "$EGREP"; then
-+ ac_path_EGREP_found=false
-+ # Loop through the user's path and test for each of PROGNAME-LIST
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_prog in egrep; do
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-+# Check for GNU ac_path_EGREP and select it if it is found.
-+ # Check for GNU $ac_path_EGREP
-+case `"$ac_path_EGREP" --version 2>&1` in
-+*GNU*)
-+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-+*)
-+ ac_count=0
-+ $as_echo_n 0123456789 >"conftest.in"
-+ while :
-+ do
-+ cat "conftest.in" "conftest.in" >"conftest.tmp"
-+ mv "conftest.tmp" "conftest.in"
-+ cp "conftest.in" "conftest.nl"
-+ $as_echo 'EGREP' >> "conftest.nl"
-+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-+ as_fn_arith $ac_count + 1 && ac_count=$as_val
-+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-+ # Best one so far, save it but keep looking for a better one
-+ ac_cv_path_EGREP="$ac_path_EGREP"
-+ ac_path_EGREP_max=$ac_count
-+ fi
-+ # 10*(2^10) chars as input seems more than enough
-+ test $ac_count -gt 10 && break
-+ done
-+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-+esac
-+
-+ $ac_path_EGREP_found && break 3
-+ done
-+ done
-+ done
-+IFS=$as_save_IFS
-+ if test -z "$ac_cv_path_EGREP"; then
-+ as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-+ fi
-+else
-+ ac_cv_path_EGREP=$EGREP
-+fi
-+
-+ fi
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-+$as_echo "$ac_cv_path_EGREP" >&6; }
-+ EGREP="$ac_cv_path_EGREP"
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-+$as_echo_n "checking for ANSI C header files... " >&6; }
-+if test "${ac_cv_header_stdc+set}" = set; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include
-+#include
-+#include
-+#include
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ ac_cv_header_stdc=yes
-+else
-+ ac_cv_header_stdc=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+if test $ac_cv_header_stdc = yes; then
-+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include
-+
-+_ACEOF
-+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-+ $EGREP "memchr" >/dev/null 2>&1; then :
-+
-+else
-+ ac_cv_header_stdc=no
-+fi
-+rm -f conftest*
-+
-+fi
-+
-+if test $ac_cv_header_stdc = yes; then
-+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include
-+
-+_ACEOF
-+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-+ $EGREP "free" >/dev/null 2>&1; then :
-+
-+else
-+ ac_cv_header_stdc=no
-+fi
-+rm -f conftest*
-+
-+fi
-+
-+if test $ac_cv_header_stdc = yes; then
-+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-+ if test "$cross_compiling" = yes; then :
-+ :
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include
-+#include
-+#if ((' ' & 0x0FF) == 0x020)
-+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-+#else
-+# define ISLOWER(c) \
-+ (('a' <= (c) && (c) <= 'i') \
-+ || ('j' <= (c) && (c) <= 'r') \
-+ || ('s' <= (c) && (c) <= 'z'))
-+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-+#endif
-+
-+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-+int
-+main ()
-+{
-+ int i;
-+ for (i = 0; i < 256; i++)
-+ if (XOR (islower (i), ISLOWER (i))
-+ || toupper (i) != TOUPPER (i))
-+ return 2;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_run "$LINENO"; then :
-+
-+else
-+ ac_cv_header_stdc=no
-+fi
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-+ conftest.$ac_objext conftest.beam conftest.$ac_ext
-+fi
-+
-+fi
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-+$as_echo "$ac_cv_header_stdc" >&6; }
-+if test $ac_cv_header_stdc = yes; then
-+
-+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-+
-+fi
-+
-+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-+ inttypes.h stdint.h unistd.h
-+do :
-+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-+"
-+eval as_val=\$$as_ac_Header
-+ if test "x$as_val" = x""yes; then :
-+ cat >>confdefs.h <<_ACEOF
-+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
-+
-+fi
-+
-+done
-+
-+
-+for ac_header in unistd.h sys/stat.h
-+do :
-+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-+eval as_val=\$$as_ac_Header
-+ if test "x$as_val" = x""yes; then :
-+ cat >>confdefs.h <<_ACEOF
-+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
-+
-+fi
-+
-+done
-+
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for extra programs to build requiring -lcuda" >&5
- $as_echo_n "checking for extra programs to build requiring -lcuda... " >&6; }
diff --git a/sources b/sources
index 04b7e4e..0422319 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (gcc-9.2.1-20191120.tar.xz) = cbd156d19afc4d4e752df3aee159906899f229342c314dcb16699e29bb43c0ac63b35ced11fcc50c4017c20e4e0e5609d941d88abcfe16e3903c3e7da6050acd
-SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04
-SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1
+SHA512 (gcc-10.0.1-20200118.tar.xz) = 665e1cea975dbfc2ad75db3eb3e5a757487b2a371fa3dd830a3a0897cf9553853e7b85ee1d2b221897cdeb7b861da22e05d20a0740c12ff137700c1a82cfdd4f
+SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 9ceea0b883185fe489724d54a7e909bb6ed4785fcadf80162033dc6a133e2657337175601278e4155d1f8fac275ff9c8a02572aea876166c608774c809f832e9
+SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7
diff --git a/update-gcc.sh b/update-gcc.sh
new file mode 100755
index 0000000..845a024
--- /dev/null
+++ b/update-gcc.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+[ -d gcc-dir.tmp ] && echo gcc-dir.tmp already exists && exit 1
+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
+rm -rf gcc-dir.tmp