diff --git a/.gitignore b/.gitignore index 7835051..dd9b228 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /gcc-14.0.1-20240207.tar.xz /gcc-14.0.1-20240208.tar.xz /gcc-14.0.1-20240411.tar.xz +/gcc-14.1.1-20240508.tar.xz diff --git a/gcc.spec b/gcc.spec index c0b423c..d326248 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,16 +1,18 @@ -%global DATE 20240411 -%global gitrev da6ad93fb1885bcdefecdf09fee4b9e901607710 -%global gcc_version 14.0.1 +%global DATE 20240508 +%global gitrev 9ae733ecd3cd76d7e2f99385520783b01ab7e5dd +%global gcc_version 14.1.1 %global gcc_major 14 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 0 -%global nvptx_tools_gitrev c5ad8ada3e86d96b10a9d352b7a764f801478ba6 +%global gcc_release 1 +%global nvptx_tools_gitrev 9962793f41e016318dc5eca07ae602041cf526ff %global newlib_cygwin_gitrev d45261f62a15f8abd94a1031020b9a9f455e4eed %global _unpackaged_files_terminate_build 0 +%if 0%{?fedora:1} %global _performance_build 1 # Hardening slows the compiler way too much. %undefine _hardened_build +%endif %undefine _auto_set_build_flags %if 0%{?fedora} > 27 || 0%{?rhel} > 7 # Until annobin is fixed (#1519165). @@ -141,7 +143,7 @@ Summary: Various compilers (C, C++, Objective-C, ...) Name: gcc Version: %{gcc_version} -Release: %{gcc_release}.15%{?dist} +Release: %{gcc_release}%{?dist} # License notes for some of the less obvious ones: # gcc/doc/cppinternals.texi: Linux-man-pages-copyleft-2-para # isl: MIT, BSD-2-Clause @@ -575,7 +577,9 @@ installed separately. %package -n libgomp-offload-amdgcn Summary: GCC OpenMP v4.5 plugin for offloading to AMD GCN Requires: libgomp = %{version}-%{release} +%if 0%{?fedora:1} Requires: rocm-runtime >= 6.0.0 +%endif %description -n libgomp-offload-amdgcn This package contains libgomp plugin for offloading to AMD ROCm capable @@ -1206,7 +1210,11 @@ CONFIGURE_OPTS="\ %endif %ifarch x86_64 %if 0%{?rhel} > 8 +%if 0%{?rhel} > 9 + --with-arch_64=x86-64-v3 \ +%else --with-arch_64=x86-64-v2 \ +%endif %endif --with-arch_32=x86-64 \ %endif @@ -1266,6 +1274,9 @@ CONFIGURE_OPTS="\ %ifnarch %{arm} --with-build-config=bootstrap-lto --enable-link-serialization=1 \ %endif +%endif +%if 0%{?rhel:1} + --enable-host-pie --enable-host-bind-now \ %endif " @@ -1564,12 +1575,10 @@ for f in `find %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_plat done # Nuke bits/*.h.gch dirs -# 1) there is no bits/*.h header installed, so when gch file can't be -# used, compilation fails -# 2) sometimes it is hard to match the exact options used for building +# 1) sometimes it is hard to match the exact options used for building # libstdc++-v3 or they aren't desirable -# 3) there are multilib issues, conflicts etc. with this -# 4) it is huge +# 2) there are multilib issues, conflicts etc. with this +# 3) it is huge # People can always precompile on their own whatever they want, but # shipping this for everybody is unnecessary. rm -rf %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/bits/*.h.gch @@ -3621,6 +3630,50 @@ end %endif %changelog +* Wed May 8 2024 Jakub Jelinek 14.1.1-1 +- update from releases/gcc-14 branch + - GCC 14.1.0 release + - PRs analyzer/111475, c++/89224, c++/114856, c++/114889, c++/114935, + ipa/92606, middle-end/114734, middle-end/114907, modula2/113768, + modula2/114133, modula2/114929, rtl-optimization/114924, + sanitizer/114956, tree-optimization/114876, + tree-optimization/114921, tree-optimization/114965 + +* Fri May 3 2024 Marek Polacek +- enable hardening and configure with --enable-host-pie --enable-host-bind-now + on RHEL +- don't require rocm-runtime on RHEL + +* Tue Apr 30 2024 Jakub Jelinek 14.0.1-0.16 +- update from trunk and releases/gcc-14 branch + - GCC 14.1.0-rc1 + - PRs c++/93595, c++/99426, c++/106820, c++/107457, c++/109966, c++/111284, + c++/113141, c++/114078, c++/114393, c++/114426, c++/114600, + c++/114634, c++/114691, c++/114706, c++/114709, c++/114784, + c++/114795, c++/114888, c/92880, c/114780, d/111650, fortran/89462, + fortran/93678, fortran/102597, fortran/103471, fortran/103496, + fortran/113793, fortran/114739, fortran/114825, fortran/114959, + gcov-profile/114715, gcov-profile/114720, libgcc/114689, + libgcc/114755, libgcc/114762, libstdc++/93672, libstdc++/113386, + libstdc++/114750, libstdc++/114770, libstdc++/114803, + libstdc++/114863, lto/113208, lto/114574, middle-end/112938, + middle-end/114753, modula2/112893, modula2/114745, modula2/114807, + modula2/114811, modula2/114836, other/114738, preprocessor/114748, + rtl-optimization/114768, sanitizer/114687, sanitizer/114743, + target/110621, target/112431, target/112432, target/114416, + target/114668, target/114676, target/114696, target/114714, + target/114741, target/114752, target/114783, target/114794, + target/114810, target/114837, target/114861, target/114885, + testsuite/113706, testsuite/114744, testsuite/114768, + tree-optimization/114403, tree-optimization/114666, + tree-optimization/114733, tree-optimization/114736, + tree-optimization/114749, tree-optimization/114769, + tree-optimization/114787, tree-optimization/114792, + tree-optimization/114799, tree-optimization/114832, + tree-optimization/114883 +- switch to --with-arch_64=x86-64-v3 for latest RHEL +- remove obsolete reason for not shipping *.gch* files + * Thu Apr 11 2024 Jakub Jelinek 14.0.1-0.15 - update from trunk - PRs analyzer/114472, c++/114303, c++/114409, debug/112878, diff --git a/gcc14-libstdc++-docs.patch b/gcc14-libstdc++-docs.patch index 662cc64..b774935 100644 --- a/gcc14-libstdc++-docs.patch +++ b/gcc14-libstdc++-docs.patch @@ -4,7 +4,7 @@ FSF

-+ Release 14.0.1 ++ Release 14.1.1 +

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation @@ -17,7 +17,7 @@

- The API documentation, rendered into HTML, can be viewed online + The API documentation, rendered into HTML, can be viewed locally -+ for the 14.0.1 release, ++ for the 14.1.1 release, + online for each GCC release and diff --git a/sources b/sources index 603296d..027599d 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (gcc-14.0.1-20240411.tar.xz) = aa7a43ed6ee1149530edc10cb14cbc7402f61d6165aa1ee89366cc6235dc9327a7a1201b3f0024a7d77e946ba095504f4d69c4abbf59de9d3abf3459298f05c9 +SHA512 (gcc-14.1.1-20240508.tar.xz) = 2c0106d8a92ea76dacd78bcb2ac988d3662f15aa846772f5c3b1c93aa77f3a5e4cc601a4ece208ab414e8075d1fef49ebe66dea658b24ab9594618717356a8d7 SHA512 (isl-0.24.tar.bz2) = aab3bddbda96b801d0f56d2869f943157aad52a6f6e6a61745edd740234c635c38231af20bc3f1a08d416a5e973a90e18249078ed8e4ae2f1d5de57658738e95 SHA512 (newlib-cygwin-d45261f62a15f8abd94a1031020b9a9f455e4eed.tar.xz) = 31bfc19429797236e268e22b752c5abeabb9c0f39b1058634af8dab329b4f028fc72a35888193c9575f6cee5cf2c069669d79fcb4d4e3a4318f57413452f707d SHA512 (nvptx-tools-c5ad8ada3e86d96b10a9d352b7a764f801478ba6.tar.xz) = 8a5c282852c995fabf75a8d6331db807a1acd935fd82022e00801b798fb850392d03e29cfa4aa7e3d5cfd8f48510e5e25b79a647fbec79c8566792584a0c1c49 diff --git a/update-gcc.sh b/update-gcc.sh index 9804331..f1aa644 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-14.0.1-$d/ $1 | xz -9e > gcc-14.0.1-$d.tar.xz +git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-14.1.1-$d/ $1 | xz -9e > gcc-14.1.1-$d.tar.xz rm -rf gcc-dir.tmp