diff --git a/.gitignore b/.gitignore
index 80128da..0977d5a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,116 +1,7 @@
-/gcc-10.0.1-20200118.tar.xz
-/newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz
-/nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz
-/gcc-10.0.1-20200121.tar.xz
-/gcc-10.0.1-20200123.tar.xz
-/gcc-10.0.1-20200126.tar.xz
-/gcc-10.0.1-20200130.tar.xz
-/gcc-10.0.1-20200216.tar.xz
-/gcc-10.0.1-20200311.tar.xz
-/gcc-10.0.1-20200325.tar.xz
-/gcc-10.0.1-20200328.tar.xz
-/gcc-10.0.1-20200420.tar.xz
-/gcc-10.0.1-20200501.tar.xz
-/gcc-10.1.1-20200507.tar.xz
-/gcc-10.1.1-20200618.tar.xz
-/gcc-10.2.1-20200723.tar.xz
-/gcc-10.2.1-20200804.tar.xz
-/gcc-10.2.1-20200826.tar.xz
-/gcc-10.2.1-20200916.tar.xz
-/gcc-10.2.1-20201005.tar.xz
-/gcc-10.2.1-20201016.tar.xz
-/gcc-10.2.1-20201102.tar.xz
-/gcc-10.2.1-20201112.tar.xz
-/gcc-10.2.1-20201125.tar.xz
-/gcc-11.0.0-20201204.tar.xz
-/gcc-11.0.0-20201216.tar.xz
-/gcc-11.0.0-20201217.tar.xz
-/gcc-11.0.0-20201223.tar.xz
-/gcc-11.0.0-20210109.tar.xz
-/gcc-11.0.0-20210113.tar.xz
-/gcc-11.0.0-20210116.tar.xz
-/gcc-11.0.0-20210119.tar.xz
-/gcc-11.0.0-20210123.tar.xz
-/gcc-11.0.0-20210130.tar.xz
-/gcc-11.0.0-20210210.tar.xz
-/gcc-11.0.0-20210225.tar.xz
-/gcc-11.0.1-20210307.tar.xz
-/gcc-11.0.1-20210319.tar.xz
-/isl-0.18.tar.bz2
-/gcc-11.0.1-20210324.tar.xz
-/gcc-11.0.1-20210405.tar.xz
-/gcc-11.0.1-20210418.tar.xz
-/gcc-11.0.1-20210422.tar.xz
-/gcc-11.0.1-20210423.tar.xz
-/gcc-11.1.1-20210428.tar.xz
-/gcc-11.1.1-20210512.tar.xz
-/gcc-11.1.1-20210531.tar.xz
-/gcc-11.1.1-20210617.tar.xz
-/gcc-11.1.1-20210623.tar.xz
-/gcc-11.1.1-20210726.tar.xz
-/gcc-11.2.1-20210728.tar.xz
-/gcc-11.2.1-20210823.tar.xz
-/gcc-11.2.1-20211012.tar.xz
-/gcc-11.2.1-20211018.tar.xz
-/gcc-11.2.1-20211019.tar.xz
-/gcc-11.2.1-20211203.tar.xz
-/gcc-12.0.0-20220108.tar.xz
-/gcc-12.0.0-20220112.tar.xz
-/gcc-12.0.0-20220115.tar.xz
-/gcc-12.0.1-20220118.tar.xz
-/gcc-12.0.1-20220125.tar.xz
-/gcc-12.0.1-20220129.tar.xz
-/gcc-12.0.1-20220202.tar.xz
-/gcc-12.0.1-20220205.tar.xz
-/gcc-12.0.1-20220212.tar.xz
-/gcc-12.0.1-20220214.tar.xz
-/gcc-12.0.1-20220222.tar.xz
-/gcc-12.0.1-20220306.tar.xz
-/gcc-12.0.1-20220308.tar.xz
-/gcc-12.0.1-20220401.tar.xz
-/gcc-12.0.1-20220411.tar.xz
-/gcc-12.0.1-20220413.tar.xz
-/gcc-12.0.1-20220429.tar.xz
-/gcc-12.1.1-20220507.tar.xz
-/gcc-12.1.1-20220628.tar.xz
-/gcc-12.1.1-20220810.tar.xz
-/gcc-12.2.1-20220819.tar.xz
-/gcc-12.2.1-20221103.tar.xz
+/gcc-14.0.1-20240113.tar.xz
/isl-0.24.tar.bz2
-/newlib-cygwin-a8526cb52bedabd4d6ba4b227a5185627f871aa1.tar.xz
-/nvptx-tools-472b6e78b3ba918d727698f79911360b7c808247.tar.xz
-/gcc-12.2.1-20221121.tar.xz
-/gcc-13.0.0-20221219.tar.xz
-/gcc-13.0.0-20230102.tar.xz
-/gcc-13.0.0-20230106.tar.xz
-/gcc-13.0.0-20230112.tar.xz
-/gcc-13.0.0-20230115.tar.xz
-/gcc-13.0.1-20230117.tar.xz
-/gcc-13.0.1-20230127.tar.xz
-/newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz
-/gcc-13.0.1-20230208.tar.xz
-/gcc-13.0.1-20230215.tar.xz
-/gcc-13.0.1-20230221.tar.xz
-/gcc-13.0.1-20230304.tar.xz
-/gcc-13.0.1-20230310.tar.xz
-/gcc-13.0.1-20230318.tar.xz
-/gcc-13.0.1-20230321.tar.xz
-/nvptx-tools-93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b.tar.xz
-/gcc-13.0.1-20230324.tar.xz
-/gcc-13.0.1-20230329.tar.xz
-/gcc-13.0.1-20230401.tar.xz
-/gcc-13.0.1-20230404.tar.xz
-/gcc-13.0.1-20230418.tar.xz
-/gcc-13.0.1-20230419.tar.xz
-/gcc-13.0.1-20230421.tar.xz
-/gcc-13.1.1-20230426.tar.xz
-/gcc-13.1.1-20230511.tar.xz
-/gcc-13.1.1-20230519.tar.xz
-/gcc-13.1.1-20230614.tar.xz
-/gcc-13.2.1-20230728.tar.xz
-/gcc-13.2.1-20230906.tar.xz
-/nvptx-tools-aa3404ad5a496cda5d79a50bedb1344fd63e8763.tar.xz
-/gcc-13.2.1-20230918.tar.xz
-/gcc-13.2.1-20231011.tar.xz
-/gcc-13.2.1-20231113.tar.xz
-/gcc-13.2.1-20231205.tar.xz
+/newlib-cygwin-5f15d7c5817b07a6b18cbab17342c95cb7b42be4.tar.xz
+/nvptx-tools-c5ad8ada3e86d96b10a9d352b7a764f801478ba6.tar.xz
+/gcc-14.0.1-20240118.tar.xz
+/newlib-cygwin-d45261f62a15f8abd94a1031020b9a9f455e4eed.tar.xz
+/gcc-14.0.1-20240125.tar.xz
diff --git a/gcc.spec b/gcc.spec
index 1592977..4d4b6a6 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,12 +1,12 @@
-%global DATE 20231205
-%global gitrev f783814ad6a04ae5ef44595216596a2b75eda15b
-%global gcc_version 13.2.1
-%global gcc_major 13
+%global DATE 20240125
+%global gitrev f3118f3f56f589a21b94106c4e210e5ba9a60898
+%global gcc_version 14.0.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 6
-%global nvptx_tools_gitrev aa3404ad5a496cda5d79a50bedb1344fd63e8763
-%global newlib_cygwin_gitrev 9e09d6ed83cce4777a5950412647ccc603040409
+%global gcc_release 0
+%global nvptx_tools_gitrev c5ad8ada3e86d96b10a9d352b7a764f801478ba6
+%global newlib_cygwin_gitrev d45261f62a15f8abd94a1031020b9a9f455e4eed
%global _unpackaged_files_terminate_build 0
%global _performance_build 1
# Hardening slows the compiler way too much.
@@ -114,6 +114,11 @@
%else
%global build_offload_nvptx 0
%endif
+%ifarch x86_64
+%global build_offload_amdgcn 1
+%else
+%global build_offload_amdgcn 0
+%endif
%if 0%{?fedora} < 32 && 0%{?rhel} < 8
%ifarch s390x
%global multilib_32_arch s390
@@ -136,7 +141,7 @@
Summary: Various compilers (C, C++, Objective-C, ...)
Name: gcc
Version: %{gcc_version}
-Release: %{gcc_release}.1.riscv64%{?dist}
+Release: %{gcc_release}.3.0.riscv64%{?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
@@ -151,7 +156,7 @@ License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2
Source0: gcc-%{version}-%{DATE}.tar.xz
# The source for nvptx-tools package was pulled from upstream's vcs. Use the
# following commands to generate the tarball:
-# git clone --depth 1 git://github.com/MentorEmbedded/nvptx-tools.git nvptx-tools-dir.tmp
+# git clone --depth 1 https://github.com/MentorEmbedded/nvptx-tools.git nvptx-tools-dir.tmp
# git --git-dir=nvptx-tools-dir.tmp/.git fetch --depth 1 origin %%{nvptx_tools_gitrev}
# git --git-dir=nvptx-tools-dir.tmp/.git archive --prefix=nvptx-tools-%%{nvptx_tools_gitrev}/ %%{nvptx_tools_gitrev} | xz -9e > nvptx-tools-%%{nvptx_tools_gitrev}.tar.xz
# rm -rf nvptx-tools-dir.tmp
@@ -208,9 +213,11 @@ BuildRequires: libzstd-devel
# Make sure glibc supports TFmode long double
BuildRequires: glibc >= 2.3.90-35
%endif
-%ifarch %{multilib_64_archs} sparcv9 ppc
-# Ensure glibc{,-devel} is installed for both multilib arches
-BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
+%ifarch %{multilib_64_archs}
+BuildRequires: (glibc32 or glibc-devel(%{__isa_name}-32))
+%endif
+%ifarch sparcv9 ppc
+BuildRequires: (glibc64 or glibc-devel(%{__isa_name}-64))
%endif
%if %{build_ada}
# Ada requires Ada to build
@@ -227,6 +234,9 @@ BuildRequires: libunwind >= 0.98
BuildRequires: doxygen >= 1.7.1
BuildRequires: graphviz, dblatex, texlive-collection-latex, docbook5-style-xsl
%endif
+%if %{build_offload_amdgcn}
+BuildRequires: llvm, lld
+%endif
Requires: cpp = %{version}-%{release}
# Need .eh_frame ld optimizations
# Need proper visibility support
@@ -275,22 +285,21 @@ Provides: bundled(libbacktrace)
Provides: bundled(libffi)
Provides: gcc(major) = %{gcc_major}
-Patch0: gcc13-hack.patch
-Patch2: gcc13-sparc-config-detection.patch
-Patch3: gcc13-libgomp-omp_h-multilib.patch
-Patch4: gcc13-libtool-no-rpath.patch
-Patch5: gcc13-isl-dl.patch
-Patch6: gcc13-isl-dl2.patch
-Patch7: gcc13-libstdc++-docs.patch
-Patch8: gcc13-no-add-needed.patch
-Patch9: gcc13-Wno-format-security.patch
-Patch10: gcc13-rh1574936.patch
-Patch11: gcc13-d-shared-libphobos.patch
-Patch12: gcc13-pr110792.patch
+Patch0: gcc14-hack.patch
+Patch2: gcc14-sparc-config-detection.patch
+Patch3: gcc14-libgomp-omp_h-multilib.patch
+Patch4: gcc14-libtool-no-rpath.patch
+Patch5: gcc14-isl-dl.patch
+Patch6: gcc14-isl-dl2.patch
+Patch7: gcc14-libstdc++-docs.patch
+Patch8: gcc14-no-add-needed.patch
+Patch9: gcc14-Wno-format-security.patch
+Patch10: gcc14-rh1574936.patch
+Patch11: gcc14-d-shared-libphobos.patch
Patch50: isl-rh2155127.patch
-Patch100: gcc13-fortran-fdec-duplicates.patch
+Patch100: gcc14-fortran-fdec-duplicates.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
@@ -331,11 +340,11 @@ chmod 755 %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
%endif
%description
-The gcc package contains the GNU Compiler Collection version 13.
+The gcc package contains the GNU Compiler Collection version 14.
You'll need this package in order to compile C code.
%package -n libgcc
-Summary: GCC version 13 shared support library
+Summary: GCC version 14 shared support library
Autoreq: false
%if !%{build_ada}
Obsoletes: libgnat < %{version}-%{release}
@@ -551,6 +560,15 @@ This package contains libgomp plugin for offloading to NVidia
PTX. The plugin needs libcuda.so.1 shared library that has to be
installed separately.
+%package -n libgomp-offload-amdgcn
+Summary: GCC OpenMP v4.5 plugin for offloading to AMD GCN
+Requires: libgomp = %{version}-%{release}
+Requires: rocm-runtime >= 6.0.0
+
+%description -n libgomp-offload-amdgcn
+This package contains libgomp plugin for offloading to AMD ROCm capable
+devices.
+
%package gdb-plugin
Summary: GCC plugin for GDB
Requires: gcc = %{version}-%{release}
@@ -833,6 +851,18 @@ NVidia PTX. OpenMP and OpenACC programs linked with -fopenmp will
by default add PTX code into the binaries, which can be offloaded
to NVidia PTX capable devices if available.
+%package offload-amdgcn
+Summary: Offloading compiler to AMD GCN
+Requires: gcc = %{version}-%{release}
+Requires: libgomp-offload-amdgcn = %{version}-%{release}
+Requires: llvm, lld
+
+%description offload-amdgcn
+The gcc-offload-amdgcn package provides offloading support for
+AMD GCN. OpenMP and OpenACC programs linked with -fopenmp will
+by default add GCN code into the binaries, which can be offloaded
+to AMD ROCm capable devices if available.
+
%package plugin-annobin
Summary: The annobin plugin for gcc, built by the installed version of gcc
Requires: gcc = %{version}-%{release}
@@ -864,7 +894,6 @@ so that there cannot be any synchronization problems.
%patch -P10 -p0 -b .rh1574936~
%endif
%patch -P11 -p0 -b .d-shared-libphobos~
-%patch -P12 -p0 -b .pr110792~
%patch -P50 -p0 -b .rh2155127~
touch -r isl-0.24/m4/ax_prog_cxx_for_build.m4 isl-0.24/m4/ax_prog_cc_for_build.m4
@@ -976,6 +1005,42 @@ cd ..
rm -f newlib
%endif
+%if %{build_offload_amdgcn}
+mkdir -p objia%{_prefix}/bin objia%{_prefix}/amdgcn-amdhsa/bin
+IAROOT=`pwd`/objia
+ln -sf %{_prefix}/bin/llvm-ar ${IAROOT}%{_prefix}/bin/amdgcn-amdhsa-ar
+ln -sf %{_prefix}/bin/llvm-ar ${IAROOT}%{_prefix}/bin/amdgcn-amdhsa-ranlib
+ln -sf %{_prefix}/bin/llvm-mc ${IAROOT}%{_prefix}/bin/amdgcn-amdhsa-as
+ln -sf %{_prefix}/bin/llvm-nm ${IAROOT}%{_prefix}/bin/amdgcn-amdhsa-nm
+ln -sf %{_prefix}/bin/lld ${IAROOT}%{_prefix}/bin/amdgcn-amdhsa-ld
+ln -sf ../../bin/amdgcn-amdhsa-ar ${IAROOT}%{_prefix}/amdgcn-amdhsa/bin/ar
+ln -sf ../../bin/amdgcn-amdhsa-ranlib ${IAROOT}%{_prefix}/amdgcn-amdhsa/bin/ranlib
+ln -sf ../../bin/amdgcn-amdhsa-as ${IAROOT}%{_prefix}/amdgcn-amdhsa/bin/as
+ln -sf ../../bin/amdgcn-amdhsa-nm ${IAROOT}%{_prefix}/amdgcn-amdhsa/bin/nm
+ln -sf ../../bin/amdgcn-amdhsa-ld ${IAROOT}%{_prefix}/amdgcn-amdhsa/bin/ld
+
+ln -sf newlib-cygwin-%{newlib_cygwin_gitrev}/newlib newlib
+rm -rf obj-offload-amdgcn-amdhsa
+mkdir obj-offload-amdgcn-amdhsa
+
+cd obj-offload-amdgcn-amdhsa
+CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \
+ CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \
+ | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \
+ XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
+ ../configure --disable-bootstrap --disable-sjlj-exceptions \
+ --with-build-time-tools=${IAROOT}%{_prefix}/amdgcn-amdhsa/bin \
+ --target amdgcn-amdhsa --enable-as-accelerator-for=%{gcc_target_platform} \
+ --enable-languages=c,c++,fortran,lto \
+ --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
+ --with-bugurl=http://bugzilla.redhat.com/bugzilla \
+ --enable-checking=release --with-system-zlib \
+ --with-gcc-major-version-only --without-isl --disable-libquadmath
+make %{?_smp_mflags}
+cd ..
+rm -f newlib
+%endif
+
rm -rf obj-%{gcc_target_platform}
mkdir obj-%{gcc_target_platform}
cd obj-%{gcc_target_platform}
@@ -995,7 +1060,7 @@ cp -f -v /usr/lib/rpm/%{_vendor}/config.guess ../../isl-%{isl_version}/config.gu
cp -f -v /usr/lib/rpm/%{_vendor}/config.sub ../../isl-%{isl_version}/config.sub
%endif
-sed -i 's|libisl\([^-]\)|libgcc13privateisl\1|g' \
+sed -i 's|libisl\([^-]\)|libgcc14privateisl\1|g' \
../../isl-%{isl_version}/Makefile.{am,in}
../../isl-%{isl_version}/configure \
CC=/usr/bin/gcc CXX=/usr/bin/g++ \
@@ -1003,8 +1068,8 @@ sed -i 's|libisl\([^-]\)|libgcc13privateisl\1|g' \
make %{?_smp_mflags} CFLAGS="${CFLAGS:-%optflags} $ISL_FLAG_PIC"
make install
cd ../isl-install/lib
-rm libgcc13privateisl.so{,.23}
-mv libgcc13privateisl.so.23.1.0 libisl.so.23
+rm libgcc14privateisl.so{,.23}
+mv libgcc14privateisl.so.23.1.0 libisl.so.23
ln -sf libisl.so.23 libisl.so
cd ../..
%endif
@@ -1028,6 +1093,13 @@ enableld=,d
%if %{build_m2}
enablelm2=,m2
%endif
+offloadtgts=
+%if %{build_offload_nvptx}
+offloadtgts=nvptx-none
+%endif
+%if %{build_offload_amdgcn}
+offloadtgts=${offloadtgts:+${offloadtgts},}amdgcn-amdhsa
+%endif
CONFIGURE_OPTS="\
--prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
--with-bugurl=http://bugzilla.redhat.com/bugzilla \
@@ -1060,9 +1132,11 @@ CONFIGURE_OPTS="\
%else
--without-isl \
%endif
+%if %{build_offload_nvptx} || %{build_offload_amdgcn}
+ --enable-offload-targets=$offloadtgts --enable-offload-defaulted \
+%endif
%if %{build_offload_nvptx}
- --enable-offload-targets=nvptx-none \
- --without-cuda-driver --enable-offload-defaulted \
+ --without-cuda-driver \
%endif
%if 0%{?fedora} >= 21 || 0%{?rhel} >= 7
%if %{attr_ifunc}
@@ -1354,14 +1428,55 @@ rm -rf %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/
rm -rf %{buildroot}%{_prefix}/%{_lib}/libc[cp]1*
mv -f %{buildroot}%{_prefix}/nvptx-none/lib/*.{a,spec} %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/
mv -f %{buildroot}%{_prefix}/nvptx-none/lib/mgomp/*.{a,spec} %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/mgomp/
+mv -f %{buildroot}%{_prefix}/nvptx-none/lib/mptx-3.1/*.{a,spec} %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/mptx-3.1/
+mv -f %{buildroot}%{_prefix}/nvptx-none/lib/mgomp/mptx-3.1/*.{a,spec} %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/mgomp/mptx-3.1/
mv -f %{buildroot}%{_prefix}/lib/gcc/nvptx-none/%{gcc_major}/*.a %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/
mv -f %{buildroot}%{_prefix}/lib/gcc/nvptx-none/%{gcc_major}/mgomp/*.a %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/mgomp/
+mv -f %{buildroot}%{_prefix}/lib/gcc/nvptx-none/%{gcc_major}/mptx-3.1/*.a %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/mptx-3.1/
+mv -f %{buildroot}%{_prefix}/lib/gcc/nvptx-none/%{gcc_major}/mgomp/mptx-3.1/*.a %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/mgomp/mptx-3.1/
find %{buildroot}%{_prefix}/lib/gcc/nvptx-none %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none \
%{buildroot}%{_prefix}/nvptx-none/lib -name \*.la | xargs rm
cd ..
rm -f newlib
%endif
+%if %{build_offload_amdgcn}
+mkdir -p %{buildroot}%{_prefix}/bin %{buildroot}%{_prefix}/amdgcn-amdhsa/bin
+ln -sf llvm-ar %{buildroot}%{_prefix}/bin/amdgcn-amdhsa-ar
+ln -sf llvm-ar %{buildroot}%{_prefix}/bin/amdgcn-amdhsa-ranlib
+ln -sf llvm-mc %{buildroot}%{_prefix}/bin/amdgcn-amdhsa-as
+ln -sf llvm-nm %{buildroot}%{_prefix}/bin/amdgcn-amdhsa-nm
+ln -sf lld %{buildroot}%{_prefix}/bin/amdgcn-amdhsa-ld
+ln -sf ../../bin/amdgcn-amdhsa-ar %{buildroot}%{_prefix}/amdgcn-amdhsa/bin/ar
+ln -sf ../../bin/amdgcn-amdhsa-ranlib %{buildroot}%{_prefix}/amdgcn-amdhsa/bin/ranlib
+ln -sf ../../bin/amdgcn-amdhsa-as %{buildroot}%{_prefix}/amdgcn-amdhsa/bin/as
+ln -sf ../../bin/amdgcn-amdhsa-nm %{buildroot}%{_prefix}/amdgcn-amdhsa/bin/nm
+ln -sf ../../bin/amdgcn-amdhsa-ld %{buildroot}%{_prefix}/amdgcn-amdhsa/bin/ld
+
+ln -sf newlib-cygwin-%{newlib_cygwin_gitrev}/newlib newlib
+cd obj-offload-amdgcn-amdhsa
+make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
+ infodir=%{buildroot}%{_infodir} install
+rm -rf %{buildroot}%{_prefix}/libexec/gcc/amdgcn-amdhsa/%{gcc_major}/install-tools
+rm -rf %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/accel/amdgcn-amdhsa/{install-tools,plugin,cc1,cc1plus,f951}
+rm -rf %{buildroot}%{_infodir} %{buildroot}%{_mandir}/man7 %{buildroot}%{_prefix}/share/locale
+rm -rf %{buildroot}%{_prefix}/lib/gcc/amdgcn-amdhsa/%{gcc_major}/{install-tools,plugin}
+rm -rf %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/amdgcn-amdhsa/{install-tools,plugin,include-fixed}
+rm -rf %{buildroot}%{_prefix}/%{_lib}/libc[cp]1*
+mv -f %{buildroot}%{_prefix}/amdgcn-amdhsa/lib/*.{a,spec} %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/amdgcn-amdhsa/
+mv -f %{buildroot}%{_prefix}/lib/gcc/amdgcn-amdhsa/%{gcc_major}/*.a %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/amdgcn-amdhsa/
+pushd %{buildroot}%{_prefix}/amdgcn-amdhsa/lib
+for i in gfx*; do
+mv -f %{buildroot}%{_prefix}/amdgcn-amdhsa/lib/$i/*.{a,spec} %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/amdgcn-amdhsa/$i/
+mv -f %{buildroot}%{_prefix}/lib/gcc/amdgcn-amdhsa/%{gcc_major}/$i/*.a %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/amdgcn-amdhsa/$i/
+done
+popd
+find %{buildroot}%{_prefix}/lib/gcc/amdgcn-amdhsa %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/amdgcn-amdhsa \
+ %{buildroot}%{_prefix}/amdgcn-amdhsa/lib -name \*.la | xargs rm
+cd ..
+rm -f newlib
+%endif
+
cd obj-%{gcc_target_platform}
TARGET_PLATFORM=%{gcc_target_platform}
@@ -1586,7 +1701,7 @@ ln -sf ../../../libgphobos.so.4.* libgphobos.so
%endif
%if %{build_m2}
for i in cor iso log min pim; do
- ln -sf ../../../libm2$i.so.18.* libm2$i.so
+ ln -sf ../../../libm2$i.so.19.* libm2$i.so
done
%endif
%if %{build_libitm}
@@ -1621,7 +1736,7 @@ ln -sf ../../../../%{_lib}/libgphobos.so.4.* libgphobos.so
%endif
%if %{build_m2}
for i in cor iso log min pim; do
- ln -sf ../../../../%{_lib}/libm2$i.so.18.* libm2$i.so
+ ln -sf ../../../../%{_lib}/libm2$i.so.19.* libm2$i.so
done
%endif
%if %{build_libitm}
@@ -1656,7 +1771,6 @@ fi
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++fs.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++exp.*a $FULLLPATH/
-mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++_libbacktrace.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a $FULLLPATH/
%if %{build_objc}
@@ -1717,28 +1831,28 @@ mv -f $FULLPATH/ada{include,lib} $FULLLPATH/
pushd $FULLLPATH/adalib
if [ "%{_lib}" = "lib" ]; then
ln -sf ../../../../../libgnarl-*.so libgnarl.so
-ln -sf ../../../../../libgnarl-*.so libgnarl-12.so
+ln -sf ../../../../../libgnarl-*.so libgnarl-14.so
ln -sf ../../../../../libgnat-*.so libgnat.so
-ln -sf ../../../../../libgnat-*.so libgnat-12.so
+ln -sf ../../../../../libgnat-*.so libgnat-14.so
else
ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl.so
-ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-12.so
+ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-14.so
ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat.so
-ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-12.so
+ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-14.so
fi
popd
else
pushd $FULLPATH/adalib
if [ "%{_lib}" = "lib" ]; then
ln -sf ../../../../libgnarl-*.so libgnarl.so
-ln -sf ../../../../libgnarl-*.so libgnarl-12.so
+ln -sf ../../../../libgnarl-*.so libgnarl-14.so
ln -sf ../../../../libgnat-*.so libgnat.so
-ln -sf ../../../../libgnat-*.so libgnat-12.so
+ln -sf ../../../../libgnat-*.so libgnat-14.so
else
ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl.so
-ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-12.so
+ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-14.so
ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat.so
-ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-12.so
+ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-14.so
fi
popd
fi
@@ -1771,8 +1885,8 @@ echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libgphobos.so.4.* | sed 's
%if %{build_m2}
for i in cor iso log min pim; do
rm -f libm2$i.so
- echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libm2$i.so.18.* | sed 's,^.*libm,libm,'`' )' > libm2$i.so
- echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libm2$i.so.18.* | sed 's,^.*libm,libm,'`' )' > 64/libm2$i.so
+ echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libm2$i.so.19.* | sed 's,^.*libm,libm,'`' )' > libm2$i.so
+ echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libm2$i.so.19.* | sed 's,^.*libm,libm,'`' )' > 64/libm2$i.so
rm -f 64/m2/m2$i/*.{a,la}
ln -sf ../../libm2$i.so 64/m2/m2$i/
ln -sf ../../libm2$i.a 64/m2/m2$i/
@@ -1811,8 +1925,6 @@ ln -sf lib32/libstdc++fs.a libstdc++fs.a
ln -sf ../lib64/libstdc++fs.a 64/libstdc++fs.a
ln -sf lib32/libstdc++exp.a libstdc++exp.a
ln -sf ../lib64/libstdc++exp.a 64/libstdc++exp.a
-ln -sf lib32/libstdc++_libbacktrace.a libstdc++_libbacktrace.a
-ln -sf ../lib64/libstdc++_libbacktrace.a 64/libstdc++_libbacktrace.a
ln -sf lib32/libsupc++.a libsupc++.a
ln -sf ../lib64/libsupc++.a 64/libsupc++.a
%if %{build_libquadmath}
@@ -1890,8 +2002,8 @@ echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libgphobos.so.4.* | sed 's
%if %{build_m2}
for i in cor iso log min pim; do
rm -f libm2$i.so
- echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libm2$i.so.18.* | sed 's,^.*libm,libm,'`' )' > libm2$i.so
- echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libm2$i.so.18.* | sed 's,^.*libm,libm,'`' )' > 32/libm2$i.so
+ echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libm2$i.so.19.* | sed 's,^.*libm,libm,'`' )' > libm2$i.so
+ echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libm2$i.so.19.* | sed 's,^.*libm,libm,'`' )' > 32/libm2$i.so
rm -f 32/m2/m2$i/*.{a,la}
ln -sf ../../libm2$i.so 32/m2/m2$i/
ln -sf ../../libm2$i.a 32/m2/m2$i/
@@ -1932,8 +2044,6 @@ ln -sf ../lib32/libstdc++fs.a 32/libstdc++fs.a
ln -sf lib64/libstdc++fs.a libstdc++fs.a
ln -sf ../lib32/libstdc++exp.a 32/libstdc++exp.a
ln -sf lib64/libstdc++exp.a libstdc++exp.a
-ln -sf ../lib32/libstdc++_libbacktrace.a 32/libstdc++_libbacktrace.a
-ln -sf lib64/libstdc++_libbacktrace.a libstdc++_libbacktrace.a
ln -sf ../lib32/libsupc++.a 32/libsupc++.a
ln -sf lib64/libsupc++.a libsupc++.a
%if %{build_libquadmath}
@@ -1988,7 +2098,6 @@ ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgfo
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++.a 32/libstdc++.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++fs.a 32/libstdc++fs.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++exp.a 32/libstdc++exp.a
-ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++_libbacktrace.a 32/libstdc++_libbacktrace.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libsupc++.a 32/libsupc++.a
%if %{build_libquadmath}
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libquadmath.a 32/libquadmath.a
@@ -2042,7 +2151,7 @@ for d in . $FULLLSUBDIR; do
-o -name libobjc.a -o -name libgdruntime.a -o -name libgphobos.a \
-o -name libm2\*.a -o -name libquadmath.a -o -name libstdc++.a \
-o -name libstdc++fs.a -o -name libstdc++exp.a \
- -o -name libstdc++_libbacktrace.a -o -name libsupc++.a \
+ -o -name libsupc++.a \
-o -name libtsan.a -o -name libubsan.a \) -a -type f`; do
cp -a $f $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/$d/
done
@@ -2070,7 +2179,7 @@ chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgphobos.so.4.*
%endif
%if %{build_m2}
for i in cor iso log min pim; do
- chmod 755 %{buildroot}%{_prefix}/%{_lib}/libm2$i.so.18.*
+ chmod 755 %{buildroot}%{_prefix}/%{_lib}/libm2$i.so.19.*
done
%endif
%if %{build_libitm}
@@ -2391,6 +2500,7 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdnoreturn.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdatomic.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/gcov.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdckdint.h
%ifarch %{ix86} x86_64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xmmintrin.h
@@ -2496,6 +2606,12 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/prfchiintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/raointintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxcomplexintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bitalgvlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxvnniint16intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sha512intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sm3intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sm4intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/usermsrintrin.h
%endif
%ifarch ia64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia64intrin.h
@@ -2722,7 +2838,6 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++fs.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++exp.a
-%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++_libbacktrace.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libsupc++.a
%endif
%ifarch %{multilib_64_archs}
@@ -2731,7 +2846,6 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++fs.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++exp.a
-%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++_libbacktrace.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libsupc++.a
%endif
%ifarch sparcv9 ppc %{multilib_64_archs}
@@ -2741,7 +2855,6 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++exp.a
-%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++_libbacktrace.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsupc++.a
%endif
%doc rpm.doc/changelogs/gcc/cp/ChangeLog*
@@ -2775,18 +2888,15 @@ end
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++fs.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++exp.a
-%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++_libbacktrace.a
%endif
%ifarch sparc64 ppc64 ppc64p7
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++fs.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++exp.a
-%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++_libbacktrace.a
%endif
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++exp.a
-%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++_libbacktrace.a
%endif
%doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README*
@@ -3014,7 +3124,7 @@ end
%doc rpm.doc/gm2/*
%files -n libgm2
-%{_prefix}/%{_lib}/libm2*.so.18*
+%{_prefix}/%{_lib}/libm2*.so.19*
%doc rpm.doc/libgm2/*
%files -n libgm2-static
@@ -3457,6 +3567,30 @@ end
%{_prefix}/%{_lib}/libgomp-plugin-nvptx.so.*
%endif
+%if %{build_offload_amdgcn}
+%files offload-amdgcn
+%{_prefix}/bin/amdgcn-amdhsa-*
+%{_prefix}/bin/%{gcc_target_platform}-accel-amdgcn-amdhsa-gcc
+%{_prefix}/bin/%{gcc_target_platform}-accel-amdgcn-amdhsa-lto-dump
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/accel
+%{_prefix}/lib/gcc/amdgcn-amdhsa
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/amdgcn-amdhsa
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/accel/amdgcn-amdhsa
+%dir %{_prefix}/amdgcn-amdhsa
+%{_prefix}/amdgcn-amdhsa/bin
+%{_prefix}/amdgcn-amdhsa/include
+
+%files -n libgomp-offload-amdgcn
+%{_prefix}/%{_lib}/libgomp-plugin-gcn.so.*
+%endif
+
%if %{build_annobin_plugin}
%files plugin-annobin
%dir %{_prefix}/lib/gcc
@@ -3469,386 +3603,67 @@ end
%endif
%changelog
-* Sun Dec 17 2023 David Abdurachmanov
-+ Release 13.2.1 ++ Release 14.0.1 +
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation @@ -17,7 +17,7 @@
- The API documentation, rendered into HTML, can be viewed online + The API documentation, rendered into HTML, can be viewed locally -+ for the 13.2.1 release, ++ for the 14.0.1 release, + online for each GCC release and diff --git a/gcc13-libtool-no-rpath.patch b/gcc14-libtool-no-rpath.patch similarity index 100% rename from gcc13-libtool-no-rpath.patch rename to gcc14-libtool-no-rpath.patch diff --git a/gcc13-no-add-needed.patch b/gcc14-no-add-needed.patch similarity index 100% rename from gcc13-no-add-needed.patch rename to gcc14-no-add-needed.patch diff --git a/gcc13-rh1574936.patch b/gcc14-rh1574936.patch similarity index 100% rename from gcc13-rh1574936.patch rename to gcc14-rh1574936.patch diff --git a/gcc13-sparc-config-detection.patch b/gcc14-sparc-config-detection.patch similarity index 100% rename from gcc13-sparc-config-detection.patch rename to gcc14-sparc-config-detection.patch diff --git a/sources b/sources index 9509f03..424df01 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (gcc-13.2.1-20231205.tar.xz) = f132a2d35d6ea0b0d82043870f1c9f60dda119e63df6833b16d20e2c93e2978f62698d4cc72a6e2eefbaeded0683107de9ebeb93923b96c57dcd612504aa6a1b +SHA512 (gcc-14.0.1-20240125.tar.xz) = 8d9784cc2046947cb17c0d1cbd556dcc9f98106c1d19f7de5f9f7641d421a816d85ed9166b7d85324eae96d46384c7c8e2884a815cd53058792e13568cad883d SHA512 (isl-0.24.tar.bz2) = aab3bddbda96b801d0f56d2869f943157aad52a6f6e6a61745edd740234c635c38231af20bc3f1a08d416a5e973a90e18249078ed8e4ae2f1d5de57658738e95 -SHA512 (newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz) = bef3fa04f7b1a915fc1356ebed114698b5cc835e9fa04b0becff05a9efc76c59fb376482990873d222d7acdcfee3c4f30f5a4cb7f3be1f291f1fa5f1c7a9d983 -SHA512 (nvptx-tools-aa3404ad5a496cda5d79a50bedb1344fd63e8763.tar.xz) = 33a024326426375533cb5dd9b68b2508f37540be418d2506bfa19a5f5866485e9af150469064e9059b68136ad8cb080b3b12e7eb5c6b7d1288cf6bfb3f6bb5d0 +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 b49ed15..9804331 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-13.2.1-$d/ $1 | xz -9e > gcc-13.2.1-$d.tar.xz +git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-14.0.1-$d/ $1 | xz -9e > gcc-14.0.1-$d.tar.xz rm -rf gcc-dir.tmp