Compare commits
37 Commits
Author | SHA256 | Date | |
---|---|---|---|
310eefd625 | |||
35779581ce | |||
448d286a27 | |||
2fd91dd096 | |||
7a060256d8 | |||
1b1aa80d8c | |||
d84d8612db | |||
92ea013752 | |||
52bd9fb789 | |||
243e076475 | |||
4ff3812521 | |||
91fd1dde60 | |||
d98b03e708 | |||
bd195b5758 | |||
dc65940931 | |||
7a346a4930 | |||
43f237efbf | |||
912aa1dcea | |||
869f136260 | |||
c9ed483f84 | |||
7fc30a3838 | |||
f8451a0efd | |||
df879e7dce | |||
d7bf490ea7 | |||
9268f9ba2c | |||
74b805f2b6 | |||
cc4e432784 | |||
c9d27c0585 | |||
559e3e7f9e | |||
ef67991e69 | |||
61c1a638f0 | |||
4fc576c8a6 | |||
658a32d24d | |||
d37f3bea7e | |||
c9a134385d | |||
8c80042748 | |||
5ad58e877f |
@@ -14,17 +14,10 @@
|
||||
<flavor>cross-pru-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-pru-gcc13</flavor>
|
||||
<flavor>cross-x86_64-gcc13</flavor>
|
||||
<flavor>cross-sparc-gcc13</flavor>
|
||||
<flavor>cross-sparc64-gcc13</flavor>
|
||||
<flavor>cross-ppc64-gcc13</flavor>
|
||||
<flavor>cross-m68k-gcc13</flavor>
|
||||
<flavor>cross-mips-gcc13</flavor>
|
||||
<flavor>cross-hppa-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-hppa-gcc13</flavor>
|
||||
<flavor>cross-arm-none-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-arm-none-gcc13</flavor>
|
||||
<flavor>cross-epiphany-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-epiphany-gcc13</flavor>
|
||||
<flavor>cross-riscv64-elf-gcc13-bootstrap</flavor>
|
||||
<flavor>cross-riscv64-elf-gcc13</flavor>
|
||||
<flavor>cross-rx-gcc13-bootstrap</flavor>
|
||||
|
25
change_spec
25
change_spec
@@ -87,10 +87,16 @@ add_newlib_cross() {
|
||||
}
|
||||
|
||||
add_glibc_cross() {
|
||||
add_cross $1-bootstrap $2 $3 "%define gcc_libc_bootstrap 1"
|
||||
add_cross $1-bootstrap $2 $3 "%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1"
|
||||
add_cross $1 $2 $3 "%define gcc_target_glibc 1"
|
||||
}
|
||||
|
||||
add_glibc_bootstrap_cross() {
|
||||
add_cross $1 $2 $3 "%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1"
|
||||
}
|
||||
|
||||
# We now support "proper" cross-compilers to suse targets via a
|
||||
# cross-glibc package, enable that via for example
|
||||
#
|
||||
@@ -102,20 +108,19 @@ add_glibc_cross cross-aarch64-gcc$base_ver aarch64 aarch64-suse-linux
|
||||
add_glibc_cross cross-riscv64-gcc$base_ver riscv64 riscv64-suse-linux
|
||||
add_glibc_cross cross-s390x-gcc$base_ver s390x s390x-suse-linux
|
||||
add_glibc_cross cross-ppc64le-gcc$base_ver ppc64le powerpc64le-suse-linux
|
||||
add_cross cross-arm-gcc$base_ver arm arm-suse-linux-gnueabi %define gcc_icecream 1
|
||||
add_glibc_bootstrap_cross cross-arm-gcc$base_ver arm arm-suse-linux-gnueabi
|
||||
add_cross cross-avr-gcc$base_ver-bootstrap avr avr "%define gcc_libc_bootstrap 1"
|
||||
add_cross cross-avr-gcc$base_ver avr avr
|
||||
add_newlib_cross cross-pru-gcc$base_ver pru pru
|
||||
add_cross cross-x86_64-gcc$base_ver x86_64 x86_64-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-sparc-gcc$base_ver sparcv9 sparc-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-sparc64-gcc$base_ver sparc64 sparc64-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-ppc64-gcc$base_ver ppc64 powerpc64-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-m68k-gcc$base_ver m68k m68k-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-mips-gcc$base_ver mips mips-suse-linux %define gcc_icecream 1
|
||||
add_glibc_bootstrap_cross cross-x86_64-gcc$base_ver x86_64 x86_64-suse-linux
|
||||
#add_cross cross-sparc-gcc$base_ver sparcv9 sparc-suse-linux %define gcc_icecream 1
|
||||
#add_cross cross-sparc64-gcc$base_ver sparc64 sparc64-suse-linux %define gcc_icecream 1
|
||||
add_glibc_bootstrap_cross cross-ppc64-gcc$base_ver ppc64 powerpc64-suse-linux
|
||||
#add_cross cross-m68k-gcc$base_ver m68k m68k-suse-linux %define gcc_icecream 1
|
||||
#add_cross cross-mips-gcc$base_ver mips mips-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-hppa-gcc$base_ver-bootstrap hppa hppa-suse-linux %define gcc_libc_bootstrap 1
|
||||
add_cross cross-hppa-gcc$base_ver hppa hppa-suse-linux %define gcc_icecream 1
|
||||
add_newlib_cross cross-arm-none-gcc$base_ver arm-none arm-none-eabi
|
||||
add_newlib_cross cross-epiphany-gcc$base_ver epiphany epiphany-elf
|
||||
#add_newlib_cross cross-epiphany-gcc$base_ver epiphany epiphany-elf
|
||||
#add_newlib_cross cross-nds32le-gcc$base_ver nds32le nds32le-elf
|
||||
add_newlib_cross cross-riscv64-elf-gcc$base_ver riscv64 riscv64-elf
|
||||
#add_newlib_cross cross-rl78-gcc$base_ver rl78 rl78-elf
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-aarch64-gcc13-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,6 +19,7 @@
|
||||
%define pkgname cross-aarch64-gcc13-bootstrap
|
||||
%define cross_arch aarch64
|
||||
%define gcc_target_arch aarch64-suse-linux
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
@@ -107,7 +108,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +135,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +293,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +586,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +598,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +688,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +757,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +835,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +888,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +896,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +962,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1018,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1041,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1053,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-aarch64-gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +134,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +292,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +834,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +887,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +895,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +961,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1017,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1040,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1052,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-amdgcn-gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +134,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +292,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +834,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +887,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +895,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +961,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1017,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1040,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1052,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-arm-gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,7 +19,8 @@
|
||||
%define pkgname cross-arm-gcc13
|
||||
%define cross_arch arm
|
||||
%define gcc_target_arch arm-suse-linux-gnueabi
|
||||
%define gcc_icecream 1
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
%define build_cp 0%{!?gcc_accel:1}
|
||||
@@ -107,7 +108,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +135,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +293,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +586,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +598,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +688,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +757,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +835,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +888,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +896,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +962,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1018,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1041,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1053,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-arm-none-gcc13-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -108,7 +108,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -135,10 +135,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -146,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -292,30 +293,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -364,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -587,11 +586,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -599,6 +598,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -686,7 +688,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -755,7 +757,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -833,6 +835,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -858,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -883,6 +888,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -890,6 +896,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -954,7 +962,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1010,15 +1018,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1029,6 +1041,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1040,13 +1053,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-arm-none-gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +134,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +292,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +834,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +887,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +895,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +961,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1017,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1040,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1052,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-avr-gcc13-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +134,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +292,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +834,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +887,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +895,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +961,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1017,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1040,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1052,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-avr-gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +134,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +292,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +834,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +887,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +895,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +961,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1017,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1040,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1052,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-bpf-gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +134,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +292,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +834,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +887,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +895,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +961,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1017,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1040,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1052,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-hppa-gcc13-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +134,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +292,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +834,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +887,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +895,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +961,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1017,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1040,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1052,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-nvptx-gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +134,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +292,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +834,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +887,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +895,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +961,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1017,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1040,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1052,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-ppc64-gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,7 +19,8 @@
|
||||
%define pkgname cross-ppc64-gcc13
|
||||
%define cross_arch ppc64
|
||||
%define gcc_target_arch powerpc64-suse-linux
|
||||
%define gcc_icecream 1
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
%define build_cp 0%{!?gcc_accel:1}
|
||||
@@ -107,7 +108,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +135,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +293,27 @@ ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +586,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +598,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +688,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +757,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +835,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +888,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +896,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +962,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1018,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1041,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1053,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-ppc64le-gcc13-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,6 +19,7 @@
|
||||
%define pkgname cross-ppc64le-gcc13-bootstrap
|
||||
%define cross_arch ppc64le
|
||||
%define gcc_target_arch powerpc64le-suse-linux
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
@@ -107,7 +108,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +135,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +293,27 @@ ExclusiveArch: i586 ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +586,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +598,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +688,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +757,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +835,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +888,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +896,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +962,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1018,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1041,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1053,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-ppc64le-gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +134,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +292,27 @@ ExclusiveArch: i586 ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +834,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +887,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +895,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +961,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1017,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1040,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1052,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-pru-gcc13-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -108,7 +108,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -135,10 +135,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -146,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -292,30 +293,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -364,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -587,11 +586,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -599,6 +598,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -686,7 +688,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -755,7 +757,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -833,6 +835,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -858,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -883,6 +888,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -890,6 +896,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -954,7 +962,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1010,15 +1018,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1029,6 +1041,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1040,13 +1053,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-pru-gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +134,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +292,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +834,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +887,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +895,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +961,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1017,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1040,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1052,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-riscv64-elf-gcc13-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -108,7 +108,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -135,10 +135,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -146,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -292,30 +293,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -364,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -587,11 +586,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -599,6 +598,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -686,7 +688,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -755,7 +757,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -833,6 +835,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -858,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -883,6 +888,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -890,6 +896,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -954,7 +962,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1010,15 +1018,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1029,6 +1041,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1040,13 +1053,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-riscv64-elf-gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +134,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +292,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +834,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +887,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +895,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +961,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1017,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1040,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1052,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-riscv64-gcc13-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,6 +19,7 @@
|
||||
%define pkgname cross-riscv64-gcc13-bootstrap
|
||||
%define cross_arch riscv64
|
||||
%define gcc_target_arch riscv64-suse-linux
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
@@ -107,7 +108,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +135,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +293,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +586,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +598,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +688,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +757,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +835,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +888,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +896,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +962,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1018,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1041,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1053,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-riscv64-gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +134,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +292,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +834,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +887,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +895,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +961,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1017,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1040,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1052,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-rx-gcc13-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -108,7 +108,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -135,10 +135,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -146,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -292,30 +293,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -364,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -587,11 +586,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -599,6 +598,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -686,7 +688,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -755,7 +757,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -833,6 +835,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -858,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -883,6 +888,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -890,6 +896,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -954,7 +962,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1010,15 +1018,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1029,6 +1041,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1040,13 +1053,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-rx-gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +134,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +292,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +834,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +887,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +895,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +961,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1017,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1040,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1052,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-s390x-gcc13-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,6 +19,7 @@
|
||||
%define pkgname cross-s390x-gcc13-bootstrap
|
||||
%define cross_arch s390x
|
||||
%define gcc_target_arch s390x-suse-linux
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
@@ -107,7 +108,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +135,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +293,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +586,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +598,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +688,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +757,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +835,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +888,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +896,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +962,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1018,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1041,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1053,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-s390x-gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -107,7 +107,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +134,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +292,27 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +834,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +887,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +895,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +961,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1017,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1040,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1052,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-x86_64-gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,7 +19,8 @@
|
||||
%define pkgname cross-x86_64-gcc13
|
||||
%define cross_arch x86_64
|
||||
%define gcc_target_arch x86_64-suse-linux
|
||||
%define gcc_icecream 1
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
%define build_cp 0%{!?gcc_accel:1}
|
||||
@@ -107,7 +108,7 @@ Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -134,10 +135,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -145,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# Define the canonical target and host architecture
|
||||
# %%gcc_target_arch is supposed to be the full target triple
|
||||
@@ -291,30 +293,27 @@ ExclusiveArch: i586 ppc64le ppc64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc13
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc13
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -363,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -586,11 +586,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -598,6 +598,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -685,7 +688,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -754,7 +757,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -832,6 +835,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -857,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -882,6 +888,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -889,6 +896,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -953,7 +962,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -1009,15 +1018,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1028,6 +1041,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1039,13 +1053,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -195,27 +195,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc@base_ver@
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc@base_ver@
|
||||
%endif
|
||||
AutoReqProv: off
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
@@ -279,6 +276,9 @@ Newlib development files for the amdgcn offload target compiler.
|
||||
|
||||
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
|
||||
|
||||
%define __provides_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
%define __requires_exclude_from ^(%{targetlibsubdir}|%{libsubdir}|%{_prefix}/%{gcc_target_arch})/.*$
|
||||
|
||||
%install
|
||||
cd obj-%{GCCDIST}
|
||||
|
||||
@@ -305,7 +305,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -330,6 +330,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -337,6 +338,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -401,7 +404,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -457,15 +460,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -476,6 +483,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -487,13 +495,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
@@ -527,4 +538,4 @@ fi
|
||||
%exclude %{_prefix}/%{gcc_target_arch}/bin
|
||||
%endif
|
||||
|
||||
%changelog -n cross-%{pkgname}-gcc@base_ver@
|
||||
%changelog -n %{pkgname}
|
||||
|
BIN
gcc-13.3.0+git8781.tar.xz
(Stored with Git LFS)
BIN
gcc-13.3.0+git8781.tar.xz
(Stored with Git LFS)
Binary file not shown.
BIN
gcc-13.4.0+git9739.tar.xz
(Stored with Git LFS)
Normal file
BIN
gcc-13.4.0+git9739.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
85
gcc.spec.in
85
gcc.spec.in
@@ -115,11 +115,16 @@
|
||||
%endif
|
||||
|
||||
# Enable plugins just for Tumbleweed, not for SLES
|
||||
%if 0%{!?sle_version:1}
|
||||
%if 0%{?is_opensuse}
|
||||
%define enable_plugins 1
|
||||
%define build_jit 1
|
||||
%else
|
||||
%define enable_plugins 0
|
||||
%endif
|
||||
|
||||
# Do not enable JIT support on SLE15
|
||||
%if %{suse_version} >= 1600
|
||||
%define build_jit 1
|
||||
%else
|
||||
%define build_jit 0
|
||||
%endif
|
||||
|
||||
@@ -204,7 +209,7 @@
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 1
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -386,10 +391,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -397,6 +402,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
# GCC-TESTSUITE-DELETE-BEGIN
|
||||
# SRC-COMMON-END
|
||||
@@ -1361,14 +1367,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -1584,11 +1591,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -1596,6 +1603,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -1683,7 +1693,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -1752,7 +1762,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -1795,7 +1805,7 @@ amdgcn-amdhsa,\
|
||||
# BUILD-COMMON-END
|
||||
|
||||
STAGE1_FLAGS="-g -O2"
|
||||
%if 0%{?do_profiling} && !0%{?building_testsuite:1}
|
||||
%if 0%{?do_profiling} && !0%{?building_testsuite:1} && !0%{?want_reproducible_builds}
|
||||
%ifarch x86_64 %ix86 ppc64le s390x aarch64
|
||||
%if %{with bootstrap}
|
||||
%define use_pgo_bootstrap 1
|
||||
@@ -1816,6 +1826,8 @@ mkdir ../testresults
|
||||
../contrib/test_summary | tee ../testresults/test_summary.txt
|
||||
%endif
|
||||
|
||||
%define __provides_exclude_from ^%{libsubdir}/.*\.so.*$
|
||||
|
||||
%install
|
||||
# Make sure libtool re-linking libasan at install time doesn't drop the
|
||||
# libstdc++ reference to make asan of C++ modules in python work
|
||||
@@ -1905,7 +1917,8 @@ if ! test -z "$dir_ml"; then
|
||||
fi
|
||||
%endif
|
||||
|
||||
# move shared libs from versionspecific dir to main libdir
|
||||
# move shared libs from versionspecific dir to main libdir, keep a copy
|
||||
# for link-editing in the .so
|
||||
for libname in \
|
||||
%if %{build_fortran}
|
||||
libgfortran \
|
||||
@@ -1969,8 +1982,16 @@ for libname in \
|
||||
mv $lib %{buildroot}/%{mainlibdir}/
|
||||
done
|
||||
if test -L %{buildroot}/%{versmainlibdir}/$libname.so; then
|
||||
ln -sf %{mainlibdir}/`readlink %{buildroot}/%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
|
||||
%{buildroot}/%{versmainlibdir}/$libname.so
|
||||
cp %{buildroot}/%{mainlibdir}/`readlink %{buildroot}/%{versmainlibdir}/$libname.so` \
|
||||
%{buildroot}/%{versmainlibdir}/$libname.so.tem
|
||||
rm %{buildroot}/%{versmainlibdir}/$libname.so
|
||||
mv %{buildroot}/%{versmainlibdir}/$libname.so.tem %{buildroot}/%{versmainlibdir}/$libname.so
|
||||
strip -g %{buildroot}/%{versmainlibdir}/$libname.so
|
||||
else
|
||||
if test -e %{buildroot}/%{versmainlibdir}/$libname.so; then
|
||||
echo ERROR: unexpected linker script for $libname.so
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
%if %{biarch}
|
||||
if test -d %{buildroot}/%{versmainlibdirbi}; then
|
||||
@@ -1978,8 +1999,16 @@ for libname in \
|
||||
mv $lib %{buildroot}/%{mainlibdirbi}/
|
||||
done
|
||||
if test -L %{buildroot}/%{versmainlibdirbi}/$libname.so; then
|
||||
ln -sf %{mainlibdirbi}/`readlink %{buildroot}/%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
|
||||
%{buildroot}/%{versmainlibdirbi}/$libname.so
|
||||
cp %{buildroot}/%{mainlibdirbi}/`readlink %{buildroot}/%{versmainlibdirbi}/$libname.so` \
|
||||
%{buildroot}/%{versmainlibdirbi}/$libname.so.tem
|
||||
rm %{buildroot}/%{versmainlibdirbi}/$libname.so
|
||||
mv %{buildroot}/%{versmainlibdirbi}/$libname.so.tem %{buildroot}/%{versmainlibdirbi}/$libname.so
|
||||
strip -g %{buildroot}/%{versmainlibdirbi}/$libname.so
|
||||
else
|
||||
if test -e %{buildroot}/%{versmainlibdirbi}/$libname.so; then
|
||||
echo ERROR: unexpected linker script for $libname.so
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
%endif
|
||||
@@ -1999,40 +2028,50 @@ sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' %{buildroot}/%{_
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# Move libgcc_s around
|
||||
# Move libgcc_s around, make sure a version specific copy is available
|
||||
# for link editing
|
||||
chmod a+x %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s}
|
||||
if test -L %{buildroot}/%{_lib}/libgcc_s.so; then
|
||||
rm -f %{buildroot}/%{_lib}/libgcc_s.so
|
||||
ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdir}/libgcc_s.so
|
||||
cp %{buildroot}//%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdir}/libgcc_s.so
|
||||
strip -g %{buildroot}/%{versmainlibdir}/libgcc_s.so
|
||||
else
|
||||
mv %{buildroot}/%{_lib}/libgcc_s.so %{buildroot}/%{versmainlibdir}/
|
||||
cp %{buildroot}//%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdir}/libgcc_s.so.%{libgcc_s}
|
||||
strip -g %{buildroot}/%{versmainlibdir}/libgcc_s.so.%{libgcc_s}
|
||||
fi
|
||||
chmod a+x %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s}
|
||||
%if 0%{?usrmerged}
|
||||
mv %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{_slibdir}/libgcc_s.so.%{libgcc_s}
|
||||
%endif
|
||||
%if %{biarch}
|
||||
chmod a+x %{buildroot}/lib/libgcc_s.so.%{libgcc_s}
|
||||
%if %{build_primary_64bit}
|
||||
if test -L %{buildroot}/lib/libgcc_s.so; then
|
||||
rm -f %{buildroot}/lib/libgcc_s.so
|
||||
ln -sf /lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so
|
||||
cp %{buildroot}/lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so
|
||||
strip -g %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so
|
||||
else
|
||||
mv %{buildroot}/lib/libgcc_s.so %{buildroot}/%{versmainlibdirbi32}/
|
||||
cp %{buildroot}/lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s}
|
||||
strip -g %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s}
|
||||
fi
|
||||
ln -sf %{versmainlibdirbi32}/libgcc_s.so %{buildroot}/%{versmainlibdirbi32}/libgcc_s_32.so
|
||||
chmod a+x %{buildroot}/lib/libgcc_s.so.%{libgcc_s}
|
||||
%if 0%{?usrmerged}
|
||||
mv %{buildroot}/lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir}/libgcc_s.so.%{libgcc_s}
|
||||
%endif
|
||||
%else
|
||||
# 32-bit biarch systems
|
||||
chmod a+x %{buildroot}/lib64/libgcc_s.so.%{libgcc_s}
|
||||
if test -L %{buildroot}/lib64/libgcc_s.so; then
|
||||
rm -f %{buildroot}/lib64/libgcc_s.so
|
||||
ln -sf /lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so
|
||||
cp %{buildroot}/lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so
|
||||
strip -g %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so
|
||||
else
|
||||
mv %{buildroot}/lib64/libgcc_s.so %{buildroot}/%{versmainlibdirbi64}/
|
||||
cp %{buildroot}/lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s}
|
||||
strip -g %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s}
|
||||
fi
|
||||
ln -sf %{versmainlibdirbi64}/libgcc_s.so %{buildroot}/%{versmainlibdirbi64}/libgcc_s_64.so
|
||||
chmod a+x %{buildroot}/lib64/libgcc_s.so.%{libgcc_s}
|
||||
%if 0%{?usrmerged}
|
||||
mv %{buildroot}/lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir64}/libgcc_s.so.%{libgcc_s}
|
||||
%endif
|
||||
@@ -2438,7 +2477,7 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc@base_ver@-locale.lang
|
||||
%versmainlib *crt*.o
|
||||
%versmainlib libgcc*.a
|
||||
%versmainlib libgcov.a
|
||||
%versmainlib libgcc_s*.so
|
||||
%versmainlib libgcc_s*.so*
|
||||
%versmainlib libgomp.so
|
||||
%versmainlib libgomp.a
|
||||
%versmainlib libgomp.spec
|
||||
@@ -2504,7 +2543,7 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc@base_ver@-locale.lang
|
||||
%versbiarchlib *crt*.o
|
||||
%versbiarchlib libgcc*.a
|
||||
%versbiarchlib libgcov.a
|
||||
%versbiarchlib libgcc_s*.so
|
||||
%versbiarchlib libgcc_s*.so*
|
||||
%versbiarchlib libgomp.so
|
||||
%versbiarchlib libgomp.a
|
||||
%versbiarchlib libgomp.spec
|
||||
|
@@ -1,58 +0,0 @@
|
||||
From 7562f089a190953b8ef615b90b7b0520e812a930 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Biener <rguenther@suse.de>
|
||||
Date: Mon, 6 Nov 2023 11:31:40 +0100
|
||||
Subject: [PATCH] libstdc++/112351 - deal with __gthread_once failure during
|
||||
locale init
|
||||
To: gcc-patches@gcc.gnu.org
|
||||
|
||||
The following makes the C++98 locale init path follow the way the
|
||||
C++11 performs initialization. This way we deal with pthread_once
|
||||
failing, falling back to non-threadsafe initialization which, given we
|
||||
initialize from the library, should be serialized by the dynamic
|
||||
loader already.
|
||||
|
||||
PR libstdc++/112351
|
||||
libstdc++-v3/
|
||||
* src/c++98/locale.cc (locale::facet::_S_initialize_once):
|
||||
Check whether _S_c_locale is already initialized.
|
||||
(locale::facet::_S_get_c_locale): Always perform non-threadsafe
|
||||
init when threadsafe init failed.
|
||||
---
|
||||
libstdc++-v3/src/c++98/locale.cc | 13 ++++++++-----
|
||||
1 file changed, 8 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/libstdc++-v3/src/c++98/locale.cc b/libstdc++-v3/src/c++98/locale.cc
|
||||
index d308140bab7..1ef0c394cd7 100644
|
||||
--- a/libstdc++-v3/src/c++98/locale.cc
|
||||
+++ b/libstdc++-v3/src/c++98/locale.cc
|
||||
@@ -206,6 +206,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
void
|
||||
locale::facet::_S_initialize_once()
|
||||
{
|
||||
+ // Need to check this because we could get called once from
|
||||
+ // _S_get_c_locale() when the program is single-threaded, and then again
|
||||
+ // (via __gthread_once) when it's multi-threaded.
|
||||
+ if (_S_c_locale)
|
||||
+ return;
|
||||
+
|
||||
// Initialize the underlying locale model.
|
||||
_S_create_c_locale(_S_c_locale, _S_c_name);
|
||||
}
|
||||
@@ -216,12 +222,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
#ifdef __GTHREADS
|
||||
if (__gthread_active_p())
|
||||
__gthread_once(&_S_once, _S_initialize_once);
|
||||
- else
|
||||
#endif
|
||||
- {
|
||||
- if (!_S_c_locale)
|
||||
- _S_initialize_once();
|
||||
- }
|
||||
+ if (__builtin_expect (!_S_c_locale, 0))
|
||||
+ _S_initialize_once();
|
||||
return _S_c_locale;
|
||||
}
|
||||
|
||||
--
|
||||
2.35.3
|
||||
|
50
gcc13-bsc1239566.patch
Normal file
50
gcc13-bsc1239566.patch
Normal file
@@ -0,0 +1,50 @@
|
||||
From 68a6bc230dbae16a8a2073f20f5fcb771d30600c Mon Sep 17 00:00:00 2001
|
||||
From: Richard Biener <rguenther@suse.de>
|
||||
Date: Thu, 13 Mar 2025 14:29:06 +0100
|
||||
Subject: [PATCH] bsc#1239566 - add -[DU]_FORTIFY_SOURCE[=n] to DW_AT_producer
|
||||
To: gcc-patches@gcc.gnu.org
|
||||
|
||||
The following makes sure to record -D_FORTIFY_SOURCE=n and
|
||||
-U_FORTIFY_SOURCE in the DW_AT_producer debuginfo attribute when
|
||||
present on the compiler command line.
|
||||
|
||||
* opts.cc (gen_producer_string): Record -D and -U
|
||||
with _FORTIFY_SOURCE prefix.
|
||||
---
|
||||
gcc/opts.cc | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gcc/opts.cc b/gcc/opts.cc
|
||||
index 4eda7ea49d0..7ed0563a651 100644
|
||||
--- a/gcc/opts.cc
|
||||
+++ b/gcc/opts.cc
|
||||
@@ -3823,9 +3823,7 @@ gen_command_line_string (cl_decoded_option *options,
|
||||
case OPT_v:
|
||||
case OPT_w:
|
||||
case OPT_L:
|
||||
- case OPT_D:
|
||||
case OPT_I:
|
||||
- case OPT_U:
|
||||
case OPT_SPECIAL_unknown:
|
||||
case OPT_SPECIAL_ignore:
|
||||
case OPT_SPECIAL_warn_removed:
|
||||
@@ -3861,6 +3859,16 @@ gen_command_line_string (cl_decoded_option *options,
|
||||
case OPT_fchecking_:
|
||||
/* Ignore these. */
|
||||
continue;
|
||||
+ case OPT_D:
|
||||
+ case OPT_U:
|
||||
+ if (strncmp (options[i].arg, "_FORTIFY_SOURCE",
|
||||
+ strlen ("_FORTIFY_SOURCE")) == 0)
|
||||
+ {
|
||||
+ switches.safe_push (options[i].orig_option_with_args_text);
|
||||
+ len += strlen (options[i].orig_option_with_args_text) + 1;
|
||||
+ }
|
||||
+ /* Otherwise ignore these. */
|
||||
+ continue;
|
||||
case OPT_flto_:
|
||||
{
|
||||
const char *lto_canonical = "-flto";
|
||||
--
|
||||
2.43.0
|
||||
|
201
gcc13-rs6000-msplit-patch-nops.patch
Normal file
201
gcc13-rs6000-msplit-patch-nops.patch
Normal file
@@ -0,0 +1,201 @@
|
||||
From 1807ab6f3a5028ef0b7b30a37e947ea2c9d2bb18 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Biener <rguenther@suse.de>
|
||||
Date: Wed, 13 Nov 2024 16:04:06 +0100
|
||||
Subject: [PATCH] rs6000: Add -msplit-patch-nops (PR112980)
|
||||
To: gcc-patches@gcc.gnu.org
|
||||
|
||||
From: Michael Matz <matz@suse.de>
|
||||
|
||||
as the bug report details some uses of -fpatchable-function-entry
|
||||
aren't happy with the "before" NOPs being inserted between global and
|
||||
local entry point on powerpc. We want the before NOPs be in front
|
||||
of the global entry point. That means that the patching NOPs aren't
|
||||
consecutive for dual entry point functions, but for these usecases
|
||||
that's not the problem. But let us support both under the control
|
||||
of a new target option: -msplit-patch-nops.
|
||||
|
||||
gcc/
|
||||
|
||||
PR target/112980
|
||||
* config/rs6000/rs6000.opt (msplit-patch-nops): New option.
|
||||
* doc/invoke.texi (RS/6000 and PowerPC Options): Document it.
|
||||
* config/rs6000/rs6000.h (machine_function.stop_patch_area_print):
|
||||
New member.
|
||||
* config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry):
|
||||
Emit split nops under control of that one.
|
||||
* config/rs6000/rs6000-logue.cc (rs6000_output_function_prologue):
|
||||
Add handling of split patch nops.
|
||||
---
|
||||
gcc/config/rs6000/rs6000-logue.cc | 15 +++++++++------
|
||||
gcc/config/rs6000/rs6000.cc | 27 +++++++++++++++++++++++----
|
||||
gcc/config/rs6000/rs6000.h | 6 ++++++
|
||||
gcc/config/rs6000/rs6000.opt | 4 ++++
|
||||
gcc/doc/invoke.texi | 17 +++++++++++++++--
|
||||
5 files changed, 57 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/gcc/config/rs6000/rs6000-logue.cc b/gcc/config/rs6000/rs6000-logue.cc
|
||||
index 208404e6864..0c3425fdd9a 100644
|
||||
--- a/gcc/config/rs6000/rs6000-logue.cc
|
||||
+++ b/gcc/config/rs6000/rs6000-logue.cc
|
||||
@@ -4003,8 +4003,8 @@ rs6000_output_function_prologue (FILE *file)
|
||||
|
||||
unsigned short patch_area_size = crtl->patch_area_size;
|
||||
unsigned short patch_area_entry = crtl->patch_area_entry;
|
||||
- /* Need to emit the patching area. */
|
||||
- if (patch_area_size > 0)
|
||||
+ /* Emit non-split patching area now. */
|
||||
+ if (!TARGET_SPLIT_PATCH_NOPS && patch_area_size > 0)
|
||||
{
|
||||
cfun->machine->global_entry_emitted = true;
|
||||
/* As ELFv2 ABI shows, the allowable bytes between the global
|
||||
@@ -4025,7 +4025,6 @@ rs6000_output_function_prologue (FILE *file)
|
||||
patch_area_entry);
|
||||
rs6000_print_patchable_function_entry (file, patch_area_entry,
|
||||
true);
|
||||
- patch_area_size -= patch_area_entry;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4035,9 +4034,13 @@ rs6000_output_function_prologue (FILE *file)
|
||||
assemble_name (file, name);
|
||||
fputs ("\n", file);
|
||||
/* Emit the nops after local entry. */
|
||||
- if (patch_area_size > 0)
|
||||
- rs6000_print_patchable_function_entry (file, patch_area_size,
|
||||
- patch_area_entry == 0);
|
||||
+ if (patch_area_size > patch_area_entry)
|
||||
+ {
|
||||
+ patch_area_size -= patch_area_entry;
|
||||
+ cfun->machine->stop_patch_area_print = false;
|
||||
+ rs6000_print_patchable_function_entry (file, patch_area_size,
|
||||
+ patch_area_entry == 0);
|
||||
+ }
|
||||
}
|
||||
|
||||
else if (rs6000_pcrel_p ())
|
||||
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
|
||||
index 2b876c90e6f..e6fbfe76e19 100644
|
||||
--- a/gcc/config/rs6000/rs6000.cc
|
||||
+++ b/gcc/config/rs6000/rs6000.cc
|
||||
@@ -14937,11 +14937,25 @@ rs6000_print_patchable_function_entry (FILE *file,
|
||||
{
|
||||
bool global_entry_needed_p = rs6000_global_entry_point_prologue_needed_p ();
|
||||
/* For a function which needs global entry point, we will emit the
|
||||
- patchable area before and after local entry point under the control of
|
||||
- cfun->machine->global_entry_emitted, see the handling in function
|
||||
- rs6000_output_function_prologue. */
|
||||
- if (!global_entry_needed_p || cfun->machine->global_entry_emitted)
|
||||
+ patchable area when it isn't split before and after local entry point
|
||||
+ under the control of cfun->machine->global_entry_emitted, see the
|
||||
+ handling in function rs6000_output_function_prologue. */
|
||||
+ if (!TARGET_SPLIT_PATCH_NOPS
|
||||
+ && (!global_entry_needed_p || cfun->machine->global_entry_emitted))
|
||||
default_print_patchable_function_entry (file, patch_area_size, record_p);
|
||||
+
|
||||
+ /* For split patch nops we emit the before nops (from generic code)
|
||||
+ in front of the global entry point and after the local entry point,
|
||||
+ under the control of cfun->machine->stop_patch_area_print, see
|
||||
+ rs6000_output_function_prologue and rs6000_elf_declare_function_name. */
|
||||
+ if (TARGET_SPLIT_PATCH_NOPS)
|
||||
+ {
|
||||
+ if (!cfun->machine->stop_patch_area_print)
|
||||
+ default_print_patchable_function_entry (file, patch_area_size,
|
||||
+ record_p);
|
||||
+ else
|
||||
+ gcc_assert (global_entry_needed_p);
|
||||
+ }
|
||||
}
|
||||
|
||||
enum rtx_code
|
||||
@@ -21115,6 +21129,11 @@ rs6000_elf_declare_function_name (FILE *file, const char *name, tree decl)
|
||||
fprintf (file, "\t.previous\n");
|
||||
}
|
||||
ASM_OUTPUT_LABEL (file, name);
|
||||
+ /* At this time, the "before" NOPs have been already emitted.
|
||||
+ For split nops stop generic code from printing the "after" NOPs and
|
||||
+ emit them just after local entry ourself later. */
|
||||
+ if (rs6000_global_entry_point_prologue_needed_p ())
|
||||
+ cfun->machine->stop_patch_area_print = true;
|
||||
}
|
||||
|
||||
static void rs6000_elf_file_end (void) ATTRIBUTE_UNUSED;
|
||||
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
|
||||
index b8edba43d53..b5dae276420 100644
|
||||
--- a/gcc/config/rs6000/rs6000.h
|
||||
+++ b/gcc/config/rs6000/rs6000.h
|
||||
@@ -2443,6 +2443,12 @@ typedef struct GTY(()) machine_function
|
||||
global entry. It helps to control the patchable area before and after
|
||||
local entry. */
|
||||
bool global_entry_emitted;
|
||||
+ /* With ELFv2 ABI dual entry points being adopted, generic framework
|
||||
+ targetm.asm_out.print_patchable_function_entry would generate "after"
|
||||
+ NOPs before local entry, which is wrong. This flag is to stop it from
|
||||
+ printing patch area before local entry, it is only useful when the
|
||||
+ function requires dual entry points. */
|
||||
+ bool stop_patch_area_print;
|
||||
} machine_function;
|
||||
#endif
|
||||
|
||||
diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
|
||||
index 52507956a4d..6acd8c3c5ff 100644
|
||||
--- a/gcc/config/rs6000/rs6000.opt
|
||||
+++ b/gcc/config/rs6000/rs6000.opt
|
||||
@@ -300,6 +300,10 @@ mfull-toc
|
||||
Target
|
||||
Put everything in the regular TOC.
|
||||
|
||||
+msplit-patch-nops
|
||||
+Target Var(TARGET_SPLIT_PATCH_NOPS) Init(0)
|
||||
+Emit NOPs before global and after local entry point for -fpatchable-function-entry.
|
||||
+
|
||||
mvrsave
|
||||
Target Var(TARGET_ALTIVEC_VRSAVE) Save
|
||||
Generate VRSAVE instructions when generating AltiVec code.
|
||||
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
|
||||
index 89d4b24dd74..1b0cd6c8e26 100644
|
||||
--- a/gcc/doc/invoke.texi
|
||||
+++ b/gcc/doc/invoke.texi
|
||||
@@ -1265,6 +1265,7 @@ See RS/6000 and PowerPC Options.
|
||||
-mtraceback=@var{traceback_type}
|
||||
-maix-struct-return -msvr4-struct-return
|
||||
-mabi=@var{abi-type} -msecure-plt -mbss-plt
|
||||
+-msplit-patch-nops
|
||||
-mlongcall -mno-longcall -mpltseq -mno-pltseq
|
||||
-mblock-move-inline-limit=@var{num}
|
||||
-mblock-compare-inline-limit=@var{num}
|
||||
@@ -17449,11 +17450,12 @@ If @code{N=0}, no pad location is recorded.
|
||||
The NOP instructions are inserted at---and maybe before, depending on
|
||||
@var{M}---the function entry address, even before the prologue. On
|
||||
PowerPC with the ELFv2 ABI, for a function with dual entry points,
|
||||
-the local entry point is this function entry address.
|
||||
+the local entry point is this function entry address by default. See
|
||||
+the @option{-msplit-patch-nops} option to change this.
|
||||
|
||||
The maximum value of @var{N} and @var{M} is 65535. On PowerPC with the
|
||||
ELFv2 ABI, for a function with dual entry points, the supported values
|
||||
-for @var{M} are 0, 2, 6 and 14.
|
||||
+for @var{M} are 0, 2, 6 and 14 when not using @option{-msplit-patch-nops}.
|
||||
@end table
|
||||
|
||||
|
||||
@@ -29486,6 +29488,17 @@ requires @code{.plt} and @code{.got}
|
||||
sections that are both writable and executable.
|
||||
This is a PowerPC 32-bit SYSV ABI option.
|
||||
|
||||
+@opindex msplit-patch-nops
|
||||
+@item -msplit-patch-nops
|
||||
+When adding NOPs for a patchable area via the
|
||||
+@option{-fpatchable-function-entry} option emit the ``before'' NOPs in front
|
||||
+of the global entry point and the ``after'' NOPs after the local entry point.
|
||||
+This makes the sequence of NOPs not consecutive when a global entry point
|
||||
+is generated. Without this option the NOPs are emitted directly before and
|
||||
+after the local entry point, making them consecutive but moving global and
|
||||
+local entry point further apart. If only a single entry point is generated
|
||||
+this option has no effect.
|
||||
+
|
||||
@opindex misel
|
||||
@opindex mno-isel
|
||||
@item -misel
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package gcc13-testresults
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -135,11 +135,16 @@
|
||||
%endif
|
||||
|
||||
# Enable plugins just for Tumbleweed, not for SLES
|
||||
%if 0%{!?sle_version:1}
|
||||
%if 0%{?is_opensuse}
|
||||
%define enable_plugins 1
|
||||
%define build_jit 1
|
||||
%else
|
||||
%define enable_plugins 0
|
||||
%endif
|
||||
|
||||
# Do not enable JIT support on SLE15
|
||||
%if %{suse_version} >= 1600
|
||||
%define build_jit 1
|
||||
%else
|
||||
%define build_jit 0
|
||||
%endif
|
||||
|
||||
@@ -221,7 +226,7 @@
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -402,10 +407,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -413,6 +418,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
Summary: Testsuite results
|
||||
License: SUSE-Public-Domain
|
||||
@@ -547,14 +553,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -770,11 +777,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -782,6 +789,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -869,7 +879,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -938,7 +948,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -978,7 +988,7 @@ amdgcn-amdhsa,\
|
||||
}
|
||||
|
||||
STAGE1_FLAGS="-g -O2"
|
||||
%if 0%{?do_profiling} && !0%{?building_testsuite:1}
|
||||
%if 0%{?do_profiling} && !0%{?building_testsuite:1} && !0%{?want_reproducible_builds}
|
||||
%ifarch x86_64 %ix86 ppc64le s390x aarch64
|
||||
%if %{with bootstrap}
|
||||
%define use_pgo_bootstrap 1
|
||||
@@ -999,6 +1009,8 @@ mkdir ../testresults
|
||||
../contrib/test_summary | tee ../testresults/test_summary.txt
|
||||
%endif
|
||||
|
||||
%define __provides_exclude_from ^%{libsubdir}/.*\.so.*$
|
||||
|
||||
%install
|
||||
# Make sure libtool re-linking libasan at install time doesn't drop the
|
||||
# libstdc++ reference to make asan of C++ modules in python work
|
||||
|
116
gcc13.changes
116
gcc13.changes
@@ -1,3 +1,119 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 17 07:20:37 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Remove all %gcc_icecream mode cross-compilers and the corresponding
|
||||
icecream backend subpackages. Instead use glibc-bootstrap only
|
||||
configs for cross-x86_64-gcc (ipxe,ovmf,qemu), cross-ppc64-gcc (qemu)
|
||||
and cross-arm-gcc (ovmf).
|
||||
- Prune the use of update-alternatives from openSUSE Factory and
|
||||
SLFO.
|
||||
- Adjust crosses to conflict consistently where they did not
|
||||
already and make them use unsuffixed binaries.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 2 10:31:10 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Tune for power10 for SLES 16. [jsc#PED-12029]
|
||||
- Tune for z15 for SLES 16. [jsc#PED-253]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 5 17:02:16 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to GCC 13.4 release
|
||||
* collects regression fixes from the last year
|
||||
- Remove hppa icecream backend to avoid conflicts with the
|
||||
hppa bootstrap compiler
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 4 11:38:59 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Re-enable AutoReqProv for cross packages but filter files processed
|
||||
via __requires_exclude_from and __provides_exclude_from.
|
||||
[boo#1219031]
|
||||
- Exclude shared objects present for link editing in the GCC specific
|
||||
subdirectory from provides processing via __provides_exclude_from.
|
||||
[bsc#1244050][bsc#1243991]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 3 12:36:35 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Make cross-*-gcc13-bootstrap package conflict with the non-bootstrap
|
||||
variant conflict with the unversioned cross-*-gcc package.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 30 13:49:58 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to gcc-13 branch head, ec78a0d9962f144b13c6da3ebe, git9730
|
||||
* GCC 13.4 RC2
|
||||
* Includes gcc13-bsc1216664.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 22 14:31:57 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Fix s390x build by using a glob for installed libgcc_s.so and
|
||||
libgcc_s.so.1 which only appears when the former is a linker
|
||||
script. [bsc#1241549]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 8 11:09:05 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Make sure link editing is done against our own shared library
|
||||
copy rather than the installed system runtime. [bsc#1240788]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 27 10:05:46 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Replace gcc13-rs6000-Adjust-fpatchable-function-entry.patch with
|
||||
a backport of the now upstream -msplit-patch-nops in
|
||||
gcc13-rs6000-msplit-patch-nops.patch requried for user-space
|
||||
livepatching on powerpc.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 13 08:22:15 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to gcc-13 branch head, 4ef1d8c84faeebffeb0cc01ee2, git9426
|
||||
- Remove gcc13-pr116657.patch now present on the branch.
|
||||
- Remove gcc13-pr118780.patch now present on the branch.
|
||||
- Add gcc13-bsc1239566.patch to also record -D_FORTIFY_SOURCE=2
|
||||
in the DWARF debug info DW_AT_producer string. [bsc#1239566]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 10 13:25:36 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Disable profiling during build when %want_reproducible_builds is set
|
||||
[bsc#1238491]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 6 10:25:01 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Fix condition on whether to enable plugins or JIT support to
|
||||
not check sle_version which is not defined in SLFO but to check
|
||||
is_opensuse and suse_version instead.
|
||||
- Add gcc13-pr118780.patch to make the SLFO config work.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 22 08:06:21 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Remove epiphany build, newlib no longer builds for it.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 16 13:32:36 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Add gcc13-pr116657.patch to fix for parsing tzdata 2024b [gcc#116657]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 7 09:32:00 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to gcc-13 branch head, 9d368828bd4d04ce507e02a581, git8964
|
||||
* includes fix for samba build with glibc 2.40
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 25 17:29:02 UTC 2024 - Giuliano Belinassi <giuliano.belinassi@suse.com>
|
||||
|
||||
- Add gcc13-rs6000-Adjust-fpatchable-function-entry.patch to fix
|
||||
the incorrect NOPs layout when -fpatchable-function-enry is passed
|
||||
in ppc64le (jsc#PED-7395).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 21 08:56:28 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
|
87
gcc13.spec
87
gcc13.spec
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package gcc13
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -114,11 +114,16 @@
|
||||
%endif
|
||||
|
||||
# Enable plugins just for Tumbleweed, not for SLES
|
||||
%if 0%{!?sle_version:1}
|
||||
%if 0%{?is_opensuse}
|
||||
%define enable_plugins 1
|
||||
%define build_jit 1
|
||||
%else
|
||||
%define enable_plugins 0
|
||||
%endif
|
||||
|
||||
# Do not enable JIT support on SLE15
|
||||
%if %{suse_version} >= 1600
|
||||
%define build_jit 1
|
||||
%else
|
||||
%define build_jit 0
|
||||
%endif
|
||||
|
||||
@@ -200,7 +205,7 @@
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 13.3.0+git8781
|
||||
Version: 13.4.0+git9739
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -381,10 +386,10 @@ Patch18: gcc10-amdgcn-llvm-as.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||
Patch21: gdcflags.patch
|
||||
Patch23: gcc13-bsc1216664.patch
|
||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||
Patch26: gcc13-pr101523.patch
|
||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||
Patch28: gcc13-bsc1239566.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -392,6 +397,7 @@ Patch60: gcc44-textdomain.patch
|
||||
Patch61: gcc44-rename-info-files.patch
|
||||
# Feature backports
|
||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||
|
||||
License: GPL-3.0-or-later
|
||||
Summary: The GNU C Compiler and Support Files
|
||||
@@ -2371,14 +2377,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
||||
%patch -P 19 -p1
|
||||
%endif
|
||||
%patch -P 21 -p1
|
||||
%patch -P 23 -p1
|
||||
%patch -P 24 -p1
|
||||
%patch -P 26 -p1
|
||||
%patch -P 27 -p1
|
||||
%patch -P 28 -p1
|
||||
%patch -P 51
|
||||
%patch -P 60 -p1
|
||||
%patch -P 61 -p1
|
||||
%patch -P 100 -p1
|
||||
%patch -P 101 -p1
|
||||
|
||||
#test patching end
|
||||
|
||||
@@ -2594,11 +2601,11 @@ amdgcn-amdhsa,\
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -2606,6 +2613,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -2693,7 +2703,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
@@ -2762,7 +2772,7 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
@@ -2802,7 +2812,7 @@ amdgcn-amdhsa,\
|
||||
}
|
||||
|
||||
STAGE1_FLAGS="-g -O2"
|
||||
%if 0%{?do_profiling} && !0%{?building_testsuite:1}
|
||||
%if 0%{?do_profiling} && !0%{?building_testsuite:1} && !0%{?want_reproducible_builds}
|
||||
%ifarch x86_64 %ix86 ppc64le s390x aarch64
|
||||
%if %{with bootstrap}
|
||||
%define use_pgo_bootstrap 1
|
||||
@@ -2823,6 +2833,8 @@ mkdir ../testresults
|
||||
../contrib/test_summary | tee ../testresults/test_summary.txt
|
||||
%endif
|
||||
|
||||
%define __provides_exclude_from ^%{libsubdir}/.*\.so.*$
|
||||
|
||||
%install
|
||||
# Make sure libtool re-linking libasan at install time doesn't drop the
|
||||
# libstdc++ reference to make asan of C++ modules in python work
|
||||
@@ -2911,7 +2923,8 @@ if ! test -z "$dir_ml"; then
|
||||
fi
|
||||
%endif
|
||||
|
||||
# move shared libs from versionspecific dir to main libdir
|
||||
# move shared libs from versionspecific dir to main libdir, keep a copy
|
||||
# for link-editing in the .so
|
||||
for libname in \
|
||||
%if %{build_fortran}
|
||||
libgfortran \
|
||||
@@ -2975,8 +2988,16 @@ for libname in \
|
||||
mv $lib %{buildroot}/%{mainlibdir}/
|
||||
done
|
||||
if test -L %{buildroot}/%{versmainlibdir}/$libname.so; then
|
||||
ln -sf %{mainlibdir}/`readlink %{buildroot}/%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
|
||||
%{buildroot}/%{versmainlibdir}/$libname.so
|
||||
cp %{buildroot}/%{mainlibdir}/`readlink %{buildroot}/%{versmainlibdir}/$libname.so` \
|
||||
%{buildroot}/%{versmainlibdir}/$libname.so.tem
|
||||
rm %{buildroot}/%{versmainlibdir}/$libname.so
|
||||
mv %{buildroot}/%{versmainlibdir}/$libname.so.tem %{buildroot}/%{versmainlibdir}/$libname.so
|
||||
strip -g %{buildroot}/%{versmainlibdir}/$libname.so
|
||||
else
|
||||
if test -e %{buildroot}/%{versmainlibdir}/$libname.so; then
|
||||
echo ERROR: unexpected linker script for $libname.so
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
%if %{biarch}
|
||||
if test -d %{buildroot}/%{versmainlibdirbi}; then
|
||||
@@ -2984,8 +3005,16 @@ for libname in \
|
||||
mv $lib %{buildroot}/%{mainlibdirbi}/
|
||||
done
|
||||
if test -L %{buildroot}/%{versmainlibdirbi}/$libname.so; then
|
||||
ln -sf %{mainlibdirbi}/`readlink %{buildroot}/%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
|
||||
%{buildroot}/%{versmainlibdirbi}/$libname.so
|
||||
cp %{buildroot}/%{mainlibdirbi}/`readlink %{buildroot}/%{versmainlibdirbi}/$libname.so` \
|
||||
%{buildroot}/%{versmainlibdirbi}/$libname.so.tem
|
||||
rm %{buildroot}/%{versmainlibdirbi}/$libname.so
|
||||
mv %{buildroot}/%{versmainlibdirbi}/$libname.so.tem %{buildroot}/%{versmainlibdirbi}/$libname.so
|
||||
strip -g %{buildroot}/%{versmainlibdirbi}/$libname.so
|
||||
else
|
||||
if test -e %{buildroot}/%{versmainlibdirbi}/$libname.so; then
|
||||
echo ERROR: unexpected linker script for $libname.so
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
%endif
|
||||
@@ -3005,40 +3034,50 @@ sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' %{buildroot}/%{_
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# Move libgcc_s around
|
||||
# Move libgcc_s around, make sure a version specific copy is available
|
||||
# for link editing
|
||||
chmod a+x %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s}
|
||||
if test -L %{buildroot}/%{_lib}/libgcc_s.so; then
|
||||
rm -f %{buildroot}/%{_lib}/libgcc_s.so
|
||||
ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdir}/libgcc_s.so
|
||||
cp %{buildroot}//%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdir}/libgcc_s.so
|
||||
strip -g %{buildroot}/%{versmainlibdir}/libgcc_s.so
|
||||
else
|
||||
mv %{buildroot}/%{_lib}/libgcc_s.so %{buildroot}/%{versmainlibdir}/
|
||||
cp %{buildroot}//%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdir}/libgcc_s.so.%{libgcc_s}
|
||||
strip -g %{buildroot}/%{versmainlibdir}/libgcc_s.so.%{libgcc_s}
|
||||
fi
|
||||
chmod a+x %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s}
|
||||
%if 0%{?usrmerged}
|
||||
mv %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{_slibdir}/libgcc_s.so.%{libgcc_s}
|
||||
%endif
|
||||
%if %{biarch}
|
||||
chmod a+x %{buildroot}/lib/libgcc_s.so.%{libgcc_s}
|
||||
%if %{build_primary_64bit}
|
||||
if test -L %{buildroot}/lib/libgcc_s.so; then
|
||||
rm -f %{buildroot}/lib/libgcc_s.so
|
||||
ln -sf /lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so
|
||||
cp %{buildroot}/lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so
|
||||
strip -g %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so
|
||||
else
|
||||
mv %{buildroot}/lib/libgcc_s.so %{buildroot}/%{versmainlibdirbi32}/
|
||||
cp %{buildroot}/lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s}
|
||||
strip -g %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s}
|
||||
fi
|
||||
ln -sf %{versmainlibdirbi32}/libgcc_s.so %{buildroot}/%{versmainlibdirbi32}/libgcc_s_32.so
|
||||
chmod a+x %{buildroot}/lib/libgcc_s.so.%{libgcc_s}
|
||||
%if 0%{?usrmerged}
|
||||
mv %{buildroot}/lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir}/libgcc_s.so.%{libgcc_s}
|
||||
%endif
|
||||
%else
|
||||
# 32-bit biarch systems
|
||||
chmod a+x %{buildroot}/lib64/libgcc_s.so.%{libgcc_s}
|
||||
if test -L %{buildroot}/lib64/libgcc_s.so; then
|
||||
rm -f %{buildroot}/lib64/libgcc_s.so
|
||||
ln -sf /lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so
|
||||
cp %{buildroot}/lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so
|
||||
strip -g %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so
|
||||
else
|
||||
mv %{buildroot}/lib64/libgcc_s.so %{buildroot}/%{versmainlibdirbi64}/
|
||||
cp %{buildroot}/lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s}
|
||||
strip -g %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s}
|
||||
fi
|
||||
ln -sf %{versmainlibdirbi64}/libgcc_s.so %{buildroot}/%{versmainlibdirbi64}/libgcc_s_64.so
|
||||
chmod a+x %{buildroot}/lib64/libgcc_s.so.%{libgcc_s}
|
||||
%if 0%{?usrmerged}
|
||||
mv %{buildroot}/lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir64}/libgcc_s.so.%{libgcc_s}
|
||||
%endif
|
||||
@@ -3440,7 +3479,7 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc13-locale.lang
|
||||
%versmainlib *crt*.o
|
||||
%versmainlib libgcc*.a
|
||||
%versmainlib libgcov.a
|
||||
%versmainlib libgcc_s*.so
|
||||
%versmainlib libgcc_s*.so*
|
||||
%versmainlib libgomp.so
|
||||
%versmainlib libgomp.a
|
||||
%versmainlib libgomp.spec
|
||||
@@ -3506,7 +3545,7 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc13-locale.lang
|
||||
%versbiarchlib *crt*.o
|
||||
%versbiarchlib libgcc*.a
|
||||
%versbiarchlib libgcov.a
|
||||
%versbiarchlib libgcc_s*.so
|
||||
%versbiarchlib libgcc_s*.so*
|
||||
%versbiarchlib libgomp.so
|
||||
%versbiarchlib libgomp.a
|
||||
%versbiarchlib libgomp.spec
|
||||
|
Reference in New Issue
Block a user