diff --git a/gcc.spec b/gcc.spec
index 51a5a24..bb328ad 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,10 +1,10 @@
-%global DATE 20201016
-%global gitrev b55a9d01144097312b48281486c03e83cf03fde5
-%global gcc_version 10.2.1
-%global gcc_major 10
+%global DATE 20201019
+%global gitrev 6e9eb3e01f683e4b1b40018476c72bed7a9a35f7
+%global gcc_version 11.0.0
+%global gcc_major 11
# 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 6
+%global gcc_release 0
%global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e
%global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0
%global _unpackaged_files_terminate_build 0
@@ -119,7 +119,7 @@
Summary: Various compilers (C, C++, Objective-C, ...)
Name: gcc
Version: %{gcc_version}
-Release: %{gcc_release}%{?dist}
+Release: %{gcc_release}.2%{?dist}
# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
# GCC Runtime Exception.
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
@@ -256,22 +256,19 @@ AutoReq: true
Provides: bundled(libiberty)
Provides: gcc(major) = %{gcc_major}
-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
-Patch12: gcc10-pr96383.patch
-Patch13: gcc10-pr96939.patch
-Patch14: gcc10-pr96939-2.patch
-Patch15: gcc10-pr96939-3.patch
+Patch0: gcc11-hack.patch
+Patch1: gcc11-i386-libgomp.patch
+Patch2: gcc11-sparc-config-detection.patch
+Patch3: gcc11-libgomp-omp_h-multilib.patch
+Patch4: gcc11-libtool-no-rpath.patch
+Patch5: gcc11-isl-dl.patch
+Patch6: gcc11-libstdc++-docs.patch
+Patch7: gcc11-no-add-needed.patch
+Patch8: gcc11-foffload-default.patch
+Patch9: gcc11-Wno-format-security.patch
+Patch10: gcc11-rh1574936.patch
+Patch11: gcc11-d-shared-libphobos.patch
+Patch12: gcc11-plugins.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
@@ -293,7 +290,7 @@ Patch15: gcc10-pr96939-3.patch
%if %{build_go}
# Avoid stripping these libraries and binaries.
%global __os_install_post \
-chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.16.* \
+chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.17.* \
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 \
@@ -301,7 +298,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.16.* \
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.17.* \
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 \
@@ -312,11 +309,11 @@ chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
%endif
%description
-The gcc package contains the GNU Compiler Collection version 10.
+The gcc package contains the GNU Compiler Collection version 11.
You'll need this package in order to compile C code.
%package -n libgcc
-Summary: GCC version 10 shared support library
+Summary: GCC version 11 shared support library
Autoreq: false
%if !%{build_ada}
Obsoletes: libgnat < %{version}-%{release}
@@ -783,11 +780,7 @@ 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
+%patch12 -p0 -b .plugins~
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
@@ -1384,7 +1377,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.16.* libgo.so
+ln -sf ../../../libgo.so.17.* libgo.so
%endif
%if %{build_libquadmath}
ln -sf ../../../libquadmath.so.0.* libquadmath.so
@@ -1414,7 +1407,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.16.* libgo.so
+ln -sf ../../../../%{_lib}/libgo.so.17.* libgo.so
%endif
%if %{build_libquadmath}
ln -sf ../../../../%{_lib}/libquadmath.so.0.* libquadmath.so
@@ -1534,8 +1527,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.16.* | sed 's,^.*libg,libg,'`' )' > libgo.so
-echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.16.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libgo.so.17.* | sed 's,^.*libg,libg,'`' )' > libgo.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgo.so.17.* | sed 's,^.*libg,libg,'`' )' > 64/libgo.so
%endif
%if %{build_libquadmath}
rm -f libquadmath.so
@@ -1633,8 +1626,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.16.* | sed 's,^.*libg,libg,'`' )' > libgo.so
-echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.16.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libgo.so.17.* | sed 's,^.*libg,libg,'`' )' > libgo.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgo.so.17.* | sed 's,^.*libg,libg,'`' )' > 32/libgo.so
%endif
%if %{build_libquadmath}
rm -f libquadmath.so
@@ -1821,7 +1814,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.16.*
+chmod 644 %{buildroot}%{_prefix}/%{_lib}/libgo.so.17.*
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
@@ -2186,6 +2179,14 @@ end
%{_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
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/serializeintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tsxldtrkintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxtileintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxint8intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxbf16intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86gprintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/uintrintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/hresetintrin.h
%endif
%ifarch ia64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia64intrin.h
@@ -2946,7 +2947,7 @@ end
%doc rpm.doc/go/*
%files -n libgo
-%attr(755,root,root) %{_prefix}/%{_lib}/libgo.so.16*
+%attr(755,root,root) %{_prefix}/%{_lib}/libgo.so.17*
%doc rpm.doc/libgo/*
%files -n libgo-devel
@@ -3054,416 +3055,5 @@ end
%endif
%changelog
-* Fri Oct 16 2020 Jakub Jelinek 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 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 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 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 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 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 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
-- add symlink to liblto_plugin.so in /usr/lib/bfd-plugins
-
-* Thu May 7 2020 Jakub Jelinek 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 10.0.1-0.14
-- use libgcc_s.so linker script also on aarch64 and riscv64 (#1830472)
-
-* Fri May 1 2020 Jakub Jelinek 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 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 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 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 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 10.0.1-0.8
-- update from trunk
- - PRs analyzer/93212, analyzer/93288, analyzer/93350, analyzer/93356,
- analyzer/93373, analyzer/93374, analyzer/93379, analyzer/93405,
- analyzer/93438, analyzer/93457, analyzer/93543, analyzer/93544,
- analyzer/93546, analyzer/93547, analyzer/93647, analyzer/93649,
- analyzer/93657, analyzer/93659, analyzer/93669, c++/14179, c++/61414,
- c++/66477, c++/69448, c++/80471, c++/86216, c++/86917, c++/88256,
- c++/88819, c++/89404, c++/90691, c++/90951, c++/91953, c++/92003,
- c++/92517, c++/92556, c++/92583, c++/92593, c++/92654, c++/92717,
- c++/92947, c++/93140, c++/93458, c++/93530, c++/93549, c++/93551,
- c++/93557, c++/93559, c++/93597, c++/93618, c++/93633, c++/93643,
- c++/93650, c++/93675, c++/93684, c++/93710, c++/93713, c/87488,
- c/88660, c/93576, c/93640, fortran/83113, fortran/92305,
- fortran/93427, fortran/93462, fortran/93541, gcov-profile/91971,
- gcov-profile/93466, ipa/93203, libgcc/85334, libgomp/93481,
- libgomp/93515, libstdc++/79193, libstdc++/88999, libstdc++/92906,
- libstdc++/93562, lto/93489, middle-end/90648, middle-end/93519,
- middle-end/93555, middle-end/93646, middle-end/93663, other/93168,
- other/93641, preprocessor/92319, preprocessor/93545,
- rtl-optimization/91333, rtl-optimization/91838,
- rtl-optimization/93561, rtl-optimization/93565, target/58218,
- target/65782, target/85667, target/87763, target/91052, target/91816,
- target/91913, target/91927, target/92190, target/93122, target/93136,
- target/93300, target/93372, target/93532, target/93533, target/93548,
- target/93568, target/93569, target/93594, target/93611, target/93615,
- target/93637, target/93656, target/93670, target/93673, target/93696,
- target/93704, target/93724, testsuite/92177, testsuite/93697,
- testsuite/93717, tree-optimization/91123, tree-optimization/92819,
- tree-optimization/93516, tree-optimization/93538,
- tree-optimization/93582, tree-optimization/93661,
- tree-optimization/93662, tree-optimization/93683,
- tree-optimization/93744
-
-* Thu Jan 30 2020 Jakub Jelinek 10.0.1-0.7
-- update from trunk
- - PRs analyzer/93276, analyzer/93291, analyzer/93349, analyzer/93450,
- analyzer/93451, bootstrap/93409, c++/60503, c++/82521, c++/88092,
- c++/89357, c++/89640, c++/90333, c++/90338, c++/90546, c++/90731,
- c++/90966, c++/90992, c++/91118, c++/91754, c++/91826, c++/92440,
- c++/92601, c++/92948, c++/93442, c++/93443, c++/93477, driver/91220,
- fortran/85781, fortran/87103, fortran/92123, fortran/93025,
- fortran/93461, fortran/93463, fortran/93464, fortran/93473,
- gcov-profile/93403, libstdc++/92895, libstdc++/93325, libstdc++/93426,
- libstdc++/93470, libstdc++/93478, libstdc++/93479, middle-end/92323,
- middle-end/93437, middle-end/93505, rtl-optimization/87763,
- rtl-optimization/92989, rtl-optimization/93170,
- rtl-optimization/93272, sanitizer/93436, target/91399, target/91461,
- target/91824, target/92822, target/93221, target/93274, target/93418,
- target/93494, testsuite/71727, testsuite/91171, testsuite/93393,
- testsuite/93460, tree-optimization/89689, tree-optimization/92706,
- tree-optimization/92822, tree-optimization/93397,
- tree-optimization/93428, tree-optimization/93434,
- tree-optimization/93439, tree-optimization/93454
- - LTO fix for *.localalias aliases (#1795575, PR lto/93384)
- - __has_include{,_next} fix (#1795633, PR preprocessor/93452)
-
-* Sun Jan 26 2020 Jakub Jelinek 10.0.1-0.6
-- update from trunk
- - PRs analyzer/93367, c++/90997, c++/92852, c++/93279, c++/93299, c++/93377,
- c++/93400, c++/93414, inline-asm/93027, ipa/93166, target/13721,
- target/92269, target/93395, target/93412, target/93430,
- translation/90162, tree-optimization/92788
-- temporarily disable broken strcmp optimization (PR tree-optimization/92765)
-- riscv64 tweaks from David Abdurachmanov (#1794343)
-
-* Thu Jan 23 2020 Jakub Jelinek 10.0.1-0.5
-- update from trunk
- - PRs analyzer/93307, analyzer/93316, analyzer/93352, analyzer/93375,
- analyzer/93378, analyzer/93382, c++/40752, c++/60855, c++/90732,
- c++/91476, c++/92804, c++/92907, c++/93324, c++/93331, c++/93345,
- c/84919, c/93348, fortran/93329, ipa/93315, libstdc++/91947,
- rtl-optimization/93124, rtl-optimization/93402, target/91298,
- target/92424, target/9311, target/93119, target/93333, target/93335,
- target/93341, target/93346, target/93376, testsuite/93391,
- tree-optimization/92924, tree-optimization/93381
- - fix ICE in nothrow_spec_p (#1794094, c++/93345)
-
-* Tue Jan 21 2020 Jakub Jelinek 10.0.1-0.4
-- update from trunk
- - PRs c++/33799, c++/92536, debug/92763, fortran/44960, fortran/93309,
- lto/93318, middle-end/93194, middle-end/93242, preprocessor/80005,
- target/93073, target/93304, target/93319, testsuite/92829,
- tree-opt/93321, tree-optimization/92328, tree-optimization/93094,
- tree-optimization/93199
-- add arm_bf16.h and arm_sve.h to arm and arm/aarch64 (#1793471)
-
-* Sat Jan 18 2020 Jakub Jelinek 10.0.1-0.3
+* Mon Oct 19 2020 Jakub Jelinek 11.0.0-0.2
- new package
diff --git a/gcc10-Wno-format-security.patch b/gcc10-Wno-format-security.patch
deleted file mode 100644
index 974ea44..0000000
--- a/gcc10-Wno-format-security.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-2017-02-25 Jakub Jelinek
-
- * configure.ac: When adding -Wno-format, also add -Wno-format-security.
- * configure: Regenerated.
-
---- gcc/configure.ac.jj 2017-02-13 12:20:53.000000000 +0100
-+++ gcc/configure.ac 2017-02-25 12:42:32.859175403 +0100
-@@ -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],
-- [wf_opt=-Wno-format],[wf_opt=])
-+ [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 -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
- fi
-
- if test $enable_build_format_warnings = no; then :
-- wf_opt=-Wno-format
-+ wf_opt="-Wno-format -Wno-format-security"
- else
- wf_opt=
- fi
diff --git a/gcc10-d-shared-libphobos.patch b/gcc10-d-shared-libphobos.patch
deleted file mode 100644
index 6384bbb..0000000
--- a/gcc10-d-shared-libphobos.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-2019-01-17 Jakub Jelinek
-
- * d-spec.cc (lang_specific_driver): Make -shared-libphobos
- the default rather than -static-libphobos.
-
---- 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
-@@ -408,9 +408,9 @@ lang_specific_driver (cl_decoded_option
- /* Add `-lgphobos' if we haven't already done so. */
- if (phobos_library != PHOBOS_NOLINK)
- {
-- /* Default to static linking. */
-- if (phobos_library != PHOBOS_DYNAMIC)
-- phobos_library = PHOBOS_STATIC;
-+ /* Default to shared linking. */
-+ if (phobos_library != PHOBOS_STATIC)
-+ phobos_library = PHOBOS_DYNAMIC;
-
- #ifdef HAVE_LD_STATIC_DYNAMIC
- if (phobos_library == PHOBOS_STATIC && !static_link)
diff --git a/gcc10-foffload-default.patch b/gcc10-foffload-default.patch
deleted file mode 100644
index 4a87e9f..0000000
--- a/gcc10-foffload-default.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-2019-01-17 Jakub Jelinek
-
- * gcc.c (offload_targets_default): New variable.
- (process_command): Set it if -foffload is defaulted.
- (driver::maybe_putenv_OFFLOAD_TARGETS): Add OFFLOAD_TARGET_DEFAULT=1
- into environment if -foffload has been defaulted.
- * lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define.
- (compile_offload_image): If OFFLOAD_TARGET_DEFAULT
- is in the environment, don't fail if corresponding mkoffload
- can't be found.
- (compile_images_for_offload_targets): Likewise. Free and clear
- offload_names if no valid offload is found.
-libgomp/
- * target.c (gomp_load_plugin_for_device): If a plugin can't be
- dlopened, assume it has no devices silently.
-
---- gcc/gcc.c.jj 2017-01-17 10:28:40.000000000 +0100
-+++ gcc/gcc.c 2017-01-20 16:26:29.649962902 +0100
-@@ -290,6 +290,10 @@ static const char *spec_host_machine = D
-
- static char *offload_targets = NULL;
-
-+/* Set to true if -foffload has not been used and offload_targets
-+ is set to the configured in default. */
-+static bool offload_targets_default;
-+
- /* Nonzero if cross-compiling.
- When -b is used, the value comes from the `specs' file. */
-
-@@ -4457,7 +4461,10 @@ process_command (unsigned int decoded_op
- /* If the user didn't specify any, default to all configured offload
- targets. */
- if (ENABLE_OFFLOADING && offload_targets == NULL)
-- handle_foffload_option (OFFLOAD_TARGETS);
-+ {
-+ handle_foffload_option (OFFLOAD_TARGETS);
-+ offload_targets_default = true;
-+ }
-
- if (output_file
- && strcmp (output_file, "-") != 0
-@@ -7693,6 +7700,8 @@ driver::maybe_putenv_OFFLOAD_TARGETS ()
- obstack_grow (&collect_obstack, offload_targets,
- strlen (offload_targets) + 1);
- xputenv (XOBFINISH (&collect_obstack, char *));
-+ if (offload_targets_default)
-+ xputenv ("OFFLOAD_TARGET_DEFAULT=1");
- }
-
- free (offload_targets);
---- gcc/lto-wrapper.c.jj 2017-01-01 12:45:34.000000000 +0100
-+++ gcc/lto-wrapper.c 2017-01-20 16:34:18.294016997 +0100
-@@ -52,6 +52,7 @@ along with GCC; see the file COPYING3.
- /* Environment variable, used for passing the names of offload targets from GCC
- driver to lto-wrapper. */
- #define OFFLOAD_TARGET_NAMES_ENV "OFFLOAD_TARGET_NAMES"
-+#define OFFLOAD_TARGET_DEFAULT_ENV "OFFLOAD_TARGET_DEFAULT"
-
- enum lto_mode_d {
- LTO_MODE_NONE, /* Not doing LTO. */
-@@ -822,6 +823,12 @@ compile_offload_image (const char *targe
- break;
- }
-
-+ if (!compiler && getenv (OFFLOAD_TARGET_DEFAULT_ENV))
-+ {
-+ free_array_of_ptrs ((void **) paths, n_paths);
-+ return NULL;
-+ }
-+
- if (!compiler)
- fatal_error (input_location,
- "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;
-+ bool hsa_seen = false;
- const char *compiler_path = getenv ("COMPILER_PATH");
- if (!compiler_path)
- goto out;
-@@ -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)
-- continue;
-+ {
-+ hsa_seen = true;
-+ continue;
-+ }
-
- offload_names[next_name_entry]
- = compile_offload_image (names[i], compiler_path, in_argc, in_argv,
- compiler_opts, compiler_opt_count,
- linker_opts, linker_opt_count);
- if (!offload_names[next_name_entry])
-- fatal_error (input_location,
-- "problem with building target image for %s", names[i]);
-+ continue;
- next_name_entry++;
- }
-
-+ if (next_name_entry == 0 && !hsa_seen)
-+ {
-+ free (offload_names);
-+ offload_names = NULL;
-+ }
-+
- out:
- free_array_of_ptrs ((void **) names, num_targets);
- }
---- libgomp/target.c.jj 2017-01-01 12:45:52.000000000 +0100
-+++ libgomp/target.c 2017-01-20 20:12:13.756710875 +0100
-@@ -2356,7 +2356,7 @@ gomp_load_plugin_for_device (struct gomp
-
- void *plugin_handle = dlopen (plugin_name, RTLD_LAZY);
- if (!plugin_handle)
-- goto dl_fail;
-+ return 0;
-
- /* Check if all required functions are available in the plugin and store
- their handlers. None of the symbols can legitimately be NULL,
diff --git a/gcc10-hack.patch b/gcc10-hack.patch
deleted file mode 100644
index ba80c24..0000000
--- a/gcc10-hack.patch
+++ /dev/null
@@ -1,126 +0,0 @@
---- libada/Makefile.in.jj 2019-01-09 13:01:18.015608205 +0100
-+++ libada/Makefile.in 2019-01-11 18:16:23.441726931 +0100
-@@ -71,18 +71,40 @@ version := $(shell @get_gcc_base_ver@ $(
- libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR)
- ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR))
-
-+DEFAULTMULTIFLAGS :=
-+ifeq ($(MULTISUBDIR),)
-+targ:=$(subst -, ,$(target))
-+arch:=$(word 1,$(targ))
-+ifeq ($(words $(targ)),2)
-+osys:=$(word 2,$(targ))
-+else
-+osys:=$(word 3,$(targ))
-+endif
-+ifeq ($(strip $(filter-out i%86 x86_64 powerpc% ppc% s390% sparc% linux%, $(arch) $(osys))),)
-+ifeq ($(shell $(CC) $(CFLAGS) -print-multi-os-directory),../lib64)
-+DEFAULTMULTIFLAGS := -m64
-+else
-+ifeq ($(strip $(filter-out s390%, $(arch))),)
-+DEFAULTMULTIFLAGS := -m31
-+else
-+DEFAULTMULTIFLAGS := -m32
-+endif
-+endif
-+endif
-+endif
-+
- # exeext should not be used because it's the *host* exeext. We're building
- # a *target* library, aren't we?!? Likewise for CC. Still, provide bogus
- # definitions just in case something slips through the safety net provided
- # by recursive make invocations in gcc/ada/Makefile.in
- LIBADA_FLAGS_TO_PASS = \
- "MAKEOVERRIDES=" \
-- "LDFLAGS=$(LDFLAGS)" \
-+ "LDFLAGS=$(LDFLAGS) $(DEFAULTMULTIFLAGS)" \
- "LN_S=$(LN_S)" \
- "SHELL=$(SHELL)" \
-- "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \
-- "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \
-- "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \
-+ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \
-+ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \
-+ "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG)" \
- "THREAD_KIND=$(THREAD_KIND)" \
- "TRACE=$(TRACE)" \
-@@ -93,7 +115,7 @@ LIBADA_FLAGS_TO_PASS = \
- "exeext=.exeext.should.not.be.used " \
- 'CC=the.host.compiler.should.not.be.needed' \
- "GCC_FOR_TARGET=$(CC)" \
-- "CFLAGS=$(CFLAGS)"
-+ "CFLAGS=$(CFLAGS) $(DEFAULTMULTIFLAGS)"
-
- .PHONY: libada gnatlib gnatlib-shared gnatlib-sjlj gnatlib-zcx osconstool
-
---- config-ml.in.jj 2019-01-09 12:50:16.646501448 +0100
-+++ config-ml.in 2019-01-11 18:16:23.442726914 +0100
-@@ -511,6 +511,8 @@ multi-do:
- ADAFLAGS="$(ADAFLAGS) $${flags}" \
- prefix="$(prefix)" \
- exec_prefix="$(exec_prefix)" \
-+ mandir="$(mandir)" \
-+ infodir="$(infodir)" \
- GOCFLAGS="$(GOCFLAGS) $${flags}" \
- GDCFLAGS="$(GDCFLAGS) $${flags}" \
- CXXFLAGS="$(CXXFLAGS) $${flags}" \
---- libcpp/macro.c.jj 2019-01-09 13:01:21.420552123 +0100
-+++ libcpp/macro.c 2019-01-11 18:18:17.736876285 +0100
-@@ -3256,8 +3256,6 @@ static cpp_macro *
- create_iso_definition (cpp_reader *pfile)
- {
- bool following_paste_op = false;
-- const char *paste_op_error_msg =
-- N_("'##' cannot appear at either end of a macro expansion");
- unsigned int num_extra_tokens = 0;
- unsigned nparms = 0;
- cpp_hashnode **params = NULL;
-@@ -3382,7 +3380,9 @@ create_iso_definition (cpp_reader *pfile
- function-like macros, but not at the end. */
- if (following_paste_op)
- {
-- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
-+ cpp_error (pfile, CPP_DL_ERROR,
-+ "'##' cannot appear at either end of a macro "
-+ "expansion");
- goto out;
- }
- if (!vaopt_tracker.completed ())
-@@ -3397,7 +3397,9 @@ create_iso_definition (cpp_reader *pfile
- function-like macros, but not at the beginning. */
- if (macro->count == 1)
- {
-- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
-+ cpp_error (pfile, CPP_DL_ERROR,
-+ "'##' cannot appear at either end of a macro "
-+ "expansion");
- goto out;
- }
-
---- libcpp/expr.c.jj 2019-01-09 13:01:22.415535734 +0100
-+++ libcpp/expr.c 2019-01-11 18:16:23.444726882 +0100
-@@ -788,16 +788,17 @@ cpp_classify_number (cpp_reader *pfile,
- if ((result & CPP_N_WIDTH) == CPP_N_LARGE
- && CPP_OPTION (pfile, cpp_warn_long_long))
- {
-- const char *message = CPP_OPTION (pfile, cplusplus)
-- ? N_("use of C++11 long long integer constant")
-- : N_("use of C99 long long integer constant");
--
- if (CPP_OPTION (pfile, c99))
- cpp_warning_with_line (pfile, CPP_W_LONG_LONG, virtual_location,
-- 0, message);
-+ 0, CPP_OPTION (pfile, cplusplus)
-+ ? N_("use of C++11 long long integer constant")
-+ : N_("use of C99 long long integer constant"));
- else
- cpp_pedwarning_with_line (pfile, CPP_W_LONG_LONG,
-- virtual_location, 0, message);
-+ virtual_location, 0,
-+ CPP_OPTION (pfile, cplusplus)
-+ ? N_("use of C++11 long long integer constant")
-+ : N_("use of C99 long long integer constant"));
- }
-
- result |= CPP_N_INTEGER;
diff --git a/gcc10-i386-libgomp.patch b/gcc10-i386-libgomp.patch
deleted file mode 100644
index 520561e..0000000
--- a/gcc10-i386-libgomp.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libgomp/configure.tgt.jj 2008-01-10 20:53:48.000000000 +0100
-+++ libgomp/configure.tgt 2008-03-27 12:44:51.000000000 +0100
-@@ -67,7 +67,7 @@ if test $enable_linux_futex = yes; then
- ;;
- *)
- if test -z "$with_arch"; then
-- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
-+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
- fi
- esac
- ;;
diff --git a/gcc10-isl-dl.patch b/gcc10-isl-dl.patch
deleted file mode 100644
index c681895..0000000
--- a/gcc10-isl-dl.patch
+++ /dev/null
@@ -1,715 +0,0 @@
---- gcc/Makefile.in.jj 2015-06-06 10:00:25.000000000 +0200
-+++ gcc/Makefile.in 2015-11-04 14:56:02.643536437 +0100
-@@ -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) $(ZSTD_LIB)
- # Any system libraries needed just for GNAT.
- SYSLIBS = @GNAT_LIBEXC@
-@@ -2302,6 +2302,15 @@ $(out_object_file): $(out_file)
- $(common_out_object_file): $(common_out_file)
- $(COMPILE) $<
- $(POSTCOMPILE)
-+
-+graphite%.o : \
-+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
-+graphite.o : \
-+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
-+graphite%.o : \
-+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
-+graphite.o : \
-+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
- #
- # Generate header and source files from the machine description,
- # and compile them.
---- gcc/graphite.h.jj 2016-01-27 12:44:06.000000000 +0100
-+++ gcc/graphite.h 2016-01-27 13:26:38.309876856 +0100
-@@ -39,6 +39,590 @@ along with GCC; see the file COPYING3.
- #include
- #include
- #include
-+#include
-+#include
-+
-+#define DYNSYMS \
-+ DYNSYM (isl_aff_add_coefficient_si); \
-+ DYNSYM (isl_aff_free); \
-+ DYNSYM (isl_aff_get_space); \
-+ DYNSYM (isl_aff_set_coefficient_si); \
-+ DYNSYM (isl_aff_set_constant_si); \
-+ DYNSYM (isl_aff_zero_on_domain); \
-+ DYNSYM (isl_band_free); \
-+ DYNSYM (isl_band_get_children); \
-+ DYNSYM (isl_band_get_partial_schedule); \
-+ DYNSYM (isl_band_has_children); \
-+ DYNSYM (isl_band_list_free); \
-+ DYNSYM (isl_band_list_get_band); \
-+ DYNSYM (isl_band_list_get_ctx); \
-+ DYNSYM (isl_band_list_n_band); \
-+ DYNSYM (isl_band_n_member); \
-+ DYNSYM (isl_basic_map_add_constraint); \
-+ DYNSYM (isl_basic_map_project_out); \
-+ DYNSYM (isl_basic_map_universe); \
-+ DYNSYM (isl_constraint_set_coefficient_si); \
-+ DYNSYM (isl_constraint_set_constant_si); \
-+ DYNSYM (isl_ctx_alloc); \
-+ DYNSYM (isl_ctx_free); \
-+ DYNSYM (isl_equality_alloc); \
-+ DYNSYM (isl_id_alloc); \
-+ DYNSYM (isl_id_copy); \
-+ DYNSYM (isl_id_free); \
-+ DYNSYM (isl_inequality_alloc); \
-+ DYNSYM (isl_local_space_copy); \
-+ DYNSYM (isl_local_space_free); \
-+ DYNSYM (isl_local_space_from_space); \
-+ DYNSYM (isl_local_space_range); \
-+ DYNSYM (isl_map_add_constraint); \
-+ DYNSYM (isl_map_add_dims); \
-+ DYNSYM (isl_map_align_params); \
-+ DYNSYM (isl_map_apply_range); \
-+ DYNSYM (isl_map_copy); \
-+ DYNSYM (isl_map_dim); \
-+ DYNSYM (isl_map_dump); \
-+ DYNSYM (isl_map_equate); \
-+ DYNSYM (isl_map_fix_si); \
-+ DYNSYM (isl_map_flat_product); \
-+ DYNSYM (isl_map_flat_range_product); \
-+ DYNSYM (isl_map_free); \
-+ DYNSYM (isl_map_from_basic_map); \
-+ DYNSYM (isl_map_from_pw_aff); \
-+ DYNSYM (isl_map_from_union_map); \
-+ DYNSYM (isl_map_get_ctx); \
-+ DYNSYM (isl_map_get_space); \
-+ DYNSYM (isl_map_get_tuple_id); \
-+ DYNSYM (isl_map_insert_dims); \
-+ DYNSYM (isl_map_intersect); \
-+ DYNSYM (isl_map_intersect_domain); \
-+ DYNSYM (isl_map_intersect_range); \
-+ DYNSYM (isl_map_is_empty); \
-+ DYNSYM (isl_map_lex_ge); \
-+ DYNSYM (isl_map_lex_le); \
-+ DYNSYM (isl_map_n_out); \
-+ DYNSYM (isl_map_range); \
-+ DYNSYM (isl_map_set_tuple_id); \
-+ DYNSYM (isl_map_universe); \
-+ DYNSYM (isl_options_set_on_error); \
-+ DYNSYM (isl_options_set_schedule_serialize_sccs); \
-+ DYNSYM (isl_printer_set_yaml_style); \
-+ DYNSYM (isl_options_set_schedule_max_constant_term); \
-+ DYNSYM (isl_options_set_schedule_maximize_band_depth); \
-+ DYNSYM (isl_printer_free); \
-+ DYNSYM (isl_printer_print_aff); \
-+ DYNSYM (isl_printer_print_constraint); \
-+ DYNSYM (isl_printer_print_map); \
-+ DYNSYM (isl_printer_print_set); \
-+ DYNSYM (isl_printer_to_file); \
-+ DYNSYM (isl_pw_aff_add); \
-+ DYNSYM (isl_pw_aff_alloc); \
-+ DYNSYM (isl_pw_aff_copy); \
-+ DYNSYM (isl_pw_aff_eq_set); \
-+ DYNSYM (isl_pw_aff_free); \
-+ DYNSYM (isl_pw_aff_from_aff); \
-+ DYNSYM (isl_pw_aff_ge_set); \
-+ DYNSYM (isl_pw_aff_gt_set); \
-+ DYNSYM (isl_pw_aff_is_cst); \
-+ DYNSYM (isl_pw_aff_le_set); \
-+ DYNSYM (isl_pw_aff_lt_set); \
-+ DYNSYM (isl_pw_aff_mul); \
-+ DYNSYM (isl_pw_aff_ne_set); \
-+ DYNSYM (isl_pw_aff_nonneg_set); \
-+ DYNSYM (isl_pw_aff_set_tuple_id); \
-+ DYNSYM (isl_pw_aff_sub); \
-+ DYNSYM (isl_pw_aff_zero_set); \
-+ DYNSYM (isl_schedule_free); \
-+ DYNSYM (isl_schedule_get_band_forest); \
-+ DYNSYM (isl_set_add_constraint); \
-+ DYNSYM (isl_set_add_dims); \
-+ DYNSYM (isl_set_apply); \
-+ DYNSYM (isl_set_coalesce); \
-+ DYNSYM (isl_set_copy); \
-+ DYNSYM (isl_set_dim); \
-+ DYNSYM (isl_set_fix_si); \
-+ DYNSYM (isl_set_free); \
-+ DYNSYM (isl_set_get_space); \
-+ DYNSYM (isl_set_get_tuple_id); \
-+ DYNSYM (isl_set_intersect); \
-+ DYNSYM (isl_set_is_empty); \
-+ DYNSYM (isl_set_n_dim); \
-+ DYNSYM (isl_set_nat_universe); \
-+ DYNSYM (isl_set_project_out); \
-+ DYNSYM (isl_set_set_tuple_id); \
-+ DYNSYM (isl_set_universe); \
-+ DYNSYM (isl_space_add_dims); \
-+ DYNSYM (isl_space_alloc); \
-+ DYNSYM (isl_space_copy); \
-+ DYNSYM (isl_space_dim); \
-+ DYNSYM (isl_space_domain); \
-+ DYNSYM (isl_space_find_dim_by_id); \
-+ DYNSYM (isl_space_free); \
-+ DYNSYM (isl_space_from_domain); \
-+ DYNSYM (isl_space_get_tuple_id); \
-+ DYNSYM (isl_space_params_alloc); \
-+ DYNSYM (isl_space_range); \
-+ DYNSYM (isl_space_set_alloc); \
-+ DYNSYM (isl_space_set_dim_id); \
-+ DYNSYM (isl_space_set_tuple_id); \
-+ DYNSYM (isl_union_map_add_map); \
-+ DYNSYM (isl_union_map_align_params); \
-+ DYNSYM (isl_union_map_apply_domain); \
-+ DYNSYM (isl_union_map_apply_range); \
-+ DYNSYM (isl_union_map_compute_flow); \
-+ DYNSYM (isl_union_map_copy); \
-+ DYNSYM (isl_union_map_empty); \
-+ DYNSYM (isl_union_map_flat_range_product); \
-+ DYNSYM (isl_union_map_foreach_map); \
-+ DYNSYM (isl_union_map_free); \
-+ DYNSYM (isl_union_map_from_map); \
-+ DYNSYM (isl_union_map_get_ctx); \
-+ DYNSYM (isl_union_map_get_space); \
-+ DYNSYM (isl_union_map_gist_domain); \
-+ DYNSYM (isl_union_map_gist_range); \
-+ DYNSYM (isl_union_map_intersect_domain); \
-+ DYNSYM (isl_union_map_is_empty); \
-+ DYNSYM (isl_union_map_subtract); \
-+ DYNSYM (isl_union_map_union); \
-+ DYNSYM (isl_union_set_add_set); \
-+ DYNSYM (isl_union_set_compute_schedule); \
-+ DYNSYM (isl_union_set_copy); \
-+ DYNSYM (isl_union_set_empty); \
-+ DYNSYM (isl_union_set_from_set); \
-+ DYNSYM (isl_aff_add_constant_val); \
-+ DYNSYM (isl_aff_get_coefficient_val); \
-+ DYNSYM (isl_aff_get_ctx); \
-+ DYNSYM (isl_aff_mod_val); \
-+ DYNSYM (isl_ast_build_ast_from_schedule); \
-+ DYNSYM (isl_ast_build_free); \
-+ DYNSYM (isl_ast_build_from_context); \
-+ DYNSYM (isl_ast_build_get_ctx); \
-+ DYNSYM (isl_ast_build_get_schedule); \
-+ DYNSYM (isl_ast_build_get_schedule_space); \
-+ DYNSYM (isl_ast_build_set_before_each_for); \
-+ DYNSYM (isl_ast_build_set_options); \
-+ DYNSYM (isl_ast_expr_free); \
-+ DYNSYM (isl_ast_expr_from_val); \
-+ DYNSYM (isl_ast_expr_get_ctx); \
-+ DYNSYM (isl_ast_expr_get_id); \
-+ DYNSYM (isl_ast_expr_get_op_arg); \
-+ DYNSYM (isl_ast_expr_get_op_n_arg); \
-+ DYNSYM (isl_ast_expr_get_op_type); \
-+ DYNSYM (isl_ast_expr_get_type); \
-+ DYNSYM (isl_ast_expr_get_val); \
-+ DYNSYM (isl_ast_expr_sub); \
-+ DYNSYM (isl_ast_node_block_get_children); \
-+ DYNSYM (isl_ast_node_for_get_body); \
-+ DYNSYM (isl_ast_node_for_get_cond); \
-+ DYNSYM (isl_ast_node_for_get_inc); \
-+ DYNSYM (isl_ast_node_for_get_init); \
-+ DYNSYM (isl_ast_node_for_get_iterator); \
-+ DYNSYM (isl_ast_node_free); \
-+ DYNSYM (isl_ast_node_get_annotation); \
-+ DYNSYM (isl_ast_node_get_type); \
-+ DYNSYM (isl_ast_node_if_get_cond); \
-+ DYNSYM (isl_ast_node_if_get_else); \
-+ DYNSYM (isl_ast_node_if_get_then); \
-+ DYNSYM (isl_ast_node_list_free); \
-+ DYNSYM (isl_ast_node_list_get_ast_node); \
-+ DYNSYM (isl_ast_node_list_n_ast_node); \
-+ DYNSYM (isl_ast_node_user_get_expr); \
-+ DYNSYM (isl_constraint_set_coefficient_val); \
-+ DYNSYM (isl_constraint_set_constant_val); \
-+ DYNSYM (isl_id_get_user); \
-+ DYNSYM (isl_local_space_get_ctx); \
-+ DYNSYM (isl_map_fix_val); \
-+ DYNSYM (isl_options_set_ast_build_atomic_upper_bound); \
-+ DYNSYM (isl_printer_print_ast_node); \
-+ DYNSYM (isl_printer_print_str); \
-+ DYNSYM (isl_printer_set_output_format); \
-+ DYNSYM (isl_pw_aff_mod_val); \
-+ DYNSYM (isl_schedule_constraints_compute_schedule); \
-+ DYNSYM (isl_schedule_constraints_on_domain); \
-+ DYNSYM (isl_schedule_constraints_set_coincidence); \
-+ DYNSYM (isl_schedule_constraints_set_proximity); \
-+ DYNSYM (isl_schedule_constraints_set_validity); \
-+ DYNSYM (isl_set_get_dim_id); \
-+ DYNSYM (isl_set_max_val); \
-+ DYNSYM (isl_set_min_val); \
-+ DYNSYM (isl_set_params); \
-+ DYNSYM (isl_space_align_params); \
-+ DYNSYM (isl_space_map_from_domain_and_range); \
-+ DYNSYM (isl_space_set_tuple_name); \
-+ DYNSYM (isl_space_wrap); \
-+ DYNSYM (isl_union_map_from_domain_and_range); \
-+ DYNSYM (isl_union_map_range); \
-+ DYNSYM (isl_union_set_union); \
-+ DYNSYM (isl_union_set_universe); \
-+ DYNSYM (isl_val_2exp); \
-+ DYNSYM (isl_val_add_ui); \
-+ DYNSYM (isl_val_copy); \
-+ DYNSYM (isl_val_free); \
-+ DYNSYM (isl_val_int_from_si); \
-+ DYNSYM (isl_val_int_from_ui); \
-+ DYNSYM (isl_val_mul); \
-+ DYNSYM (isl_val_neg); \
-+ DYNSYM (isl_val_sub); \
-+ DYNSYM (isl_printer_print_union_map); \
-+ DYNSYM (isl_pw_aff_get_ctx); \
-+ DYNSYM (isl_val_is_int); \
-+ DYNSYM (isl_ctx_get_max_operations); \
-+ DYNSYM (isl_ctx_set_max_operations); \
-+ DYNSYM (isl_ctx_last_error); \
-+ DYNSYM (isl_ctx_reset_operations); \
-+ DYNSYM (isl_map_coalesce); \
-+ DYNSYM (isl_printer_print_schedule); \
-+ DYNSYM (isl_set_set_dim_id); \
-+ DYNSYM (isl_union_map_coalesce); \
-+ DYNSYM (isl_multi_val_set_val); \
-+ DYNSYM (isl_multi_val_zero); \
-+ DYNSYM (isl_options_set_schedule_max_coefficient); \
-+ DYNSYM (isl_options_set_tile_scale_tile_loops); \
-+ DYNSYM (isl_schedule_copy); \
-+ DYNSYM (isl_schedule_get_map); \
-+ DYNSYM (isl_schedule_map_schedule_node_bottom_up); \
-+ DYNSYM (isl_schedule_node_band_get_permutable); \
-+ DYNSYM (isl_schedule_node_band_get_space); \
-+ DYNSYM (isl_schedule_node_band_tile); \
-+ DYNSYM (isl_schedule_node_child); \
-+ DYNSYM (isl_schedule_node_free); \
-+ DYNSYM (isl_schedule_node_get_child); \
-+ DYNSYM (isl_schedule_node_get_ctx); \
-+ DYNSYM (isl_schedule_node_get_type); \
-+ DYNSYM (isl_schedule_node_n_children); \
-+ DYNSYM (isl_union_map_is_equal); \
-+ DYNSYM (isl_union_access_info_compute_flow); \
-+ DYNSYM (isl_union_access_info_from_sink); \
-+ DYNSYM (isl_union_access_info_set_may_source); \
-+ DYNSYM (isl_union_access_info_set_must_source); \
-+ DYNSYM (isl_union_access_info_set_schedule); \
-+ DYNSYM (isl_union_flow_free); \
-+ DYNSYM (isl_union_flow_get_may_dependence); \
-+ DYNSYM (isl_union_flow_get_must_dependence); \
-+ DYNSYM (isl_aff_var_on_domain); \
-+ DYNSYM (isl_multi_aff_from_aff); \
-+ DYNSYM (isl_schedule_get_ctx); \
-+ DYNSYM (isl_multi_aff_set_tuple_id); \
-+ DYNSYM (isl_multi_aff_dim); \
-+ DYNSYM (isl_schedule_get_domain); \
-+ DYNSYM (isl_union_set_is_empty); \
-+ DYNSYM (isl_union_set_get_space); \
-+ DYNSYM (isl_union_pw_multi_aff_empty); \
-+ DYNSYM (isl_union_set_foreach_set); \
-+ DYNSYM (isl_union_set_free); \
-+ DYNSYM (isl_multi_union_pw_aff_from_union_pw_multi_aff); \
-+ DYNSYM (isl_multi_union_pw_aff_apply_multi_aff); \
-+ DYNSYM (isl_schedule_insert_partial_schedule); \
-+ DYNSYM (isl_union_pw_multi_aff_free); \
-+ DYNSYM (isl_pw_multi_aff_project_out_map); \
-+ DYNSYM (isl_union_pw_multi_aff_add_pw_multi_aff); \
-+ DYNSYM (isl_schedule_from_domain); \
-+ DYNSYM (isl_schedule_sequence); \
-+ DYNSYM (isl_ast_build_node_from_schedule); \
-+ DYNSYM (isl_ast_node_mark_get_node); \
-+ DYNSYM (isl_schedule_node_band_member_get_ast_loop_type); \
-+ DYNSYM (isl_schedule_node_band_member_set_ast_loop_type); \
-+ DYNSYM (isl_val_n_abs_num_chunks); \
-+ DYNSYM (isl_val_get_abs_num_chunks); \
-+ DYNSYM (isl_val_int_from_chunks); \
-+ DYNSYM (isl_val_is_neg); \
-+ DYNSYM (isl_version); \
-+ DYNSYM (isl_options_get_on_error); \
-+ DYNSYM (isl_ctx_reset_error);
-+
-+extern struct isl_pointers_s__
-+{
-+ bool inited;
-+ void *h;
-+#define DYNSYM(x) __typeof (x) *p_##x
-+ DYNSYMS
-+#undef DYNSYM
-+} isl_pointers__;
-+
-+#define isl_aff_add_coefficient_si (*isl_pointers__.p_isl_aff_add_coefficient_si)
-+#define isl_aff_free (*isl_pointers__.p_isl_aff_free)
-+#define isl_aff_get_space (*isl_pointers__.p_isl_aff_get_space)
-+#define isl_aff_set_coefficient_si (*isl_pointers__.p_isl_aff_set_coefficient_si)
-+#define isl_aff_set_constant_si (*isl_pointers__.p_isl_aff_set_constant_si)
-+#define isl_aff_zero_on_domain (*isl_pointers__.p_isl_aff_zero_on_domain)
-+#define isl_band_free (*isl_pointers__.p_isl_band_free)
-+#define isl_band_get_children (*isl_pointers__.p_isl_band_get_children)
-+#define isl_band_get_partial_schedule (*isl_pointers__.p_isl_band_get_partial_schedule)
-+#define isl_band_has_children (*isl_pointers__.p_isl_band_has_children)
-+#define isl_band_list_free (*isl_pointers__.p_isl_band_list_free)
-+#define isl_band_list_get_band (*isl_pointers__.p_isl_band_list_get_band)
-+#define isl_band_list_get_ctx (*isl_pointers__.p_isl_band_list_get_ctx)
-+#define isl_band_list_n_band (*isl_pointers__.p_isl_band_list_n_band)
-+#define isl_band_n_member (*isl_pointers__.p_isl_band_n_member)
-+#define isl_basic_map_add_constraint (*isl_pointers__.p_isl_basic_map_add_constraint)
-+#define isl_basic_map_project_out (*isl_pointers__.p_isl_basic_map_project_out)
-+#define isl_basic_map_universe (*isl_pointers__.p_isl_basic_map_universe)
-+#define isl_constraint_set_coefficient_si (*isl_pointers__.p_isl_constraint_set_coefficient_si)
-+#define isl_constraint_set_constant_si (*isl_pointers__.p_isl_constraint_set_constant_si)
-+#define isl_ctx_alloc (*isl_pointers__.p_isl_ctx_alloc)
-+#define isl_ctx_free (*isl_pointers__.p_isl_ctx_free)
-+#define isl_equality_alloc (*isl_pointers__.p_isl_equality_alloc)
-+#define isl_id_alloc (*isl_pointers__.p_isl_id_alloc)
-+#define isl_id_copy (*isl_pointers__.p_isl_id_copy)
-+#define isl_id_free (*isl_pointers__.p_isl_id_free)
-+#define isl_inequality_alloc (*isl_pointers__.p_isl_inequality_alloc)
-+#define isl_local_space_copy (*isl_pointers__.p_isl_local_space_copy)
-+#define isl_local_space_free (*isl_pointers__.p_isl_local_space_free)
-+#define isl_local_space_from_space (*isl_pointers__.p_isl_local_space_from_space)
-+#define isl_local_space_range (*isl_pointers__.p_isl_local_space_range)
-+#define isl_map_add_constraint (*isl_pointers__.p_isl_map_add_constraint)
-+#define isl_map_add_dims (*isl_pointers__.p_isl_map_add_dims)
-+#define isl_map_align_params (*isl_pointers__.p_isl_map_align_params)
-+#define isl_map_apply_range (*isl_pointers__.p_isl_map_apply_range)
-+#define isl_map_copy (*isl_pointers__.p_isl_map_copy)
-+#define isl_map_dim (*isl_pointers__.p_isl_map_dim)
-+#define isl_map_dump (*isl_pointers__.p_isl_map_dump)
-+#define isl_map_equate (*isl_pointers__.p_isl_map_equate)
-+#define isl_map_fix_si (*isl_pointers__.p_isl_map_fix_si)
-+#define isl_map_flat_product (*isl_pointers__.p_isl_map_flat_product)
-+#define isl_map_flat_range_product (*isl_pointers__.p_isl_map_flat_range_product)
-+#define isl_map_free (*isl_pointers__.p_isl_map_free)
-+#define isl_map_from_basic_map (*isl_pointers__.p_isl_map_from_basic_map)
-+#define isl_map_from_pw_aff (*isl_pointers__.p_isl_map_from_pw_aff)
-+#define isl_map_from_union_map (*isl_pointers__.p_isl_map_from_union_map)
-+#define isl_map_get_ctx (*isl_pointers__.p_isl_map_get_ctx)
-+#define isl_map_get_space (*isl_pointers__.p_isl_map_get_space)
-+#define isl_map_get_tuple_id (*isl_pointers__.p_isl_map_get_tuple_id)
-+#define isl_map_insert_dims (*isl_pointers__.p_isl_map_insert_dims)
-+#define isl_map_intersect (*isl_pointers__.p_isl_map_intersect)
-+#define isl_map_intersect_domain (*isl_pointers__.p_isl_map_intersect_domain)
-+#define isl_map_intersect_range (*isl_pointers__.p_isl_map_intersect_range)
-+#define isl_map_is_empty (*isl_pointers__.p_isl_map_is_empty)
-+#define isl_map_lex_ge (*isl_pointers__.p_isl_map_lex_ge)
-+#define isl_map_lex_le (*isl_pointers__.p_isl_map_lex_le)
-+#define isl_map_n_out (*isl_pointers__.p_isl_map_n_out)
-+#define isl_map_range (*isl_pointers__.p_isl_map_range)
-+#define isl_map_set_tuple_id (*isl_pointers__.p_isl_map_set_tuple_id)
-+#define isl_map_universe (*isl_pointers__.p_isl_map_universe)
-+#define isl_options_set_on_error (*isl_pointers__.p_isl_options_set_on_error)
-+#define isl_options_set_schedule_serialize_sccs (*isl_pointers__.p_isl_options_set_schedule_serialize_sccs)
-+#define isl_printer_set_yaml_style (*isl_pointers__.p_isl_printer_set_yaml_style)
-+#define isl_options_set_schedule_max_constant_term (*isl_pointers__.p_isl_options_set_schedule_max_constant_term)
-+#define isl_options_set_schedule_maximize_band_depth (*isl_pointers__.p_isl_options_set_schedule_maximize_band_depth)
-+#define isl_printer_free (*isl_pointers__.p_isl_printer_free)
-+#define isl_printer_print_aff (*isl_pointers__.p_isl_printer_print_aff)
-+#define isl_printer_print_constraint (*isl_pointers__.p_isl_printer_print_constraint)
-+#define isl_printer_print_map (*isl_pointers__.p_isl_printer_print_map)
-+#define isl_printer_print_set (*isl_pointers__.p_isl_printer_print_set)
-+#define isl_printer_to_file (*isl_pointers__.p_isl_printer_to_file)
-+#define isl_pw_aff_add (*isl_pointers__.p_isl_pw_aff_add)
-+#define isl_pw_aff_alloc (*isl_pointers__.p_isl_pw_aff_alloc)
-+#define isl_pw_aff_copy (*isl_pointers__.p_isl_pw_aff_copy)
-+#define isl_pw_aff_eq_set (*isl_pointers__.p_isl_pw_aff_eq_set)
-+#define isl_pw_aff_free (*isl_pointers__.p_isl_pw_aff_free)
-+#define isl_pw_aff_from_aff (*isl_pointers__.p_isl_pw_aff_from_aff)
-+#define isl_pw_aff_ge_set (*isl_pointers__.p_isl_pw_aff_ge_set)
-+#define isl_pw_aff_gt_set (*isl_pointers__.p_isl_pw_aff_gt_set)
-+#define isl_pw_aff_is_cst (*isl_pointers__.p_isl_pw_aff_is_cst)
-+#define isl_pw_aff_le_set (*isl_pointers__.p_isl_pw_aff_le_set)
-+#define isl_pw_aff_lt_set (*isl_pointers__.p_isl_pw_aff_lt_set)
-+#define isl_pw_aff_mul (*isl_pointers__.p_isl_pw_aff_mul)
-+#define isl_pw_aff_ne_set (*isl_pointers__.p_isl_pw_aff_ne_set)
-+#define isl_pw_aff_nonneg_set (*isl_pointers__.p_isl_pw_aff_nonneg_set)
-+#define isl_pw_aff_set_tuple_id (*isl_pointers__.p_isl_pw_aff_set_tuple_id)
-+#define isl_pw_aff_sub (*isl_pointers__.p_isl_pw_aff_sub)
-+#define isl_pw_aff_zero_set (*isl_pointers__.p_isl_pw_aff_zero_set)
-+#define isl_schedule_free (*isl_pointers__.p_isl_schedule_free)
-+#define isl_schedule_get_band_forest (*isl_pointers__.p_isl_schedule_get_band_forest)
-+#define isl_set_add_constraint (*isl_pointers__.p_isl_set_add_constraint)
-+#define isl_set_add_dims (*isl_pointers__.p_isl_set_add_dims)
-+#define isl_set_apply (*isl_pointers__.p_isl_set_apply)
-+#define isl_set_coalesce (*isl_pointers__.p_isl_set_coalesce)
-+#define isl_set_copy (*isl_pointers__.p_isl_set_copy)
-+#define isl_set_dim (*isl_pointers__.p_isl_set_dim)
-+#define isl_set_fix_si (*isl_pointers__.p_isl_set_fix_si)
-+#define isl_set_free (*isl_pointers__.p_isl_set_free)
-+#define isl_set_get_space (*isl_pointers__.p_isl_set_get_space)
-+#define isl_set_get_tuple_id (*isl_pointers__.p_isl_set_get_tuple_id)
-+#define isl_set_intersect (*isl_pointers__.p_isl_set_intersect)
-+#define isl_set_is_empty (*isl_pointers__.p_isl_set_is_empty)
-+#define isl_set_n_dim (*isl_pointers__.p_isl_set_n_dim)
-+#define isl_set_nat_universe (*isl_pointers__.p_isl_set_nat_universe)
-+#define isl_set_project_out (*isl_pointers__.p_isl_set_project_out)
-+#define isl_set_set_tuple_id (*isl_pointers__.p_isl_set_set_tuple_id)
-+#define isl_set_universe (*isl_pointers__.p_isl_set_universe)
-+#define isl_space_add_dims (*isl_pointers__.p_isl_space_add_dims)
-+#define isl_space_alloc (*isl_pointers__.p_isl_space_alloc)
-+#define isl_space_copy (*isl_pointers__.p_isl_space_copy)
-+#define isl_space_dim (*isl_pointers__.p_isl_space_dim)
-+#define isl_space_domain (*isl_pointers__.p_isl_space_domain)
-+#define isl_space_find_dim_by_id (*isl_pointers__.p_isl_space_find_dim_by_id)
-+#define isl_space_free (*isl_pointers__.p_isl_space_free)
-+#define isl_space_from_domain (*isl_pointers__.p_isl_space_from_domain)
-+#define isl_space_get_tuple_id (*isl_pointers__.p_isl_space_get_tuple_id)
-+#define isl_space_params_alloc (*isl_pointers__.p_isl_space_params_alloc)
-+#define isl_space_range (*isl_pointers__.p_isl_space_range)
-+#define isl_space_set_alloc (*isl_pointers__.p_isl_space_set_alloc)
-+#define isl_space_set_dim_id (*isl_pointers__.p_isl_space_set_dim_id)
-+#define isl_space_set_tuple_id (*isl_pointers__.p_isl_space_set_tuple_id)
-+#define isl_union_map_add_map (*isl_pointers__.p_isl_union_map_add_map)
-+#define isl_union_map_align_params (*isl_pointers__.p_isl_union_map_align_params)
-+#define isl_union_map_apply_domain (*isl_pointers__.p_isl_union_map_apply_domain)
-+#define isl_union_map_apply_range (*isl_pointers__.p_isl_union_map_apply_range)
-+#define isl_union_map_compute_flow (*isl_pointers__.p_isl_union_map_compute_flow)
-+#define isl_union_map_copy (*isl_pointers__.p_isl_union_map_copy)
-+#define isl_union_map_empty (*isl_pointers__.p_isl_union_map_empty)
-+#define isl_union_map_flat_range_product (*isl_pointers__.p_isl_union_map_flat_range_product)
-+#define isl_union_map_foreach_map (*isl_pointers__.p_isl_union_map_foreach_map)
-+#define isl_union_map_free (*isl_pointers__.p_isl_union_map_free)
-+#define isl_union_map_from_map (*isl_pointers__.p_isl_union_map_from_map)
-+#define isl_union_map_get_ctx (*isl_pointers__.p_isl_union_map_get_ctx)
-+#define isl_union_map_get_space (*isl_pointers__.p_isl_union_map_get_space)
-+#define isl_union_map_gist_domain (*isl_pointers__.p_isl_union_map_gist_domain)
-+#define isl_union_map_gist_range (*isl_pointers__.p_isl_union_map_gist_range)
-+#define isl_union_map_intersect_domain (*isl_pointers__.p_isl_union_map_intersect_domain)
-+#define isl_union_map_is_empty (*isl_pointers__.p_isl_union_map_is_empty)
-+#define isl_union_map_subtract (*isl_pointers__.p_isl_union_map_subtract)
-+#define isl_union_map_union (*isl_pointers__.p_isl_union_map_union)
-+#define isl_union_set_add_set (*isl_pointers__.p_isl_union_set_add_set)
-+#define isl_union_set_compute_schedule (*isl_pointers__.p_isl_union_set_compute_schedule)
-+#define isl_union_set_copy (*isl_pointers__.p_isl_union_set_copy)
-+#define isl_union_set_empty (*isl_pointers__.p_isl_union_set_empty)
-+#define isl_union_set_from_set (*isl_pointers__.p_isl_union_set_from_set)
-+#define isl_aff_add_constant_val (*isl_pointers__.p_isl_aff_add_constant_val)
-+#define isl_aff_get_coefficient_val (*isl_pointers__.p_isl_aff_get_coefficient_val)
-+#define isl_aff_get_ctx (*isl_pointers__.p_isl_aff_get_ctx)
-+#define isl_aff_mod_val (*isl_pointers__.p_isl_aff_mod_val)
-+#define isl_ast_build_ast_from_schedule (*isl_pointers__.p_isl_ast_build_ast_from_schedule)
-+#define isl_ast_build_free (*isl_pointers__.p_isl_ast_build_free)
-+#define isl_ast_build_from_context (*isl_pointers__.p_isl_ast_build_from_context)
-+#define isl_ast_build_get_ctx (*isl_pointers__.p_isl_ast_build_get_ctx)
-+#define isl_ast_build_get_schedule (*isl_pointers__.p_isl_ast_build_get_schedule)
-+#define isl_ast_build_get_schedule_space (*isl_pointers__.p_isl_ast_build_get_schedule_space)
-+#define isl_ast_build_set_before_each_for (*isl_pointers__.p_isl_ast_build_set_before_each_for)
-+#define isl_ast_build_set_options (*isl_pointers__.p_isl_ast_build_set_options)
-+#define isl_ast_expr_free (*isl_pointers__.p_isl_ast_expr_free)
-+#define isl_ast_expr_from_val (*isl_pointers__.p_isl_ast_expr_from_val)
-+#define isl_ast_expr_get_ctx (*isl_pointers__.p_isl_ast_expr_get_ctx)
-+#define isl_ast_expr_get_id (*isl_pointers__.p_isl_ast_expr_get_id)
-+#define isl_ast_expr_get_op_arg (*isl_pointers__.p_isl_ast_expr_get_op_arg)
-+#define isl_ast_expr_get_op_n_arg (*isl_pointers__.p_isl_ast_expr_get_op_n_arg)
-+#define isl_ast_expr_get_op_type (*isl_pointers__.p_isl_ast_expr_get_op_type)
-+#define isl_ast_expr_get_type (*isl_pointers__.p_isl_ast_expr_get_type)
-+#define isl_ast_expr_get_val (*isl_pointers__.p_isl_ast_expr_get_val)
-+#define isl_ast_expr_sub (*isl_pointers__.p_isl_ast_expr_sub)
-+#define isl_ast_node_block_get_children (*isl_pointers__.p_isl_ast_node_block_get_children)
-+#define isl_ast_node_for_get_body (*isl_pointers__.p_isl_ast_node_for_get_body)
-+#define isl_ast_node_for_get_cond (*isl_pointers__.p_isl_ast_node_for_get_cond)
-+#define isl_ast_node_for_get_inc (*isl_pointers__.p_isl_ast_node_for_get_inc)
-+#define isl_ast_node_for_get_init (*isl_pointers__.p_isl_ast_node_for_get_init)
-+#define isl_ast_node_for_get_iterator (*isl_pointers__.p_isl_ast_node_for_get_iterator)
-+#define isl_ast_node_free (*isl_pointers__.p_isl_ast_node_free)
-+#define isl_ast_node_get_annotation (*isl_pointers__.p_isl_ast_node_get_annotation)
-+#define isl_ast_node_get_type (*isl_pointers__.p_isl_ast_node_get_type)
-+#define isl_ast_node_if_get_cond (*isl_pointers__.p_isl_ast_node_if_get_cond)
-+#define isl_ast_node_if_get_else (*isl_pointers__.p_isl_ast_node_if_get_else)
-+#define isl_ast_node_if_get_then (*isl_pointers__.p_isl_ast_node_if_get_then)
-+#define isl_ast_node_list_free (*isl_pointers__.p_isl_ast_node_list_free)
-+#define isl_ast_node_list_get_ast_node (*isl_pointers__.p_isl_ast_node_list_get_ast_node)
-+#define isl_ast_node_list_n_ast_node (*isl_pointers__.p_isl_ast_node_list_n_ast_node)
-+#define isl_ast_node_user_get_expr (*isl_pointers__.p_isl_ast_node_user_get_expr)
-+#define isl_constraint_set_coefficient_val (*isl_pointers__.p_isl_constraint_set_coefficient_val)
-+#define isl_constraint_set_constant_val (*isl_pointers__.p_isl_constraint_set_constant_val)
-+#define isl_id_get_user (*isl_pointers__.p_isl_id_get_user)
-+#define isl_local_space_get_ctx (*isl_pointers__.p_isl_local_space_get_ctx)
-+#define isl_map_fix_val (*isl_pointers__.p_isl_map_fix_val)
-+#define isl_options_set_ast_build_atomic_upper_bound (*isl_pointers__.p_isl_options_set_ast_build_atomic_upper_bound)
-+#define isl_printer_print_ast_node (*isl_pointers__.p_isl_printer_print_ast_node)
-+#define isl_printer_print_str (*isl_pointers__.p_isl_printer_print_str)
-+#define isl_printer_set_output_format (*isl_pointers__.p_isl_printer_set_output_format)
-+#define isl_pw_aff_mod_val (*isl_pointers__.p_isl_pw_aff_mod_val)
-+#define isl_schedule_constraints_compute_schedule (*isl_pointers__.p_isl_schedule_constraints_compute_schedule)
-+#define isl_schedule_constraints_on_domain (*isl_pointers__.p_isl_schedule_constraints_on_domain)
-+#define isl_schedule_constraints_set_coincidence (*isl_pointers__.p_isl_schedule_constraints_set_coincidence)
-+#define isl_schedule_constraints_set_proximity (*isl_pointers__.p_isl_schedule_constraints_set_proximity)
-+#define isl_schedule_constraints_set_validity (*isl_pointers__.p_isl_schedule_constraints_set_validity)
-+#define isl_set_get_dim_id (*isl_pointers__.p_isl_set_get_dim_id)
-+#define isl_set_max_val (*isl_pointers__.p_isl_set_max_val)
-+#define isl_set_min_val (*isl_pointers__.p_isl_set_min_val)
-+#define isl_set_params (*isl_pointers__.p_isl_set_params)
-+#define isl_space_align_params (*isl_pointers__.p_isl_space_align_params)
-+#define isl_space_map_from_domain_and_range (*isl_pointers__.p_isl_space_map_from_domain_and_range)
-+#define isl_space_set_tuple_name (*isl_pointers__.p_isl_space_set_tuple_name)
-+#define isl_space_wrap (*isl_pointers__.p_isl_space_wrap)
-+#define isl_union_map_from_domain_and_range (*isl_pointers__.p_isl_union_map_from_domain_and_range)
-+#define isl_union_map_range (*isl_pointers__.p_isl_union_map_range)
-+#define isl_union_set_union (*isl_pointers__.p_isl_union_set_union)
-+#define isl_union_set_universe (*isl_pointers__.p_isl_union_set_universe)
-+#define isl_val_2exp (*isl_pointers__.p_isl_val_2exp)
-+#define isl_val_add_ui (*isl_pointers__.p_isl_val_add_ui)
-+#define isl_val_copy (*isl_pointers__.p_isl_val_copy)
-+#define isl_val_free (*isl_pointers__.p_isl_val_free)
-+#define isl_val_int_from_si (*isl_pointers__.p_isl_val_int_from_si)
-+#define isl_val_int_from_ui (*isl_pointers__.p_isl_val_int_from_ui)
-+#define isl_val_mul (*isl_pointers__.p_isl_val_mul)
-+#define isl_val_neg (*isl_pointers__.p_isl_val_neg)
-+#define isl_val_sub (*isl_pointers__.p_isl_val_sub)
-+#define isl_printer_print_union_map (*isl_pointers__.p_isl_printer_print_union_map)
-+#define isl_pw_aff_get_ctx (*isl_pointers__.p_isl_pw_aff_get_ctx)
-+#define isl_val_is_int (*isl_pointers__.p_isl_val_is_int)
-+#define isl_ctx_get_max_operations (*isl_pointers__.p_isl_ctx_get_max_operations)
-+#define isl_ctx_set_max_operations (*isl_pointers__.p_isl_ctx_set_max_operations)
-+#define isl_ctx_last_error (*isl_pointers__.p_isl_ctx_last_error)
-+#define isl_ctx_reset_operations (*isl_pointers__.p_isl_ctx_reset_operations)
-+#define isl_map_coalesce (*isl_pointers__.p_isl_map_coalesce)
-+#define isl_printer_print_schedule (*isl_pointers__.p_isl_printer_print_schedule)
-+#define isl_set_set_dim_id (*isl_pointers__.p_isl_set_set_dim_id)
-+#define isl_union_map_coalesce (*isl_pointers__.p_isl_union_map_coalesce)
-+#define isl_multi_val_set_val (*isl_pointers__.p_isl_multi_val_set_val)
-+#define isl_multi_val_zero (*isl_pointers__.p_isl_multi_val_zero)
-+#define isl_options_set_schedule_max_coefficient (*isl_pointers__.p_isl_options_set_schedule_max_coefficient)
-+#define isl_options_set_tile_scale_tile_loops (*isl_pointers__.p_isl_options_set_tile_scale_tile_loops)
-+#define isl_schedule_copy (*isl_pointers__.p_isl_schedule_copy)
-+#define isl_schedule_get_map (*isl_pointers__.p_isl_schedule_get_map)
-+#define isl_schedule_map_schedule_node_bottom_up (*isl_pointers__.p_isl_schedule_map_schedule_node_bottom_up)
-+#define isl_schedule_node_band_get_permutable (*isl_pointers__.p_isl_schedule_node_band_get_permutable)
-+#define isl_schedule_node_band_get_space (*isl_pointers__.p_isl_schedule_node_band_get_space)
-+#define isl_schedule_node_band_tile (*isl_pointers__.p_isl_schedule_node_band_tile)
-+#define isl_schedule_node_child (*isl_pointers__.p_isl_schedule_node_child)
-+#define isl_schedule_node_free (*isl_pointers__.p_isl_schedule_node_free)
-+#define isl_schedule_node_get_child (*isl_pointers__.p_isl_schedule_node_get_child)
-+#define isl_schedule_node_get_ctx (*isl_pointers__.p_isl_schedule_node_get_ctx)
-+#define isl_schedule_node_get_type (*isl_pointers__.p_isl_schedule_node_get_type)
-+#define isl_schedule_node_n_children (*isl_pointers__.p_isl_schedule_node_n_children)
-+#define isl_union_map_is_equal (*isl_pointers__.p_isl_union_map_is_equal)
-+#define isl_union_access_info_compute_flow (*isl_pointers__.p_isl_union_access_info_compute_flow)
-+#define isl_union_access_info_from_sink (*isl_pointers__.p_isl_union_access_info_from_sink)
-+#define isl_union_access_info_set_may_source (*isl_pointers__.p_isl_union_access_info_set_may_source)
-+#define isl_union_access_info_set_must_source (*isl_pointers__.p_isl_union_access_info_set_must_source)
-+#define isl_union_access_info_set_schedule (*isl_pointers__.p_isl_union_access_info_set_schedule)
-+#define isl_union_flow_free (*isl_pointers__.p_isl_union_flow_free)
-+#define isl_union_flow_get_may_dependence (*isl_pointers__.p_isl_union_flow_get_may_dependence)
-+#define isl_union_flow_get_must_dependence (*isl_pointers__.p_isl_union_flow_get_must_dependence)
-+#define isl_aff_var_on_domain (*isl_pointers__.p_isl_aff_var_on_domain)
-+#define isl_multi_aff_from_aff (*isl_pointers__.p_isl_multi_aff_from_aff)
-+#define isl_schedule_get_ctx (*isl_pointers__.p_isl_schedule_get_ctx)
-+#define isl_multi_aff_set_tuple_id (*isl_pointers__.p_isl_multi_aff_set_tuple_id)
-+#define isl_multi_aff_dim (*isl_pointers__.p_isl_multi_aff_dim)
-+#define isl_schedule_get_domain (*isl_pointers__.p_isl_schedule_get_domain)
-+#define isl_union_set_is_empty (*isl_pointers__.p_isl_union_set_is_empty)
-+#define isl_union_set_get_space (*isl_pointers__.p_isl_union_set_get_space)
-+#define isl_union_pw_multi_aff_empty (*isl_pointers__.p_isl_union_pw_multi_aff_empty)
-+#define isl_union_set_foreach_set (*isl_pointers__.p_isl_union_set_foreach_set)
-+#define isl_union_set_free (*isl_pointers__.p_isl_union_set_free)
-+#define isl_multi_union_pw_aff_from_union_pw_multi_aff (*isl_pointers__.p_isl_multi_union_pw_aff_from_union_pw_multi_aff)
-+#define isl_multi_union_pw_aff_apply_multi_aff (*isl_pointers__.p_isl_multi_union_pw_aff_apply_multi_aff)
-+#define isl_schedule_insert_partial_schedule (*isl_pointers__.p_isl_schedule_insert_partial_schedule)
-+#define isl_union_pw_multi_aff_free (*isl_pointers__.p_isl_union_pw_multi_aff_free)
-+#define isl_pw_multi_aff_project_out_map (*isl_pointers__.p_isl_pw_multi_aff_project_out_map)
-+#define isl_union_pw_multi_aff_add_pw_multi_aff (*isl_pointers__.p_isl_union_pw_multi_aff_add_pw_multi_aff)
-+#define isl_schedule_from_domain (*isl_pointers__.p_isl_schedule_from_domain)
-+#define isl_schedule_sequence (*isl_pointers__.p_isl_schedule_sequence)
-+#define isl_ast_build_node_from_schedule (*isl_pointers__.p_isl_ast_build_node_from_schedule)
-+#define isl_ast_node_mark_get_node (*isl_pointers__.p_isl_ast_node_mark_get_node)
-+#define isl_schedule_node_band_member_get_ast_loop_type (*isl_pointers__.p_isl_schedule_node_band_member_get_ast_loop_type)
-+#define isl_schedule_node_band_member_set_ast_loop_type (*isl_pointers__.p_isl_schedule_node_band_member_set_ast_loop_type)
-+#define isl_val_n_abs_num_chunks (*isl_pointers__.p_isl_val_n_abs_num_chunks)
-+#define isl_val_get_abs_num_chunks (*isl_pointers__.p_isl_val_get_abs_num_chunks)
-+#define isl_val_int_from_chunks (*isl_pointers__.p_isl_val_int_from_chunks)
-+#define isl_val_is_neg (*isl_pointers__.p_isl_val_is_neg)
-+#define isl_version (*isl_pointers__.p_isl_version)
-+#define isl_options_get_on_error (*isl_pointers__.p_isl_options_get_on_error)
-+#define isl_ctx_reset_error (*isl_pointers__.p_isl_ctx_reset_error)
-
- typedef struct poly_dr *poly_dr_p;
-
-@@ -461,5 +1045,6 @@ extern void build_scops (vec *);
- extern void dot_all_sese (FILE *, vec &);
- extern void dot_sese (sese_l &);
- extern void dot_cfg ();
-+extern const char *get_isl_version (bool);
-
- #endif
---- gcc/graphite.c.jj 2015-11-04 14:15:32.000000000 +0100
-+++ gcc/graphite.c 2015-11-04 14:56:02.645536409 +0100
-@@ -60,6 +60,35 @@ along with GCC; see the file COPYING3.
- #include "tree-into-ssa.h"
- #include "graphite.h"
-
-+__typeof (isl_pointers__) isl_pointers__;
-+
-+static bool
-+init_isl_pointers (void)
-+{
-+ void *h;
-+
-+ if (isl_pointers__.inited)
-+ return isl_pointers__.h != NULL;
-+ h = dlopen ("libisl.so.15", RTLD_LAZY);
-+ isl_pointers__.h = h;
-+ if (h == NULL)
-+ return false;
-+#define DYNSYM(x) \
-+ do \
-+ { \
-+ union { __typeof (isl_pointers__.p_##x) p; void *q; } u; \
-+ u.q = dlsym (h, #x); \
-+ if (u.q == NULL) \
-+ return false; \
-+ isl_pointers__.p_##x = u.p; \
-+ } \
-+ while (0)
-+ DYNSYMS
-+#undef DYNSYM
-+ isl_pointers__.inited = true;
-+ return true;
-+}
-+
- /* Print global statistics to FILE. */
-
- static void
-@@ -365,6 +394,15 @@ graphite_transform_loops (void)
- if (parallelized_function_p (cfun->decl))
- return;
-
-+ if (number_of_loops (cfun) <= 1)
-+ return;
-+
-+ if (!init_isl_pointers ())
-+ {
-+ sorry ("Graphite loop optimizations cannot be used");
-+ return;
-+ }
-+
- calculate_dominance_info (CDI_DOMINATORS);
-
- /* We rely on post-dominators during merging of SESE regions so those
-@@ -455,6 +493,14 @@ graphite_transform_loops (void)
- }
- }
-
-+const char *
-+get_isl_version (bool force)
-+{
-+ if (force)
-+ init_isl_pointers ();
-+ return (isl_pointers__.inited && isl_version) ? isl_version () : "none";
-+}
-+
- #else /* If isl is not available: #ifndef HAVE_isl. */
-
- static void
---- gcc/toplev.c.jj 2017-02-19 13:02:31.000000000 +0100
-+++ gcc/toplev.c 2017-02-19 16:50:25.536301350 +0100
-@@ -94,6 +94,7 @@ along with GCC; see the file COPYING3.
-
- #ifdef HAVE_isl
- #include
-+extern const char *get_isl_version (bool);
- #endif
-
- static void general_init (const char *, bool);
-@@ -683,7 +684,7 @@ print_version (FILE *file, const char *i
- #ifndef HAVE_isl
- "none"
- #else
-- isl_version ()
-+ get_isl_version (*indent == 0)
- #endif
- );
- if (strcmp (GCC_GMP_STRINGIFY_VERSION, gmp_version))
diff --git a/gcc10-libgomp-omp_h-multilib.patch b/gcc10-libgomp-omp_h-multilib.patch
deleted file mode 100644
index d0e98d1..0000000
--- a/gcc10-libgomp-omp_h-multilib.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-2008-06-09 Jakub Jelinek
-
- * omp.h.in (omp_nest_lock_t): Fix up for Linux multilibs.
-
---- libgomp/omp.h.in.jj 2008-06-09 13:34:05.000000000 +0200
-+++ libgomp/omp.h.in 2008-06-09 13:34:48.000000000 +0200
-@@ -42,8 +42,8 @@ typedef struct
-
- typedef struct
- {
-- unsigned char _x[@OMP_NEST_LOCK_SIZE@]
-- __attribute__((__aligned__(@OMP_NEST_LOCK_ALIGN@)));
-+ unsigned char _x[8 + sizeof (void *)]
-+ __attribute__((__aligned__(sizeof (void *))));
- } omp_nest_lock_t;
- #endif
-
diff --git a/gcc10-libstdc++-docs.patch b/gcc10-libstdc++-docs.patch
deleted file mode 100644
index d51b6d3..0000000
--- a/gcc10-libstdc++-docs.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- libstdc++-v3/doc/html/index.html.jj 2011-01-03 12:53:21.282829010 +0100
-+++ libstdc++-v3/doc/html/index.html 2011-01-04 18:06:28.999851145 +0100
-@@ -5,6 +5,8 @@
- FSF
-
-
-+ Release 10.2.1
-+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation
- License, Version 1.2 or any later version published by the
---- libstdc++-v3/doc/html/api.html.jj 2011-01-03 12:53:21.000000000 +0100
-+++ libstdc++-v3/doc/html/api.html 2011-01-04 18:12:01.672757784 +0100
-@@ -20,7 +20,9 @@
- member functions for the library classes, finding out what is in a
- particular include file, looking at inheritance diagrams, etc.
-
-- The API documentation, rendered into HTML, can be viewed online
-+ The API documentation, rendered into HTML, can be viewed locally
-+ for the 10.2.1 release,
-+ online
- for each GCC release
- and
-
diff --git a/gcc10-libtool-no-rpath.patch b/gcc10-libtool-no-rpath.patch
deleted file mode 100644
index 466c661..0000000
--- a/gcc10-libtool-no-rpath.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-libtool sucks.
---- ltmain.sh.jj 2007-12-07 14:53:21.000000000 +0100
-+++ ltmain.sh 2008-09-05 21:51:48.000000000 +0200
-@@ -5394,6 +5394,7 @@ EOF
- rpath="$finalize_rpath"
- test "$mode" != relink && rpath="$compile_rpath$rpath"
- for libdir in $rpath; do
-+ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
-@@ -6071,6 +6072,7 @@ EOF
- rpath=
- hardcode_libdirs=
- for libdir in $compile_rpath $finalize_rpath; do
-+ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
-@@ -6120,6 +6122,7 @@ EOF
- rpath=
- hardcode_libdirs=
- for libdir in $finalize_rpath; do
-+ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
diff --git a/gcc10-no-add-needed.patch b/gcc10-no-add-needed.patch
deleted file mode 100644
index 5817299..0000000
--- a/gcc10-no-add-needed.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-2010-02-08 Roland McGrath
-
- * config/gnu-user.h (LINK_EH_SPEC): Pass --no-add-needed to the linker.
- * config/alpha/elf.h (LINK_EH_SPEC): Likewise.
- * config/ia64/linux.h (LINK_EH_SPEC): Likewise.
-
---- gcc/config/alpha/elf.h.jj 2011-01-03 12:52:31.118056764 +0100
-+++ gcc/config/alpha/elf.h 2011-01-04 18:14:10.931874160 +0100
-@@ -168,5 +168,5 @@ extern int alpha_this_gpdisp_sequence_nu
- I imagine that other systems will catch up. In the meantime, it
- doesn't harm to make sure that the data exists to be used later. */
- #if defined(HAVE_LD_EH_FRAME_HDR)
--#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
-+#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} "
- #endif
---- gcc/config/ia64/linux.h.jj 2011-01-03 13:02:11.462994522 +0100
-+++ gcc/config/ia64/linux.h 2011-01-04 18:14:10.931874160 +0100
-@@ -76,7 +76,7 @@ do { \
- Signalize that because we have fde-glibc, we don't need all C shared libs
- linked against -lgcc_s. */
- #undef LINK_EH_SPEC
--#define LINK_EH_SPEC ""
-+#define LINK_EH_SPEC "--no-add-needed "
-
- #undef TARGET_INIT_LIBFUNCS
- #define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs
---- gcc/config/gnu-user.h.jj 2011-01-03 12:53:03.739057299 +0100
-+++ gcc/config/gnu-user.h 2011-01-04 18:14:10.932814884 +0100
-@@ -106,7 +106,7 @@ see the files COPYING3 and COPYING.RUNTI
- #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC
-
- #if defined(HAVE_LD_EH_FRAME_HDR)
--#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
-+#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} "
- #endif
-
- #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
diff --git a/gcc10-pr96383.patch b/gcc10-pr96383.patch
deleted file mode 100644
index 950a2f4..0000000
--- a/gcc10-pr96383.patch
+++ /dev/null
@@ -1,236 +0,0 @@
-2020-07-30 Richard Biener
-
- 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
- // .
-
--// { 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" } }
-
diff --git a/gcc10-pr96939-2.patch b/gcc10-pr96939-2.patch
deleted file mode 100644
index e9e406f..0000000
--- a/gcc10-pr96939-2.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-2020-09-09 Jakub Jelinek
-
- * 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. */
diff --git a/gcc10-pr96939-3.patch b/gcc10-pr96939-3.patch
deleted file mode 100644
index f133f8d..0000000
--- a/gcc10-pr96939-3.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-2020-09-13 Jakub Jelinek
-
- * 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;
diff --git a/gcc10-pr96939.patch b/gcc10-pr96939.patch
deleted file mode 100644
index 4659c3f..0000000
--- a/gcc10-pr96939.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-2020-09-07 Jakub Jelinek
-
- 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
-+
-+unsigned
-+crc (unsigned x, const void *y)
-+{
-+ return __crc32cw (x, *(unsigned *) y);
-+}
diff --git a/gcc10-rh1574936.patch b/gcc10-rh1574936.patch
deleted file mode 100644
index 6b4be0c..0000000
--- a/gcc10-rh1574936.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-crt files and statically linked libgcc objects cause false positives
-in annobin coverage, so we add the assembler flag to generate notes
-for them.
-
-The patch also adds notes to libgcc_s.so, but this is harmless because
-these notes only confer that there is no other annobin markup.
-
-2018-07-25 Florian Weimer
-
- * Makefile.in (LIBGCC2_CFLAGS, CRTSTUFF_CFLAGS): Add
- -Wa,--generate-missing-build-notes=yes.
-
---- libgcc/Makefile.in 2018-01-13 13:05:41.000000000 +0100
-+++ libgcc/Makefile.in 2018-07-25 13:15:02.036226940 +0200
-@@ -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 \
-+ -Wa,--generate-missing-build-notes=yes \
- $(INHIBIT_LIBC_CFLAGS)
-
- # Additional options to use when compiling libgcc2.a.
-@@ -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) $(USE_TM_CLONE_REGISTRY)
-
- # Extra flags to use when compiling crt{begin,end}.o.
diff --git a/gcc10-sparc-config-detection.patch b/gcc10-sparc-config-detection.patch
deleted file mode 100644
index bb06b35..0000000
--- a/gcc10-sparc-config-detection.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- gcc/config.gcc.jj 2008-04-24 15:42:46.000000000 -0500
-+++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500
-@@ -2790,7 +2790,7 @@ sparc-*-rtems*)
- tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
- tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
- ;;
--sparc-*-linux*)
-+sparc-*-linux* | sparcv9-*-linux*)
- tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
- extra_options="${extra_options} sparc/long-double-switch.opt"
- case ${target} in
-@@ -2844,7 +2844,7 @@ sparc64-*-rtems*)
- extra_options="${extra_options}"
- tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
- ;;
--sparc64-*-linux*)
-+sparc64*-*-linux*)
- tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h"
- extra_options="${extra_options} sparc/long-double-switch.opt"
- tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
---- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500
-+++ libgcc/config.host 2008-04-24 15:46:49.000000000 -0500
-@@ -1002,7 +1002,7 @@ sparc-*-elf*)
- tmake_file="${tmake_file} t-fdpbit t-crtfm"
- extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
- ;;
--sparc-*-linux*) # SPARC's running GNU/Linux, libc6
-+sparc-*-linux* | sparcv9-*-linux*) # SPARC's running GNU/Linux, libc6
- tmake_file="${tmake_file} t-crtfm"
- if test "${host_address}" = 64; then
- tmake_file="$tmake_file sparc/t-linux64"
-@@ -1050,7 +1050,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*
- tmake_file="$tmake_file t-crtfm"
- extra_parts="$extra_parts crtfastmath.o"
- ;;
--sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
-+sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux
- extra_parts="$extra_parts crtfastmath.o"
- tmake_file="${tmake_file} t-crtfm sparc/t-linux"
- if test "${host_address}" = 64; then
diff --git a/gcc11-Wno-format-security.patch b/gcc11-Wno-format-security.patch
new file mode 100644
index 0000000..974ea44
--- /dev/null
+++ b/gcc11-Wno-format-security.patch
@@ -0,0 +1,27 @@
+2017-02-25 Jakub Jelinek
+
+ * configure.ac: When adding -Wno-format, also add -Wno-format-security.
+ * configure: Regenerated.
+
+--- gcc/configure.ac.jj 2017-02-13 12:20:53.000000000 +0100
++++ gcc/configure.ac 2017-02-25 12:42:32.859175403 +0100
+@@ -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],
+- [wf_opt=-Wno-format],[wf_opt=])
++ [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 -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
+ fi
+
+ if test $enable_build_format_warnings = no; then :
+- wf_opt=-Wno-format
++ wf_opt="-Wno-format -Wno-format-security"
+ else
+ wf_opt=
+ fi
diff --git a/gcc11-d-shared-libphobos.patch b/gcc11-d-shared-libphobos.patch
new file mode 100644
index 0000000..6384bbb
--- /dev/null
+++ b/gcc11-d-shared-libphobos.patch
@@ -0,0 +1,20 @@
+2019-01-17 Jakub Jelinek
+
+ * d-spec.cc (lang_specific_driver): Make -shared-libphobos
+ the default rather than -static-libphobos.
+
+--- 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
+@@ -408,9 +408,9 @@ lang_specific_driver (cl_decoded_option
+ /* Add `-lgphobos' if we haven't already done so. */
+ if (phobos_library != PHOBOS_NOLINK)
+ {
+- /* Default to static linking. */
+- if (phobos_library != PHOBOS_DYNAMIC)
+- phobos_library = PHOBOS_STATIC;
++ /* Default to shared linking. */
++ if (phobos_library != PHOBOS_STATIC)
++ phobos_library = PHOBOS_DYNAMIC;
+
+ #ifdef HAVE_LD_STATIC_DYNAMIC
+ if (phobos_library == PHOBOS_STATIC && !static_link)
diff --git a/gcc11-foffload-default.patch b/gcc11-foffload-default.patch
new file mode 100644
index 0000000..3329d2a
--- /dev/null
+++ b/gcc11-foffload-default.patch
@@ -0,0 +1,116 @@
+2019-01-17 Jakub Jelinek
+
+ * gcc.c (offload_targets_default): New variable.
+ (process_command): Set it if -foffload is defaulted.
+ (driver::maybe_putenv_OFFLOAD_TARGETS): Add OFFLOAD_TARGET_DEFAULT=1
+ into environment if -foffload has been defaulted.
+ * lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define.
+ (compile_offload_image): If OFFLOAD_TARGET_DEFAULT
+ is in the environment, don't fail if corresponding mkoffload
+ can't be found.
+ (compile_images_for_offload_targets): Likewise. Free and clear
+ offload_names if no valid offload is found.
+libgomp/
+ * target.c (gomp_load_plugin_for_device): If a plugin can't be
+ dlopened, assume it has no devices silently.
+
+--- gcc/gcc.c.jj 2017-01-17 10:28:40.000000000 +0100
++++ gcc/gcc.c 2017-01-20 16:26:29.649962902 +0100
+@@ -290,6 +290,10 @@ static const char *spec_host_machine = D
+
+ static char *offload_targets = NULL;
+
++/* Set to true if -foffload has not been used and offload_targets
++ is set to the configured in default. */
++static bool offload_targets_default;
++
+ /* Nonzero if cross-compiling.
+ When -b is used, the value comes from the `specs' file. */
+
+@@ -4457,7 +4461,10 @@ process_command (unsigned int decoded_op
+ /* If the user didn't specify any, default to all configured offload
+ targets. */
+ if (ENABLE_OFFLOADING && offload_targets == NULL)
+- handle_foffload_option (OFFLOAD_TARGETS);
++ {
++ handle_foffload_option (OFFLOAD_TARGETS);
++ offload_targets_default = true;
++ }
+
+ if (output_file
+ && strcmp (output_file, "-") != 0
+@@ -7693,6 +7700,8 @@ driver::maybe_putenv_OFFLOAD_TARGETS ()
+ obstack_grow (&collect_obstack, offload_targets,
+ strlen (offload_targets) + 1);
+ xputenv (XOBFINISH (&collect_obstack, char *));
++ if (offload_targets_default)
++ xputenv ("OFFLOAD_TARGET_DEFAULT=1");
+ }
+
+ free (offload_targets);
+--- gcc/lto-wrapper.c.jj 2017-01-01 12:45:34.000000000 +0100
++++ gcc/lto-wrapper.c 2017-01-20 16:34:18.294016997 +0100
+@@ -52,6 +52,7 @@ along with GCC; see the file COPYING3.
+ /* Environment variable, used for passing the names of offload targets from GCC
+ driver to lto-wrapper. */
+ #define OFFLOAD_TARGET_NAMES_ENV "OFFLOAD_TARGET_NAMES"
++#define OFFLOAD_TARGET_DEFAULT_ENV "OFFLOAD_TARGET_DEFAULT"
+
+ /* By default there is no special suffix for target executables. */
+ #ifdef TARGET_EXECUTABLE_SUFFIX
+@@ -906,6 +907,12 @@ compile_offload_image (const char *targe
+ break;
+ }
+
++ if (!compiler && getenv (OFFLOAD_TARGET_DEFAULT_ENV))
++ {
++ free_array_of_ptrs ((void **) paths, n_paths);
++ return NULL;
++ }
++
+ if (!compiler)
+ fatal_error (input_location,
+ "could not find %s in %s (consider using %<-B%>)",
+@@ -975,6 +982,7 @@ compile_images_for_offload_targets (unsi
+ if (!target_names)
+ return;
+ unsigned num_targets = parse_env_var (target_names, &names, NULL);
++ int next_name_entry = 0;
+
+ const char *compiler_path = getenv ("COMPILER_PATH");
+ if (!compiler_path)
+@@ -985,13 +993,19 @@ compile_images_for_offload_targets (unsi
+ offload_names = XCNEWVEC (char *, num_targets + 1);
+ for (unsigned i = 0; i < num_targets; i++)
+ {
+- offload_names[i]
++ offload_names[next_name_entry]
+ = compile_offload_image (names[i], compiler_path, in_argc, in_argv,
+ compiler_opts, compiler_opt_count,
+ linker_opts, linker_opt_count);
+- if (!offload_names[i])
+- fatal_error (input_location,
+- "problem with building target image for %s", names[i]);
++ if (!offload_names[next_name_entry])
++ continue;
++ next_name_entry++;
++ }
++
++ if (next_name_entry == 0)
++ {
++ free (offload_names);
++ offload_names = NULL;
+ }
+
+ out:
+--- libgomp/target.c.jj 2017-01-01 12:45:52.000000000 +0100
++++ libgomp/target.c 2017-01-20 20:12:13.756710875 +0100
+@@ -2356,7 +2356,7 @@ gomp_load_plugin_for_device (struct gomp
+
+ void *plugin_handle = dlopen (plugin_name, RTLD_LAZY);
+ if (!plugin_handle)
+- goto dl_fail;
++ return 0;
+
+ /* Check if all required functions are available in the plugin and store
+ their handlers. None of the symbols can legitimately be NULL,
diff --git a/gcc11-hack.patch b/gcc11-hack.patch
new file mode 100644
index 0000000..ba80c24
--- /dev/null
+++ b/gcc11-hack.patch
@@ -0,0 +1,126 @@
+--- libada/Makefile.in.jj 2019-01-09 13:01:18.015608205 +0100
++++ libada/Makefile.in 2019-01-11 18:16:23.441726931 +0100
+@@ -71,18 +71,40 @@ version := $(shell @get_gcc_base_ver@ $(
+ libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR)
+ ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR))
+
++DEFAULTMULTIFLAGS :=
++ifeq ($(MULTISUBDIR),)
++targ:=$(subst -, ,$(target))
++arch:=$(word 1,$(targ))
++ifeq ($(words $(targ)),2)
++osys:=$(word 2,$(targ))
++else
++osys:=$(word 3,$(targ))
++endif
++ifeq ($(strip $(filter-out i%86 x86_64 powerpc% ppc% s390% sparc% linux%, $(arch) $(osys))),)
++ifeq ($(shell $(CC) $(CFLAGS) -print-multi-os-directory),../lib64)
++DEFAULTMULTIFLAGS := -m64
++else
++ifeq ($(strip $(filter-out s390%, $(arch))),)
++DEFAULTMULTIFLAGS := -m31
++else
++DEFAULTMULTIFLAGS := -m32
++endif
++endif
++endif
++endif
++
+ # exeext should not be used because it's the *host* exeext. We're building
+ # a *target* library, aren't we?!? Likewise for CC. Still, provide bogus
+ # definitions just in case something slips through the safety net provided
+ # by recursive make invocations in gcc/ada/Makefile.in
+ LIBADA_FLAGS_TO_PASS = \
+ "MAKEOVERRIDES=" \
+- "LDFLAGS=$(LDFLAGS)" \
++ "LDFLAGS=$(LDFLAGS) $(DEFAULTMULTIFLAGS)" \
+ "LN_S=$(LN_S)" \
+ "SHELL=$(SHELL)" \
+- "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \
+- "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \
+- "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \
++ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \
++ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \
++ "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \
+ "PICFLAG_FOR_TARGET=$(PICFLAG)" \
+ "THREAD_KIND=$(THREAD_KIND)" \
+ "TRACE=$(TRACE)" \
+@@ -93,7 +115,7 @@ LIBADA_FLAGS_TO_PASS = \
+ "exeext=.exeext.should.not.be.used " \
+ 'CC=the.host.compiler.should.not.be.needed' \
+ "GCC_FOR_TARGET=$(CC)" \
+- "CFLAGS=$(CFLAGS)"
++ "CFLAGS=$(CFLAGS) $(DEFAULTMULTIFLAGS)"
+
+ .PHONY: libada gnatlib gnatlib-shared gnatlib-sjlj gnatlib-zcx osconstool
+
+--- config-ml.in.jj 2019-01-09 12:50:16.646501448 +0100
++++ config-ml.in 2019-01-11 18:16:23.442726914 +0100
+@@ -511,6 +511,8 @@ multi-do:
+ ADAFLAGS="$(ADAFLAGS) $${flags}" \
+ prefix="$(prefix)" \
+ exec_prefix="$(exec_prefix)" \
++ mandir="$(mandir)" \
++ infodir="$(infodir)" \
+ GOCFLAGS="$(GOCFLAGS) $${flags}" \
+ GDCFLAGS="$(GDCFLAGS) $${flags}" \
+ CXXFLAGS="$(CXXFLAGS) $${flags}" \
+--- libcpp/macro.c.jj 2019-01-09 13:01:21.420552123 +0100
++++ libcpp/macro.c 2019-01-11 18:18:17.736876285 +0100
+@@ -3256,8 +3256,6 @@ static cpp_macro *
+ create_iso_definition (cpp_reader *pfile)
+ {
+ bool following_paste_op = false;
+- const char *paste_op_error_msg =
+- N_("'##' cannot appear at either end of a macro expansion");
+ unsigned int num_extra_tokens = 0;
+ unsigned nparms = 0;
+ cpp_hashnode **params = NULL;
+@@ -3382,7 +3380,9 @@ create_iso_definition (cpp_reader *pfile
+ function-like macros, but not at the end. */
+ if (following_paste_op)
+ {
+- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
++ cpp_error (pfile, CPP_DL_ERROR,
++ "'##' cannot appear at either end of a macro "
++ "expansion");
+ goto out;
+ }
+ if (!vaopt_tracker.completed ())
+@@ -3397,7 +3397,9 @@ create_iso_definition (cpp_reader *pfile
+ function-like macros, but not at the beginning. */
+ if (macro->count == 1)
+ {
+- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
++ cpp_error (pfile, CPP_DL_ERROR,
++ "'##' cannot appear at either end of a macro "
++ "expansion");
+ goto out;
+ }
+
+--- libcpp/expr.c.jj 2019-01-09 13:01:22.415535734 +0100
++++ libcpp/expr.c 2019-01-11 18:16:23.444726882 +0100
+@@ -788,16 +788,17 @@ cpp_classify_number (cpp_reader *pfile,
+ if ((result & CPP_N_WIDTH) == CPP_N_LARGE
+ && CPP_OPTION (pfile, cpp_warn_long_long))
+ {
+- const char *message = CPP_OPTION (pfile, cplusplus)
+- ? N_("use of C++11 long long integer constant")
+- : N_("use of C99 long long integer constant");
+-
+ if (CPP_OPTION (pfile, c99))
+ cpp_warning_with_line (pfile, CPP_W_LONG_LONG, virtual_location,
+- 0, message);
++ 0, CPP_OPTION (pfile, cplusplus)
++ ? N_("use of C++11 long long integer constant")
++ : N_("use of C99 long long integer constant"));
+ else
+ cpp_pedwarning_with_line (pfile, CPP_W_LONG_LONG,
+- virtual_location, 0, message);
++ virtual_location, 0,
++ CPP_OPTION (pfile, cplusplus)
++ ? N_("use of C++11 long long integer constant")
++ : N_("use of C99 long long integer constant"));
+ }
+
+ result |= CPP_N_INTEGER;
diff --git a/gcc11-i386-libgomp.patch b/gcc11-i386-libgomp.patch
new file mode 100644
index 0000000..520561e
--- /dev/null
+++ b/gcc11-i386-libgomp.patch
@@ -0,0 +1,11 @@
+--- libgomp/configure.tgt.jj 2008-01-10 20:53:48.000000000 +0100
++++ libgomp/configure.tgt 2008-03-27 12:44:51.000000000 +0100
+@@ -67,7 +67,7 @@ if test $enable_linux_futex = yes; then
+ ;;
+ *)
+ if test -z "$with_arch"; then
+- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
++ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
+ fi
+ esac
+ ;;
diff --git a/gcc11-isl-dl.patch b/gcc11-isl-dl.patch
new file mode 100644
index 0000000..b3982f9
--- /dev/null
+++ b/gcc11-isl-dl.patch
@@ -0,0 +1,716 @@
+--- gcc/Makefile.in.jj 2015-06-06 10:00:25.000000000 +0200
++++ gcc/Makefile.in 2015-11-04 14:56:02.643536437 +0100
+@@ -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) $(ZSTD_LIB)
+ # Any system libraries needed just for GNAT.
+ SYSLIBS = @GNAT_LIBEXC@
+@@ -2302,6 +2302,15 @@ $(out_object_file): $(out_file)
+ $(common_out_object_file): $(common_out_file)
+ $(COMPILE) $<
+ $(POSTCOMPILE)
++
++graphite%.o : \
++ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
++graphite.o : \
++ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
++graphite%.o : \
++ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
++graphite.o : \
++ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
+ #
+ # Generate header and source files from the machine description,
+ # and compile them.
+--- gcc/graphite.h.jj 2016-01-27 12:44:06.000000000 +0100
++++ gcc/graphite.h 2016-01-27 13:26:38.309876856 +0100
+@@ -24,6 +24,591 @@ along with GCC; see the file COPYING3.
+
+ #include "sese.h"
+
++#include
++#include
++
++#define DYNSYMS \
++ DYNSYM (isl_aff_add_coefficient_si); \
++ DYNSYM (isl_aff_free); \
++ DYNSYM (isl_aff_get_space); \
++ DYNSYM (isl_aff_set_coefficient_si); \
++ DYNSYM (isl_aff_set_constant_si); \
++ DYNSYM (isl_aff_zero_on_domain); \
++ DYNSYM (isl_band_free); \
++ DYNSYM (isl_band_get_children); \
++ DYNSYM (isl_band_get_partial_schedule); \
++ DYNSYM (isl_band_has_children); \
++ DYNSYM (isl_band_list_free); \
++ DYNSYM (isl_band_list_get_band); \
++ DYNSYM (isl_band_list_get_ctx); \
++ DYNSYM (isl_band_list_n_band); \
++ DYNSYM (isl_band_n_member); \
++ DYNSYM (isl_basic_map_add_constraint); \
++ DYNSYM (isl_basic_map_project_out); \
++ DYNSYM (isl_basic_map_universe); \
++ DYNSYM (isl_constraint_set_coefficient_si); \
++ DYNSYM (isl_constraint_set_constant_si); \
++ DYNSYM (isl_ctx_alloc); \
++ DYNSYM (isl_ctx_free); \
++ DYNSYM (isl_equality_alloc); \
++ DYNSYM (isl_id_alloc); \
++ DYNSYM (isl_id_copy); \
++ DYNSYM (isl_id_free); \
++ DYNSYM (isl_inequality_alloc); \
++ DYNSYM (isl_local_space_copy); \
++ DYNSYM (isl_local_space_free); \
++ DYNSYM (isl_local_space_from_space); \
++ DYNSYM (isl_local_space_range); \
++ DYNSYM (isl_map_add_constraint); \
++ DYNSYM (isl_map_add_dims); \
++ DYNSYM (isl_map_align_params); \
++ DYNSYM (isl_map_apply_range); \
++ DYNSYM (isl_map_copy); \
++ DYNSYM (isl_map_dim); \
++ DYNSYM (isl_map_dump); \
++ DYNSYM (isl_map_equate); \
++ DYNSYM (isl_map_fix_si); \
++ DYNSYM (isl_map_flat_product); \
++ DYNSYM (isl_map_flat_range_product); \
++ DYNSYM (isl_map_free); \
++ DYNSYM (isl_map_from_basic_map); \
++ DYNSYM (isl_map_from_pw_aff); \
++ DYNSYM (isl_map_from_union_map); \
++ DYNSYM (isl_map_get_ctx); \
++ DYNSYM (isl_map_get_space); \
++ DYNSYM (isl_map_get_tuple_id); \
++ DYNSYM (isl_map_insert_dims); \
++ DYNSYM (isl_map_intersect); \
++ DYNSYM (isl_map_intersect_domain); \
++ DYNSYM (isl_map_intersect_range); \
++ DYNSYM (isl_map_is_empty); \
++ DYNSYM (isl_map_lex_ge); \
++ DYNSYM (isl_map_lex_le); \
++ DYNSYM (isl_map_n_out); \
++ DYNSYM (isl_map_range); \
++ DYNSYM (isl_map_set_tuple_id); \
++ DYNSYM (isl_map_universe); \
++ DYNSYM (isl_options_set_on_error); \
++ DYNSYM (isl_options_set_schedule_serialize_sccs); \
++ DYNSYM (isl_printer_set_yaml_style); \
++ DYNSYM (isl_options_set_schedule_max_constant_term); \
++ DYNSYM (isl_options_set_schedule_maximize_band_depth); \
++ DYNSYM (isl_printer_free); \
++ DYNSYM (isl_printer_print_aff); \
++ DYNSYM (isl_printer_print_constraint); \
++ DYNSYM (isl_printer_print_map); \
++ DYNSYM (isl_printer_print_set); \
++ DYNSYM (isl_printer_to_file); \
++ DYNSYM (isl_pw_aff_add); \
++ DYNSYM (isl_pw_aff_alloc); \
++ DYNSYM (isl_pw_aff_copy); \
++ DYNSYM (isl_pw_aff_eq_set); \
++ DYNSYM (isl_pw_aff_free); \
++ DYNSYM (isl_pw_aff_from_aff); \
++ DYNSYM (isl_pw_aff_ge_set); \
++ DYNSYM (isl_pw_aff_gt_set); \
++ DYNSYM (isl_pw_aff_is_cst); \
++ DYNSYM (isl_pw_aff_le_set); \
++ DYNSYM (isl_pw_aff_lt_set); \
++ DYNSYM (isl_pw_aff_mul); \
++ DYNSYM (isl_pw_aff_ne_set); \
++ DYNSYM (isl_pw_aff_nonneg_set); \
++ DYNSYM (isl_pw_aff_set_tuple_id); \
++ DYNSYM (isl_pw_aff_sub); \
++ DYNSYM (isl_pw_aff_zero_set); \
++ DYNSYM (isl_schedule_free); \
++ DYNSYM (isl_schedule_get_band_forest); \
++ DYNSYM (isl_set_add_constraint); \
++ DYNSYM (isl_set_add_dims); \
++ DYNSYM (isl_set_apply); \
++ DYNSYM (isl_set_coalesce); \
++ DYNSYM (isl_set_copy); \
++ DYNSYM (isl_set_dim); \
++ DYNSYM (isl_set_fix_si); \
++ DYNSYM (isl_set_free); \
++ DYNSYM (isl_set_get_space); \
++ DYNSYM (isl_set_get_tuple_id); \
++ DYNSYM (isl_set_intersect); \
++ DYNSYM (isl_set_is_empty); \
++ DYNSYM (isl_set_n_dim); \
++ DYNSYM (isl_set_nat_universe); \
++ DYNSYM (isl_set_project_out); \
++ DYNSYM (isl_set_set_tuple_id); \
++ DYNSYM (isl_set_universe); \
++ DYNSYM (isl_space_add_dims); \
++ DYNSYM (isl_space_alloc); \
++ DYNSYM (isl_space_copy); \
++ DYNSYM (isl_space_dim); \
++ DYNSYM (isl_space_domain); \
++ DYNSYM (isl_space_find_dim_by_id); \
++ DYNSYM (isl_space_free); \
++ DYNSYM (isl_space_from_domain); \
++ DYNSYM (isl_space_get_tuple_id); \
++ DYNSYM (isl_space_params_alloc); \
++ DYNSYM (isl_space_range); \
++ DYNSYM (isl_space_set_alloc); \
++ DYNSYM (isl_space_set_dim_id); \
++ DYNSYM (isl_space_set_tuple_id); \
++ DYNSYM (isl_union_map_add_map); \
++ DYNSYM (isl_union_map_align_params); \
++ DYNSYM (isl_union_map_apply_domain); \
++ DYNSYM (isl_union_map_apply_range); \
++ DYNSYM (isl_union_map_compute_flow); \
++ DYNSYM (isl_union_map_copy); \
++ DYNSYM (isl_union_map_empty); \
++ DYNSYM (isl_union_map_flat_range_product); \
++ DYNSYM (isl_union_map_foreach_map); \
++ DYNSYM (isl_union_map_free); \
++ DYNSYM (isl_union_map_from_map); \
++ DYNSYM (isl_union_map_get_ctx); \
++ DYNSYM (isl_union_map_get_space); \
++ DYNSYM (isl_union_map_gist_domain); \
++ DYNSYM (isl_union_map_gist_range); \
++ DYNSYM (isl_union_map_intersect_domain); \
++ DYNSYM (isl_union_map_is_empty); \
++ DYNSYM (isl_union_map_subtract); \
++ DYNSYM (isl_union_map_union); \
++ DYNSYM (isl_union_set_add_set); \
++ DYNSYM (isl_union_set_compute_schedule); \
++ DYNSYM (isl_union_set_copy); \
++ DYNSYM (isl_union_set_empty); \
++ DYNSYM (isl_union_set_from_set); \
++ DYNSYM (isl_aff_add_constant_val); \
++ DYNSYM (isl_aff_get_coefficient_val); \
++ DYNSYM (isl_aff_get_ctx); \
++ DYNSYM (isl_aff_mod_val); \
++ DYNSYM (isl_ast_build_ast_from_schedule); \
++ DYNSYM (isl_ast_build_free); \
++ DYNSYM (isl_ast_build_from_context); \
++ DYNSYM (isl_ast_build_get_ctx); \
++ DYNSYM (isl_ast_build_get_schedule); \
++ DYNSYM (isl_ast_build_get_schedule_space); \
++ DYNSYM (isl_ast_build_set_before_each_for); \
++ DYNSYM (isl_ast_build_set_options); \
++ DYNSYM (isl_ast_expr_free); \
++ DYNSYM (isl_ast_expr_from_val); \
++ DYNSYM (isl_ast_expr_get_ctx); \
++ DYNSYM (isl_ast_expr_get_id); \
++ DYNSYM (isl_ast_expr_get_op_arg); \
++ DYNSYM (isl_ast_expr_get_op_n_arg); \
++ DYNSYM (isl_ast_expr_get_op_type); \
++ DYNSYM (isl_ast_expr_get_type); \
++ DYNSYM (isl_ast_expr_get_val); \
++ DYNSYM (isl_ast_expr_sub); \
++ DYNSYM (isl_ast_node_block_get_children); \
++ DYNSYM (isl_ast_node_for_get_body); \
++ DYNSYM (isl_ast_node_for_get_cond); \
++ DYNSYM (isl_ast_node_for_get_inc); \
++ DYNSYM (isl_ast_node_for_get_init); \
++ DYNSYM (isl_ast_node_for_get_iterator); \
++ DYNSYM (isl_ast_node_free); \
++ DYNSYM (isl_ast_node_get_annotation); \
++ DYNSYM (isl_ast_node_get_type); \
++ DYNSYM (isl_ast_node_if_get_cond); \
++ DYNSYM (isl_ast_node_if_get_else); \
++ DYNSYM (isl_ast_node_if_get_then); \
++ DYNSYM (isl_ast_node_list_free); \
++ DYNSYM (isl_ast_node_list_get_ast_node); \
++ DYNSYM (isl_ast_node_list_n_ast_node); \
++ DYNSYM (isl_ast_node_user_get_expr); \
++ DYNSYM (isl_constraint_set_coefficient_val); \
++ DYNSYM (isl_constraint_set_constant_val); \
++ DYNSYM (isl_id_get_user); \
++ DYNSYM (isl_local_space_get_ctx); \
++ DYNSYM (isl_map_fix_val); \
++ DYNSYM (isl_options_set_ast_build_atomic_upper_bound); \
++ DYNSYM (isl_printer_print_ast_node); \
++ DYNSYM (isl_printer_print_str); \
++ DYNSYM (isl_printer_set_output_format); \
++ DYNSYM (isl_pw_aff_mod_val); \
++ DYNSYM (isl_schedule_constraints_compute_schedule); \
++ DYNSYM (isl_schedule_constraints_on_domain); \
++ DYNSYM (isl_schedule_constraints_set_coincidence); \
++ DYNSYM (isl_schedule_constraints_set_proximity); \
++ DYNSYM (isl_schedule_constraints_set_validity); \
++ DYNSYM (isl_set_get_dim_id); \
++ DYNSYM (isl_set_max_val); \
++ DYNSYM (isl_set_min_val); \
++ DYNSYM (isl_set_params); \
++ DYNSYM (isl_space_align_params); \
++ DYNSYM (isl_space_map_from_domain_and_range); \
++ DYNSYM (isl_space_set_tuple_name); \
++ DYNSYM (isl_space_wrap); \
++ DYNSYM (isl_union_map_from_domain_and_range); \
++ DYNSYM (isl_union_map_range); \
++ DYNSYM (isl_union_set_union); \
++ DYNSYM (isl_union_set_universe); \
++ DYNSYM (isl_val_2exp); \
++ DYNSYM (isl_val_add_ui); \
++ DYNSYM (isl_val_copy); \
++ DYNSYM (isl_val_free); \
++ DYNSYM (isl_val_int_from_si); \
++ DYNSYM (isl_val_int_from_ui); \
++ DYNSYM (isl_val_mul); \
++ DYNSYM (isl_val_neg); \
++ DYNSYM (isl_val_sub); \
++ DYNSYM (isl_printer_print_union_map); \
++ DYNSYM (isl_pw_aff_get_ctx); \
++ DYNSYM (isl_val_is_int); \
++ DYNSYM (isl_ctx_get_max_operations); \
++ DYNSYM (isl_ctx_set_max_operations); \
++ DYNSYM (isl_ctx_last_error); \
++ DYNSYM (isl_ctx_reset_operations); \
++ DYNSYM (isl_map_coalesce); \
++ DYNSYM (isl_printer_print_schedule); \
++ DYNSYM (isl_set_set_dim_id); \
++ DYNSYM (isl_union_map_coalesce); \
++ DYNSYM (isl_multi_val_set_val); \
++ DYNSYM (isl_multi_val_zero); \
++ DYNSYM (isl_options_set_schedule_max_coefficient); \
++ DYNSYM (isl_options_set_tile_scale_tile_loops); \
++ DYNSYM (isl_schedule_copy); \
++ DYNSYM (isl_schedule_get_map); \
++ DYNSYM (isl_schedule_map_schedule_node_bottom_up); \
++ DYNSYM (isl_schedule_node_band_get_permutable); \
++ DYNSYM (isl_schedule_node_band_get_space); \
++ DYNSYM (isl_schedule_node_band_tile); \
++ DYNSYM (isl_schedule_node_child); \
++ DYNSYM (isl_schedule_node_free); \
++ DYNSYM (isl_schedule_node_get_child); \
++ DYNSYM (isl_schedule_node_get_ctx); \
++ DYNSYM (isl_schedule_node_get_type); \
++ DYNSYM (isl_schedule_node_n_children); \
++ DYNSYM (isl_union_map_is_equal); \
++ DYNSYM (isl_union_access_info_compute_flow); \
++ DYNSYM (isl_union_access_info_from_sink); \
++ DYNSYM (isl_union_access_info_set_may_source); \
++ DYNSYM (isl_union_access_info_set_must_source); \
++ DYNSYM (isl_union_access_info_set_schedule); \
++ DYNSYM (isl_union_flow_free); \
++ DYNSYM (isl_union_flow_get_may_dependence); \
++ DYNSYM (isl_union_flow_get_must_dependence); \
++ DYNSYM (isl_aff_var_on_domain); \
++ DYNSYM (isl_multi_aff_from_aff); \
++ DYNSYM (isl_schedule_get_ctx); \
++ DYNSYM (isl_multi_aff_set_tuple_id); \
++ DYNSYM (isl_multi_aff_dim); \
++ DYNSYM (isl_schedule_get_domain); \
++ DYNSYM (isl_union_set_is_empty); \
++ DYNSYM (isl_union_set_get_space); \
++ DYNSYM (isl_union_pw_multi_aff_empty); \
++ DYNSYM (isl_union_set_foreach_set); \
++ DYNSYM (isl_union_set_free); \
++ DYNSYM (isl_multi_union_pw_aff_from_union_pw_multi_aff); \
++ DYNSYM (isl_multi_union_pw_aff_apply_multi_aff); \
++ DYNSYM (isl_schedule_insert_partial_schedule); \
++ DYNSYM (isl_union_pw_multi_aff_free); \
++ DYNSYM (isl_pw_multi_aff_project_out_map); \
++ DYNSYM (isl_union_pw_multi_aff_add_pw_multi_aff); \
++ DYNSYM (isl_schedule_from_domain); \
++ DYNSYM (isl_schedule_sequence); \
++ DYNSYM (isl_ast_build_node_from_schedule); \
++ DYNSYM (isl_ast_node_mark_get_node); \
++ DYNSYM (isl_schedule_node_band_member_get_ast_loop_type); \
++ DYNSYM (isl_schedule_node_band_member_set_ast_loop_type); \
++ DYNSYM (isl_val_n_abs_num_chunks); \
++ DYNSYM (isl_val_get_abs_num_chunks); \
++ DYNSYM (isl_val_int_from_chunks); \
++ DYNSYM (isl_val_is_neg); \
++ DYNSYM (isl_version); \
++ DYNSYM (isl_options_get_on_error); \
++ DYNSYM (isl_ctx_reset_error);
++
++extern struct isl_pointers_s__
++{
++ bool inited;
++ void *h;
++#define DYNSYM(x) __typeof (x) *p_##x
++ DYNSYMS
++#undef DYNSYM
++} isl_pointers__;
++
++#define isl_aff_add_coefficient_si (*isl_pointers__.p_isl_aff_add_coefficient_si)
++#define isl_aff_free (*isl_pointers__.p_isl_aff_free)
++#define isl_aff_get_space (*isl_pointers__.p_isl_aff_get_space)
++#define isl_aff_set_coefficient_si (*isl_pointers__.p_isl_aff_set_coefficient_si)
++#define isl_aff_set_constant_si (*isl_pointers__.p_isl_aff_set_constant_si)
++#define isl_aff_zero_on_domain (*isl_pointers__.p_isl_aff_zero_on_domain)
++#define isl_band_free (*isl_pointers__.p_isl_band_free)
++#define isl_band_get_children (*isl_pointers__.p_isl_band_get_children)
++#define isl_band_get_partial_schedule (*isl_pointers__.p_isl_band_get_partial_schedule)
++#define isl_band_has_children (*isl_pointers__.p_isl_band_has_children)
++#define isl_band_list_free (*isl_pointers__.p_isl_band_list_free)
++#define isl_band_list_get_band (*isl_pointers__.p_isl_band_list_get_band)
++#define isl_band_list_get_ctx (*isl_pointers__.p_isl_band_list_get_ctx)
++#define isl_band_list_n_band (*isl_pointers__.p_isl_band_list_n_band)
++#define isl_band_n_member (*isl_pointers__.p_isl_band_n_member)
++#define isl_basic_map_add_constraint (*isl_pointers__.p_isl_basic_map_add_constraint)
++#define isl_basic_map_project_out (*isl_pointers__.p_isl_basic_map_project_out)
++#define isl_basic_map_universe (*isl_pointers__.p_isl_basic_map_universe)
++#define isl_constraint_set_coefficient_si (*isl_pointers__.p_isl_constraint_set_coefficient_si)
++#define isl_constraint_set_constant_si (*isl_pointers__.p_isl_constraint_set_constant_si)
++#define isl_ctx_alloc (*isl_pointers__.p_isl_ctx_alloc)
++#define isl_ctx_free (*isl_pointers__.p_isl_ctx_free)
++#define isl_equality_alloc (*isl_pointers__.p_isl_equality_alloc)
++#define isl_id_alloc (*isl_pointers__.p_isl_id_alloc)
++#define isl_id_copy (*isl_pointers__.p_isl_id_copy)
++#define isl_id_free (*isl_pointers__.p_isl_id_free)
++#define isl_inequality_alloc (*isl_pointers__.p_isl_inequality_alloc)
++#define isl_local_space_copy (*isl_pointers__.p_isl_local_space_copy)
++#define isl_local_space_free (*isl_pointers__.p_isl_local_space_free)
++#define isl_local_space_from_space (*isl_pointers__.p_isl_local_space_from_space)
++#define isl_local_space_range (*isl_pointers__.p_isl_local_space_range)
++#define isl_map_add_constraint (*isl_pointers__.p_isl_map_add_constraint)
++#define isl_map_add_dims (*isl_pointers__.p_isl_map_add_dims)
++#define isl_map_align_params (*isl_pointers__.p_isl_map_align_params)
++#define isl_map_apply_range (*isl_pointers__.p_isl_map_apply_range)
++#define isl_map_copy (*isl_pointers__.p_isl_map_copy)
++#define isl_map_dim (*isl_pointers__.p_isl_map_dim)
++#define isl_map_dump (*isl_pointers__.p_isl_map_dump)
++#define isl_map_equate (*isl_pointers__.p_isl_map_equate)
++#define isl_map_fix_si (*isl_pointers__.p_isl_map_fix_si)
++#define isl_map_flat_product (*isl_pointers__.p_isl_map_flat_product)
++#define isl_map_flat_range_product (*isl_pointers__.p_isl_map_flat_range_product)
++#define isl_map_free (*isl_pointers__.p_isl_map_free)
++#define isl_map_from_basic_map (*isl_pointers__.p_isl_map_from_basic_map)
++#define isl_map_from_pw_aff (*isl_pointers__.p_isl_map_from_pw_aff)
++#define isl_map_from_union_map (*isl_pointers__.p_isl_map_from_union_map)
++#define isl_map_get_ctx (*isl_pointers__.p_isl_map_get_ctx)
++#define isl_map_get_space (*isl_pointers__.p_isl_map_get_space)
++#define isl_map_get_tuple_id (*isl_pointers__.p_isl_map_get_tuple_id)
++#define isl_map_insert_dims (*isl_pointers__.p_isl_map_insert_dims)
++#define isl_map_intersect (*isl_pointers__.p_isl_map_intersect)
++#define isl_map_intersect_domain (*isl_pointers__.p_isl_map_intersect_domain)
++#define isl_map_intersect_range (*isl_pointers__.p_isl_map_intersect_range)
++#define isl_map_is_empty (*isl_pointers__.p_isl_map_is_empty)
++#define isl_map_lex_ge (*isl_pointers__.p_isl_map_lex_ge)
++#define isl_map_lex_le (*isl_pointers__.p_isl_map_lex_le)
++#define isl_map_n_out (*isl_pointers__.p_isl_map_n_out)
++#define isl_map_range (*isl_pointers__.p_isl_map_range)
++#define isl_map_set_tuple_id (*isl_pointers__.p_isl_map_set_tuple_id)
++#define isl_map_universe (*isl_pointers__.p_isl_map_universe)
++#define isl_options_set_on_error (*isl_pointers__.p_isl_options_set_on_error)
++#define isl_options_set_schedule_serialize_sccs (*isl_pointers__.p_isl_options_set_schedule_serialize_sccs)
++#define isl_printer_set_yaml_style (*isl_pointers__.p_isl_printer_set_yaml_style)
++#define isl_options_set_schedule_max_constant_term (*isl_pointers__.p_isl_options_set_schedule_max_constant_term)
++#define isl_options_set_schedule_maximize_band_depth (*isl_pointers__.p_isl_options_set_schedule_maximize_band_depth)
++#define isl_printer_free (*isl_pointers__.p_isl_printer_free)
++#define isl_printer_print_aff (*isl_pointers__.p_isl_printer_print_aff)
++#define isl_printer_print_constraint (*isl_pointers__.p_isl_printer_print_constraint)
++#define isl_printer_print_map (*isl_pointers__.p_isl_printer_print_map)
++#define isl_printer_print_set (*isl_pointers__.p_isl_printer_print_set)
++#define isl_printer_to_file (*isl_pointers__.p_isl_printer_to_file)
++#define isl_pw_aff_add (*isl_pointers__.p_isl_pw_aff_add)
++#define isl_pw_aff_alloc (*isl_pointers__.p_isl_pw_aff_alloc)
++#define isl_pw_aff_copy (*isl_pointers__.p_isl_pw_aff_copy)
++#define isl_pw_aff_eq_set (*isl_pointers__.p_isl_pw_aff_eq_set)
++#define isl_pw_aff_free (*isl_pointers__.p_isl_pw_aff_free)
++#define isl_pw_aff_from_aff (*isl_pointers__.p_isl_pw_aff_from_aff)
++#define isl_pw_aff_ge_set (*isl_pointers__.p_isl_pw_aff_ge_set)
++#define isl_pw_aff_gt_set (*isl_pointers__.p_isl_pw_aff_gt_set)
++#define isl_pw_aff_is_cst (*isl_pointers__.p_isl_pw_aff_is_cst)
++#define isl_pw_aff_le_set (*isl_pointers__.p_isl_pw_aff_le_set)
++#define isl_pw_aff_lt_set (*isl_pointers__.p_isl_pw_aff_lt_set)
++#define isl_pw_aff_mul (*isl_pointers__.p_isl_pw_aff_mul)
++#define isl_pw_aff_ne_set (*isl_pointers__.p_isl_pw_aff_ne_set)
++#define isl_pw_aff_nonneg_set (*isl_pointers__.p_isl_pw_aff_nonneg_set)
++#define isl_pw_aff_set_tuple_id (*isl_pointers__.p_isl_pw_aff_set_tuple_id)
++#define isl_pw_aff_sub (*isl_pointers__.p_isl_pw_aff_sub)
++#define isl_pw_aff_zero_set (*isl_pointers__.p_isl_pw_aff_zero_set)
++#define isl_schedule_free (*isl_pointers__.p_isl_schedule_free)
++#define isl_schedule_get_band_forest (*isl_pointers__.p_isl_schedule_get_band_forest)
++#define isl_set_add_constraint (*isl_pointers__.p_isl_set_add_constraint)
++#define isl_set_add_dims (*isl_pointers__.p_isl_set_add_dims)
++#define isl_set_apply (*isl_pointers__.p_isl_set_apply)
++#define isl_set_coalesce (*isl_pointers__.p_isl_set_coalesce)
++#define isl_set_copy (*isl_pointers__.p_isl_set_copy)
++#define isl_set_dim (*isl_pointers__.p_isl_set_dim)
++#define isl_set_fix_si (*isl_pointers__.p_isl_set_fix_si)
++#define isl_set_free (*isl_pointers__.p_isl_set_free)
++#define isl_set_get_space (*isl_pointers__.p_isl_set_get_space)
++#define isl_set_get_tuple_id (*isl_pointers__.p_isl_set_get_tuple_id)
++#define isl_set_intersect (*isl_pointers__.p_isl_set_intersect)
++#define isl_set_is_empty (*isl_pointers__.p_isl_set_is_empty)
++#define isl_set_n_dim (*isl_pointers__.p_isl_set_n_dim)
++#define isl_set_nat_universe (*isl_pointers__.p_isl_set_nat_universe)
++#define isl_set_project_out (*isl_pointers__.p_isl_set_project_out)
++#define isl_set_set_tuple_id (*isl_pointers__.p_isl_set_set_tuple_id)
++#define isl_set_universe (*isl_pointers__.p_isl_set_universe)
++#define isl_space_add_dims (*isl_pointers__.p_isl_space_add_dims)
++#define isl_space_alloc (*isl_pointers__.p_isl_space_alloc)
++#define isl_space_copy (*isl_pointers__.p_isl_space_copy)
++#define isl_space_dim (*isl_pointers__.p_isl_space_dim)
++#define isl_space_domain (*isl_pointers__.p_isl_space_domain)
++#define isl_space_find_dim_by_id (*isl_pointers__.p_isl_space_find_dim_by_id)
++#define isl_space_free (*isl_pointers__.p_isl_space_free)
++#define isl_space_from_domain (*isl_pointers__.p_isl_space_from_domain)
++#define isl_space_get_tuple_id (*isl_pointers__.p_isl_space_get_tuple_id)
++#define isl_space_params_alloc (*isl_pointers__.p_isl_space_params_alloc)
++#define isl_space_range (*isl_pointers__.p_isl_space_range)
++#define isl_space_set_alloc (*isl_pointers__.p_isl_space_set_alloc)
++#define isl_space_set_dim_id (*isl_pointers__.p_isl_space_set_dim_id)
++#define isl_space_set_tuple_id (*isl_pointers__.p_isl_space_set_tuple_id)
++#define isl_union_map_add_map (*isl_pointers__.p_isl_union_map_add_map)
++#define isl_union_map_align_params (*isl_pointers__.p_isl_union_map_align_params)
++#define isl_union_map_apply_domain (*isl_pointers__.p_isl_union_map_apply_domain)
++#define isl_union_map_apply_range (*isl_pointers__.p_isl_union_map_apply_range)
++#define isl_union_map_compute_flow (*isl_pointers__.p_isl_union_map_compute_flow)
++#define isl_union_map_copy (*isl_pointers__.p_isl_union_map_copy)
++#define isl_union_map_empty (*isl_pointers__.p_isl_union_map_empty)
++#define isl_union_map_flat_range_product (*isl_pointers__.p_isl_union_map_flat_range_product)
++#define isl_union_map_foreach_map (*isl_pointers__.p_isl_union_map_foreach_map)
++#define isl_union_map_free (*isl_pointers__.p_isl_union_map_free)
++#define isl_union_map_from_map (*isl_pointers__.p_isl_union_map_from_map)
++#define isl_union_map_get_ctx (*isl_pointers__.p_isl_union_map_get_ctx)
++#define isl_union_map_get_space (*isl_pointers__.p_isl_union_map_get_space)
++#define isl_union_map_gist_domain (*isl_pointers__.p_isl_union_map_gist_domain)
++#define isl_union_map_gist_range (*isl_pointers__.p_isl_union_map_gist_range)
++#define isl_union_map_intersect_domain (*isl_pointers__.p_isl_union_map_intersect_domain)
++#define isl_union_map_is_empty (*isl_pointers__.p_isl_union_map_is_empty)
++#define isl_union_map_subtract (*isl_pointers__.p_isl_union_map_subtract)
++#define isl_union_map_union (*isl_pointers__.p_isl_union_map_union)
++#define isl_union_set_add_set (*isl_pointers__.p_isl_union_set_add_set)
++#define isl_union_set_compute_schedule (*isl_pointers__.p_isl_union_set_compute_schedule)
++#define isl_union_set_copy (*isl_pointers__.p_isl_union_set_copy)
++#define isl_union_set_empty (*isl_pointers__.p_isl_union_set_empty)
++#define isl_union_set_from_set (*isl_pointers__.p_isl_union_set_from_set)
++#define isl_aff_add_constant_val (*isl_pointers__.p_isl_aff_add_constant_val)
++#define isl_aff_get_coefficient_val (*isl_pointers__.p_isl_aff_get_coefficient_val)
++#define isl_aff_get_ctx (*isl_pointers__.p_isl_aff_get_ctx)
++#define isl_aff_mod_val (*isl_pointers__.p_isl_aff_mod_val)
++#define isl_ast_build_ast_from_schedule (*isl_pointers__.p_isl_ast_build_ast_from_schedule)
++#define isl_ast_build_free (*isl_pointers__.p_isl_ast_build_free)
++#define isl_ast_build_from_context (*isl_pointers__.p_isl_ast_build_from_context)
++#define isl_ast_build_get_ctx (*isl_pointers__.p_isl_ast_build_get_ctx)
++#define isl_ast_build_get_schedule (*isl_pointers__.p_isl_ast_build_get_schedule)
++#define isl_ast_build_get_schedule_space (*isl_pointers__.p_isl_ast_build_get_schedule_space)
++#define isl_ast_build_set_before_each_for (*isl_pointers__.p_isl_ast_build_set_before_each_for)
++#define isl_ast_build_set_options (*isl_pointers__.p_isl_ast_build_set_options)
++#define isl_ast_expr_free (*isl_pointers__.p_isl_ast_expr_free)
++#define isl_ast_expr_from_val (*isl_pointers__.p_isl_ast_expr_from_val)
++#define isl_ast_expr_get_ctx (*isl_pointers__.p_isl_ast_expr_get_ctx)
++#define isl_ast_expr_get_id (*isl_pointers__.p_isl_ast_expr_get_id)
++#define isl_ast_expr_get_op_arg (*isl_pointers__.p_isl_ast_expr_get_op_arg)
++#define isl_ast_expr_get_op_n_arg (*isl_pointers__.p_isl_ast_expr_get_op_n_arg)
++#define isl_ast_expr_get_op_type (*isl_pointers__.p_isl_ast_expr_get_op_type)
++#define isl_ast_expr_get_type (*isl_pointers__.p_isl_ast_expr_get_type)
++#define isl_ast_expr_get_val (*isl_pointers__.p_isl_ast_expr_get_val)
++#define isl_ast_expr_sub (*isl_pointers__.p_isl_ast_expr_sub)
++#define isl_ast_node_block_get_children (*isl_pointers__.p_isl_ast_node_block_get_children)
++#define isl_ast_node_for_get_body (*isl_pointers__.p_isl_ast_node_for_get_body)
++#define isl_ast_node_for_get_cond (*isl_pointers__.p_isl_ast_node_for_get_cond)
++#define isl_ast_node_for_get_inc (*isl_pointers__.p_isl_ast_node_for_get_inc)
++#define isl_ast_node_for_get_init (*isl_pointers__.p_isl_ast_node_for_get_init)
++#define isl_ast_node_for_get_iterator (*isl_pointers__.p_isl_ast_node_for_get_iterator)
++#define isl_ast_node_free (*isl_pointers__.p_isl_ast_node_free)
++#define isl_ast_node_get_annotation (*isl_pointers__.p_isl_ast_node_get_annotation)
++#define isl_ast_node_get_type (*isl_pointers__.p_isl_ast_node_get_type)
++#define isl_ast_node_if_get_cond (*isl_pointers__.p_isl_ast_node_if_get_cond)
++#define isl_ast_node_if_get_else (*isl_pointers__.p_isl_ast_node_if_get_else)
++#define isl_ast_node_if_get_then (*isl_pointers__.p_isl_ast_node_if_get_then)
++#define isl_ast_node_list_free (*isl_pointers__.p_isl_ast_node_list_free)
++#define isl_ast_node_list_get_ast_node (*isl_pointers__.p_isl_ast_node_list_get_ast_node)
++#define isl_ast_node_list_n_ast_node (*isl_pointers__.p_isl_ast_node_list_n_ast_node)
++#define isl_ast_node_user_get_expr (*isl_pointers__.p_isl_ast_node_user_get_expr)
++#define isl_constraint_set_coefficient_val (*isl_pointers__.p_isl_constraint_set_coefficient_val)
++#define isl_constraint_set_constant_val (*isl_pointers__.p_isl_constraint_set_constant_val)
++#define isl_id_get_user (*isl_pointers__.p_isl_id_get_user)
++#define isl_local_space_get_ctx (*isl_pointers__.p_isl_local_space_get_ctx)
++#define isl_map_fix_val (*isl_pointers__.p_isl_map_fix_val)
++#define isl_options_set_ast_build_atomic_upper_bound (*isl_pointers__.p_isl_options_set_ast_build_atomic_upper_bound)
++#define isl_printer_print_ast_node (*isl_pointers__.p_isl_printer_print_ast_node)
++#define isl_printer_print_str (*isl_pointers__.p_isl_printer_print_str)
++#define isl_printer_set_output_format (*isl_pointers__.p_isl_printer_set_output_format)
++#define isl_pw_aff_mod_val (*isl_pointers__.p_isl_pw_aff_mod_val)
++#define isl_schedule_constraints_compute_schedule (*isl_pointers__.p_isl_schedule_constraints_compute_schedule)
++#define isl_schedule_constraints_on_domain (*isl_pointers__.p_isl_schedule_constraints_on_domain)
++#define isl_schedule_constraints_set_coincidence (*isl_pointers__.p_isl_schedule_constraints_set_coincidence)
++#define isl_schedule_constraints_set_proximity (*isl_pointers__.p_isl_schedule_constraints_set_proximity)
++#define isl_schedule_constraints_set_validity (*isl_pointers__.p_isl_schedule_constraints_set_validity)
++#define isl_set_get_dim_id (*isl_pointers__.p_isl_set_get_dim_id)
++#define isl_set_max_val (*isl_pointers__.p_isl_set_max_val)
++#define isl_set_min_val (*isl_pointers__.p_isl_set_min_val)
++#define isl_set_params (*isl_pointers__.p_isl_set_params)
++#define isl_space_align_params (*isl_pointers__.p_isl_space_align_params)
++#define isl_space_map_from_domain_and_range (*isl_pointers__.p_isl_space_map_from_domain_and_range)
++#define isl_space_set_tuple_name (*isl_pointers__.p_isl_space_set_tuple_name)
++#define isl_space_wrap (*isl_pointers__.p_isl_space_wrap)
++#define isl_union_map_from_domain_and_range (*isl_pointers__.p_isl_union_map_from_domain_and_range)
++#define isl_union_map_range (*isl_pointers__.p_isl_union_map_range)
++#define isl_union_set_union (*isl_pointers__.p_isl_union_set_union)
++#define isl_union_set_universe (*isl_pointers__.p_isl_union_set_universe)
++#define isl_val_2exp (*isl_pointers__.p_isl_val_2exp)
++#define isl_val_add_ui (*isl_pointers__.p_isl_val_add_ui)
++#define isl_val_copy (*isl_pointers__.p_isl_val_copy)
++#define isl_val_free (*isl_pointers__.p_isl_val_free)
++#define isl_val_int_from_si (*isl_pointers__.p_isl_val_int_from_si)
++#define isl_val_int_from_ui (*isl_pointers__.p_isl_val_int_from_ui)
++#define isl_val_mul (*isl_pointers__.p_isl_val_mul)
++#define isl_val_neg (*isl_pointers__.p_isl_val_neg)
++#define isl_val_sub (*isl_pointers__.p_isl_val_sub)
++#define isl_printer_print_union_map (*isl_pointers__.p_isl_printer_print_union_map)
++#define isl_pw_aff_get_ctx (*isl_pointers__.p_isl_pw_aff_get_ctx)
++#define isl_val_is_int (*isl_pointers__.p_isl_val_is_int)
++#define isl_ctx_get_max_operations (*isl_pointers__.p_isl_ctx_get_max_operations)
++#define isl_ctx_set_max_operations (*isl_pointers__.p_isl_ctx_set_max_operations)
++#define isl_ctx_last_error (*isl_pointers__.p_isl_ctx_last_error)
++#define isl_ctx_reset_operations (*isl_pointers__.p_isl_ctx_reset_operations)
++#define isl_map_coalesce (*isl_pointers__.p_isl_map_coalesce)
++#define isl_printer_print_schedule (*isl_pointers__.p_isl_printer_print_schedule)
++#define isl_set_set_dim_id (*isl_pointers__.p_isl_set_set_dim_id)
++#define isl_union_map_coalesce (*isl_pointers__.p_isl_union_map_coalesce)
++#define isl_multi_val_set_val (*isl_pointers__.p_isl_multi_val_set_val)
++#define isl_multi_val_zero (*isl_pointers__.p_isl_multi_val_zero)
++#define isl_options_set_schedule_max_coefficient (*isl_pointers__.p_isl_options_set_schedule_max_coefficient)
++#define isl_options_set_tile_scale_tile_loops (*isl_pointers__.p_isl_options_set_tile_scale_tile_loops)
++#define isl_schedule_copy (*isl_pointers__.p_isl_schedule_copy)
++#define isl_schedule_get_map (*isl_pointers__.p_isl_schedule_get_map)
++#define isl_schedule_map_schedule_node_bottom_up (*isl_pointers__.p_isl_schedule_map_schedule_node_bottom_up)
++#define isl_schedule_node_band_get_permutable (*isl_pointers__.p_isl_schedule_node_band_get_permutable)
++#define isl_schedule_node_band_get_space (*isl_pointers__.p_isl_schedule_node_band_get_space)
++#define isl_schedule_node_band_tile (*isl_pointers__.p_isl_schedule_node_band_tile)
++#define isl_schedule_node_child (*isl_pointers__.p_isl_schedule_node_child)
++#define isl_schedule_node_free (*isl_pointers__.p_isl_schedule_node_free)
++#define isl_schedule_node_get_child (*isl_pointers__.p_isl_schedule_node_get_child)
++#define isl_schedule_node_get_ctx (*isl_pointers__.p_isl_schedule_node_get_ctx)
++#define isl_schedule_node_get_type (*isl_pointers__.p_isl_schedule_node_get_type)
++#define isl_schedule_node_n_children (*isl_pointers__.p_isl_schedule_node_n_children)
++#define isl_union_map_is_equal (*isl_pointers__.p_isl_union_map_is_equal)
++#define isl_union_access_info_compute_flow (*isl_pointers__.p_isl_union_access_info_compute_flow)
++#define isl_union_access_info_from_sink (*isl_pointers__.p_isl_union_access_info_from_sink)
++#define isl_union_access_info_set_may_source (*isl_pointers__.p_isl_union_access_info_set_may_source)
++#define isl_union_access_info_set_must_source (*isl_pointers__.p_isl_union_access_info_set_must_source)
++#define isl_union_access_info_set_schedule (*isl_pointers__.p_isl_union_access_info_set_schedule)
++#define isl_union_flow_free (*isl_pointers__.p_isl_union_flow_free)
++#define isl_union_flow_get_may_dependence (*isl_pointers__.p_isl_union_flow_get_may_dependence)
++#define isl_union_flow_get_must_dependence (*isl_pointers__.p_isl_union_flow_get_must_dependence)
++#define isl_aff_var_on_domain (*isl_pointers__.p_isl_aff_var_on_domain)
++#define isl_multi_aff_from_aff (*isl_pointers__.p_isl_multi_aff_from_aff)
++#define isl_schedule_get_ctx (*isl_pointers__.p_isl_schedule_get_ctx)
++#define isl_multi_aff_set_tuple_id (*isl_pointers__.p_isl_multi_aff_set_tuple_id)
++#define isl_multi_aff_dim (*isl_pointers__.p_isl_multi_aff_dim)
++#define isl_schedule_get_domain (*isl_pointers__.p_isl_schedule_get_domain)
++#define isl_union_set_is_empty (*isl_pointers__.p_isl_union_set_is_empty)
++#define isl_union_set_get_space (*isl_pointers__.p_isl_union_set_get_space)
++#define isl_union_pw_multi_aff_empty (*isl_pointers__.p_isl_union_pw_multi_aff_empty)
++#define isl_union_set_foreach_set (*isl_pointers__.p_isl_union_set_foreach_set)
++#define isl_union_set_free (*isl_pointers__.p_isl_union_set_free)
++#define isl_multi_union_pw_aff_from_union_pw_multi_aff (*isl_pointers__.p_isl_multi_union_pw_aff_from_union_pw_multi_aff)
++#define isl_multi_union_pw_aff_apply_multi_aff (*isl_pointers__.p_isl_multi_union_pw_aff_apply_multi_aff)
++#define isl_schedule_insert_partial_schedule (*isl_pointers__.p_isl_schedule_insert_partial_schedule)
++#define isl_union_pw_multi_aff_free (*isl_pointers__.p_isl_union_pw_multi_aff_free)
++#define isl_pw_multi_aff_project_out_map (*isl_pointers__.p_isl_pw_multi_aff_project_out_map)
++#define isl_union_pw_multi_aff_add_pw_multi_aff (*isl_pointers__.p_isl_union_pw_multi_aff_add_pw_multi_aff)
++#define isl_schedule_from_domain (*isl_pointers__.p_isl_schedule_from_domain)
++#define isl_schedule_sequence (*isl_pointers__.p_isl_schedule_sequence)
++#define isl_ast_build_node_from_schedule (*isl_pointers__.p_isl_ast_build_node_from_schedule)
++#define isl_ast_node_mark_get_node (*isl_pointers__.p_isl_ast_node_mark_get_node)
++#define isl_schedule_node_band_member_get_ast_loop_type (*isl_pointers__.p_isl_schedule_node_band_member_get_ast_loop_type)
++#define isl_schedule_node_band_member_set_ast_loop_type (*isl_pointers__.p_isl_schedule_node_band_member_set_ast_loop_type)
++#define isl_val_n_abs_num_chunks (*isl_pointers__.p_isl_val_n_abs_num_chunks)
++#define isl_val_get_abs_num_chunks (*isl_pointers__.p_isl_val_get_abs_num_chunks)
++#define isl_val_int_from_chunks (*isl_pointers__.p_isl_val_int_from_chunks)
++#define isl_val_is_neg (*isl_pointers__.p_isl_val_is_neg)
++#define isl_version (*isl_pointers__.p_isl_version)
++#define isl_options_get_on_error (*isl_pointers__.p_isl_options_get_on_error)
++#define isl_ctx_reset_error (*isl_pointers__.p_isl_ctx_reset_error)
++
+ typedef struct poly_dr *poly_dr_p;
+
+ typedef struct poly_bb *poly_bb_p;
+@@ -448,5 +1033,6 @@ extern tree cached_scalar_evolution_in_r
+ extern void dot_all_sese (FILE *, vec &);
+ extern void dot_sese (sese_l &);
+ extern void dot_cfg ();
++extern const char *get_isl_version (bool);
+
+ #endif
+--- gcc/graphite.c.jj 2015-11-04 14:15:32.000000000 +0100
++++ gcc/graphite.c 2015-11-04 14:56:02.645536409 +0100
+@@ -60,6 +60,35 @@ along with GCC; see the file COPYING3.
+ #include "tree-into-ssa.h"
+ #include "graphite.h"
+
++__typeof (isl_pointers__) isl_pointers__;
++
++static bool
++init_isl_pointers (void)
++{
++ void *h;
++
++ if (isl_pointers__.inited)
++ return isl_pointers__.h != NULL;
++ h = dlopen ("libisl.so.15", RTLD_LAZY);
++ isl_pointers__.h = h;
++ if (h == NULL)
++ return false;
++#define DYNSYM(x) \
++ do \
++ { \
++ union { __typeof (isl_pointers__.p_##x) p; void *q; } u; \
++ u.q = dlsym (h, #x); \
++ if (u.q == NULL) \
++ return false; \
++ isl_pointers__.p_##x = u.p; \
++ } \
++ while (0)
++ DYNSYMS
++#undef DYNSYM
++ isl_pointers__.inited = true;
++ return true;
++}
++
+ /* Print global statistics to FILE. */
+
+ static void
+@@ -365,6 +394,15 @@ graphite_transform_loops (void)
+ if (parallelized_function_p (cfun->decl))
+ return;
+
++ if (number_of_loops (cfun) <= 1)
++ return;
++
++ if (!init_isl_pointers ())
++ {
++ sorry ("Graphite loop optimizations cannot be used");
++ return;
++ }
++
+ calculate_dominance_info (CDI_DOMINATORS);
+
+ /* We rely on post-dominators during merging of SESE regions so those
+@@ -455,6 +493,14 @@ graphite_transform_loops (void)
+ }
+ }
+
++const char *
++get_isl_version (bool force)
++{
++ if (force)
++ init_isl_pointers ();
++ return (isl_pointers__.inited && isl_version) ? isl_version () : "none";
++}
++
+ #else /* If isl is not available: #ifndef HAVE_isl. */
+
+ static void
+--- gcc/toplev.c.jj 2017-02-19 13:02:31.000000000 +0100
++++ gcc/toplev.c 2017-02-19 16:50:25.536301350 +0100
+@@ -94,6 +94,7 @@ along with GCC; see the file COPYING3.
+
+ #ifdef HAVE_isl
+ #include
++extern const char *get_isl_version (bool);
+ #endif
+
+ static void general_init (const char *, bool);
+@@ -683,7 +684,7 @@ print_version (FILE *file, const char *i
+ #ifndef HAVE_isl
+ "none"
+ #else
+- isl_version ()
++ get_isl_version (*indent == 0)
+ #endif
+ );
+ if (strcmp (GCC_GMP_STRINGIFY_VERSION, gmp_version))
diff --git a/gcc11-libgomp-omp_h-multilib.patch b/gcc11-libgomp-omp_h-multilib.patch
new file mode 100644
index 0000000..d0e98d1
--- /dev/null
+++ b/gcc11-libgomp-omp_h-multilib.patch
@@ -0,0 +1,17 @@
+2008-06-09 Jakub Jelinek
+
+ * omp.h.in (omp_nest_lock_t): Fix up for Linux multilibs.
+
+--- libgomp/omp.h.in.jj 2008-06-09 13:34:05.000000000 +0200
++++ libgomp/omp.h.in 2008-06-09 13:34:48.000000000 +0200
+@@ -42,8 +42,8 @@ typedef struct
+
+ typedef struct
+ {
+- unsigned char _x[@OMP_NEST_LOCK_SIZE@]
+- __attribute__((__aligned__(@OMP_NEST_LOCK_ALIGN@)));
++ unsigned char _x[8 + sizeof (void *)]
++ __attribute__((__aligned__(sizeof (void *))));
+ } omp_nest_lock_t;
+ #endif
+
diff --git a/gcc11-libstdc++-docs.patch b/gcc11-libstdc++-docs.patch
new file mode 100644
index 0000000..9ea9f88
--- /dev/null
+++ b/gcc11-libstdc++-docs.patch
@@ -0,0 +1,24 @@
+--- libstdc++-v3/doc/html/index.html.jj 2011-01-03 12:53:21.282829010 +0100
++++ libstdc++-v3/doc/html/index.html 2011-01-04 18:06:28.999851145 +0100
+@@ -5,6 +5,8 @@
+ FSF
+
+
++ Release 11.0.0
++
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation
+ License, Version 1.2 or any later version published by the
+--- libstdc++-v3/doc/html/api.html.jj 2011-01-03 12:53:21.000000000 +0100
++++ libstdc++-v3/doc/html/api.html 2011-01-04 18:12:01.672757784 +0100
+@@ -20,7 +20,9 @@
+ member functions for the library classes, finding out what is in a
+ particular include file, looking at inheritance diagrams, etc.
+
+- The API documentation, rendered into HTML, can be viewed online
++ The API documentation, rendered into HTML, can be viewed locally
++ for the 11.0.0 release,
++ online
+ for each GCC release
+ and
+
diff --git a/gcc11-libtool-no-rpath.patch b/gcc11-libtool-no-rpath.patch
new file mode 100644
index 0000000..466c661
--- /dev/null
+++ b/gcc11-libtool-no-rpath.patch
@@ -0,0 +1,27 @@
+libtool sucks.
+--- ltmain.sh.jj 2007-12-07 14:53:21.000000000 +0100
++++ ltmain.sh 2008-09-05 21:51:48.000000000 +0200
+@@ -5394,6 +5394,7 @@ EOF
+ rpath="$finalize_rpath"
+ test "$mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+@@ -6071,6 +6072,7 @@ EOF
+ rpath=
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+@@ -6120,6 +6122,7 @@ EOF
+ rpath=
+ hardcode_libdirs=
+ for libdir in $finalize_rpath; do
++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
diff --git a/gcc11-no-add-needed.patch b/gcc11-no-add-needed.patch
new file mode 100644
index 0000000..5817299
--- /dev/null
+++ b/gcc11-no-add-needed.patch
@@ -0,0 +1,37 @@
+2010-02-08 Roland McGrath
+
+ * config/gnu-user.h (LINK_EH_SPEC): Pass --no-add-needed to the linker.
+ * config/alpha/elf.h (LINK_EH_SPEC): Likewise.
+ * config/ia64/linux.h (LINK_EH_SPEC): Likewise.
+
+--- gcc/config/alpha/elf.h.jj 2011-01-03 12:52:31.118056764 +0100
++++ gcc/config/alpha/elf.h 2011-01-04 18:14:10.931874160 +0100
+@@ -168,5 +168,5 @@ extern int alpha_this_gpdisp_sequence_nu
+ I imagine that other systems will catch up. In the meantime, it
+ doesn't harm to make sure that the data exists to be used later. */
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
++#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} "
+ #endif
+--- gcc/config/ia64/linux.h.jj 2011-01-03 13:02:11.462994522 +0100
++++ gcc/config/ia64/linux.h 2011-01-04 18:14:10.931874160 +0100
+@@ -76,7 +76,7 @@ do { \
+ Signalize that because we have fde-glibc, we don't need all C shared libs
+ linked against -lgcc_s. */
+ #undef LINK_EH_SPEC
+-#define LINK_EH_SPEC ""
++#define LINK_EH_SPEC "--no-add-needed "
+
+ #undef TARGET_INIT_LIBFUNCS
+ #define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs
+--- gcc/config/gnu-user.h.jj 2011-01-03 12:53:03.739057299 +0100
++++ gcc/config/gnu-user.h 2011-01-04 18:14:10.932814884 +0100
+@@ -106,7 +106,7 @@ see the files COPYING3 and COPYING.RUNTI
+ #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC
+
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
++#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} "
+ #endif
+
+ #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
diff --git a/gcc11-plugins.patch b/gcc11-plugins.patch
new file mode 100644
index 0000000..e756438
--- /dev/null
+++ b/gcc11-plugins.patch
@@ -0,0 +1,55 @@
+2020-10-14 Jakub Jelinek
+
+ * Makefile.in (PLUGIN_HEADERS): Add gomp-constants.h and $(EXPR_H).
+ (s-header-vars): Accept not just spaces but also tabs between *_H name
+ and =. Handle common/config/ headers similarly to config. Don't
+ throw away everything from first ... to last / on the remaining
+ string, instead skip just ... to corresponding last / without
+ intervening spaces and tabs.
+ (install-plugin): Treat common/config headers like config headers.
+ * config/i386/t-i386 (TM_H): Add
+ $(srcdir)/common/config/i386/i386-cpuinfo.h.
+
+--- gcc/Makefile.in.jj 2020-10-06 23:35:52.616444535 +0200
++++ gcc/Makefile.in 2020-10-14 14:15:43.179074337 +0200
+@@ -3594,7 +3594,8 @@ PLUGIN_HEADERS = $(TREE_H) $(CONFIG_H) $
+ tree-ssa-threadupdate.h inchash.h wide-int.h signop.h hash-map.h \
+ hash-set.h dominance.h cfg.h cfgrtl.h cfganal.h cfgbuild.h cfgcleanup.h \
+ lcm.h cfgloopmanip.h file-prefix-map.h builtins.def $(INSN_ATTR_H) \
+- pass-instances.def params.list
++ pass-instances.def params.list $(srcdir)/../include/gomp-constants.h \
++ $(EXPR_H)
+
+ # generate the 'build fragment' b-header-vars
+ s-header-vars: Makefile
+@@ -3604,7 +3605,7 @@ s-header-vars: Makefile
+ # more portable than a trailing "-e d" to filter out the uninteresting lines,
+ # in particular on ia64-hpux where "s/.../p" only prints if -n was requested
+ # as well.
+- $(foreach header_var,$(shell sed < Makefile -n -e 's/^\([A-Z0-9_]*_H\)[ ]*=.*/\1/p'),echo $(header_var)=$(shell echo $($(header_var):$(srcdir)/%=.../%) | sed -e 's~\.\.\./config/~config/~' -e 's~\.\.\..*/~~') >> tmp-header-vars;) \
++ $(foreach header_var,$(shell sed < Makefile -n -e 's/^\([A-Z0-9_]*_H\)[ ]*=.*/\1/p'),echo $(header_var)=$(shell echo $($(header_var):$(srcdir)/%=.../%) | sed -e 's~\.\.\./config/~config/~' -e 's~\.\.\./common/config/~common/config/~' -e 's~\.\.\.[^ ]*/~~g') >> tmp-header-vars;)
+ $(SHELL) $(srcdir)/../move-if-change tmp-header-vars b-header-vars
+ $(STAMP) s-header-vars
+
+@@ -3630,7 +3631,8 @@ install-plugin: installdirs lang.install
+ else continue; \
+ fi; \
+ case $$path in \
+- "$(srcdir)"/config/* | "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \
++ "$(srcdir)"/config/* | "$(srcdir)"/common/config/* \
++ | "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \
+ base=`echo "$$path" | sed -e "s|$$srcdirstrip/||"`;; \
+ *) base=`basename $$path` ;; \
+ esac; \
+--- gcc/config/i386/t-i386.jj 2020-01-14 20:02:45.861623645 +0100
++++ gcc/config/i386/t-i386 2020-10-14 13:41:38.503905771 +0200
+@@ -17,7 +17,8 @@
+ # .
+
+ OPTIONS_H_EXTRA += $(srcdir)/config/i386/stringop.def
+-TM_H += $(srcdir)/config/i386/x86-tune.def
++TM_H += $(srcdir)/config/i386/x86-tune.def \
++ $(srcdir)/common/config/i386/i386-cpuinfo.h
+ PASSES_EXTRA += $(srcdir)/config/i386/i386-passes.def
+
+ i386-c.o: $(srcdir)/config/i386/i386-c.c
diff --git a/gcc11-rh1574936.patch b/gcc11-rh1574936.patch
new file mode 100644
index 0000000..6b4be0c
--- /dev/null
+++ b/gcc11-rh1574936.patch
@@ -0,0 +1,30 @@
+crt files and statically linked libgcc objects cause false positives
+in annobin coverage, so we add the assembler flag to generate notes
+for them.
+
+The patch also adds notes to libgcc_s.so, but this is harmless because
+these notes only confer that there is no other annobin markup.
+
+2018-07-25 Florian Weimer
+
+ * Makefile.in (LIBGCC2_CFLAGS, CRTSTUFF_CFLAGS): Add
+ -Wa,--generate-missing-build-notes=yes.
+
+--- libgcc/Makefile.in 2018-01-13 13:05:41.000000000 +0100
++++ libgcc/Makefile.in 2018-07-25 13:15:02.036226940 +0200
+@@ -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 \
++ -Wa,--generate-missing-build-notes=yes \
+ $(INHIBIT_LIBC_CFLAGS)
+
+ # Additional options to use when compiling libgcc2.a.
+@@ -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) $(USE_TM_CLONE_REGISTRY)
+
+ # Extra flags to use when compiling crt{begin,end}.o.
diff --git a/gcc11-sparc-config-detection.patch b/gcc11-sparc-config-detection.patch
new file mode 100644
index 0000000..bb06b35
--- /dev/null
+++ b/gcc11-sparc-config-detection.patch
@@ -0,0 +1,40 @@
+--- gcc/config.gcc.jj 2008-04-24 15:42:46.000000000 -0500
++++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500
+@@ -2790,7 +2790,7 @@ sparc-*-rtems*)
+ tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
+ tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
+ ;;
+-sparc-*-linux*)
++sparc-*-linux* | sparcv9-*-linux*)
+ tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
+ extra_options="${extra_options} sparc/long-double-switch.opt"
+ case ${target} in
+@@ -2844,7 +2844,7 @@ sparc64-*-rtems*)
+ extra_options="${extra_options}"
+ tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
+ ;;
+-sparc64-*-linux*)
++sparc64*-*-linux*)
+ tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h"
+ extra_options="${extra_options} sparc/long-double-switch.opt"
+ tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
+--- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500
++++ libgcc/config.host 2008-04-24 15:46:49.000000000 -0500
+@@ -1002,7 +1002,7 @@ sparc-*-elf*)
+ tmake_file="${tmake_file} t-fdpbit t-crtfm"
+ extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
+ ;;
+-sparc-*-linux*) # SPARC's running GNU/Linux, libc6
++sparc-*-linux* | sparcv9-*-linux*) # SPARC's running GNU/Linux, libc6
+ tmake_file="${tmake_file} t-crtfm"
+ if test "${host_address}" = 64; then
+ tmake_file="$tmake_file sparc/t-linux64"
+@@ -1050,7 +1050,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*
+ tmake_file="$tmake_file t-crtfm"
+ extra_parts="$extra_parts crtfastmath.o"
+ ;;
+-sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
++sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux
+ extra_parts="$extra_parts crtfastmath.o"
+ tmake_file="${tmake_file} t-crtfm sparc/t-linux"
+ if test "${host_address}" = 64; then
diff --git a/update-gcc.sh b/update-gcc.sh
index c04b746..dc695f2 100755
--- a/update-gcc.sh
+++ b/update-gcc.sh
@@ -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.2.1-$d/ $1 | xz -9e > gcc-10.2.1-$d.tar.xz
+git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-11.0.0-$d/ $1 | xz -9e > gcc-11.0.0-$d.tar.xz
rm -rf gcc-dir.tmp