forked from pool/gcc13
Compare commits
36 Commits
Author | SHA256 | Date | |
---|---|---|---|
7b0a1683b7 | |||
b0f0d01f4f | |||
004424c6c3 | |||
afac32a7c0 | |||
60306b8b83 | |||
46cafbd33b | |||
444e8ae674 | |||
f5f9765ee4 | |||
e3e8f6c669 | |||
39ecd72620 | |||
3d7542c78e | |||
a7d4e1f5d1 | |||
a47a6c7ae2 | |||
c1072c9162 | |||
ce539afe45 | |||
e00e0065fb | |||
9d8059d6b9 | |||
eeb7cfc5e7 | |||
643e897094 | |||
7c0c085f9d | |||
f5df47ead9 | |||
7a46c00ae7 | |||
41c4caba77 | |||
4f1ae734f8 | |||
43ff13a9f9 | |||
4cd5e7d48b | |||
4381218556 | |||
ddffb6afc2 | |||
27c5657f8d | |||
8cc2efe84a | |||
39d8753a82 | |||
fa6b0aea9c | |||
3b68b0eb13 | |||
c420d54861 | |||
63a48184dc | |||
59c9df8ab3 |
@@ -14,17 +14,10 @@
|
|||||||
<flavor>cross-pru-gcc13-bootstrap</flavor>
|
<flavor>cross-pru-gcc13-bootstrap</flavor>
|
||||||
<flavor>cross-pru-gcc13</flavor>
|
<flavor>cross-pru-gcc13</flavor>
|
||||||
<flavor>cross-x86_64-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-ppc64-gcc13</flavor>
|
||||||
<flavor>cross-m68k-gcc13</flavor>
|
|
||||||
<flavor>cross-mips-gcc13</flavor>
|
|
||||||
<flavor>cross-hppa-gcc13-bootstrap</flavor>
|
<flavor>cross-hppa-gcc13-bootstrap</flavor>
|
||||||
<flavor>cross-hppa-gcc13</flavor>
|
|
||||||
<flavor>cross-arm-none-gcc13-bootstrap</flavor>
|
<flavor>cross-arm-none-gcc13-bootstrap</flavor>
|
||||||
<flavor>cross-arm-none-gcc13</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-bootstrap</flavor>
|
||||||
<flavor>cross-riscv64-elf-gcc13</flavor>
|
<flavor>cross-riscv64-elf-gcc13</flavor>
|
||||||
<flavor>cross-rx-gcc13-bootstrap</flavor>
|
<flavor>cross-rx-gcc13-bootstrap</flavor>
|
||||||
|
25
change_spec
25
change_spec
@@ -87,10 +87,16 @@ add_newlib_cross() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
add_glibc_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_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
|
# We now support "proper" cross-compilers to suse targets via a
|
||||||
# cross-glibc package, enable that via for example
|
# 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-riscv64-gcc$base_ver riscv64 riscv64-suse-linux
|
||||||
add_glibc_cross cross-s390x-gcc$base_ver s390x s390x-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_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-bootstrap avr avr "%define gcc_libc_bootstrap 1"
|
||||||
add_cross cross-avr-gcc$base_ver avr avr
|
add_cross cross-avr-gcc$base_ver avr avr
|
||||||
add_newlib_cross cross-pru-gcc$base_ver pru pru
|
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_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-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-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_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-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-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-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-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-nds32le-gcc$base_ver nds32le nds32le-elf
|
||||||
add_newlib_cross cross-riscv64-elf-gcc$base_ver riscv64 riscv64-elf
|
add_newlib_cross cross-riscv64-elf-gcc$base_ver riscv64 riscv64-elf
|
||||||
#add_newlib_cross cross-rl78-gcc$base_ver rl78 rl78-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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
%define pkgname cross-aarch64-gcc13-bootstrap
|
%define pkgname cross-aarch64-gcc13-bootstrap
|
||||||
%define cross_arch aarch64
|
%define cross_arch aarch64
|
||||||
%define gcc_target_arch aarch64-suse-linux
|
%define gcc_target_arch aarch64-suse-linux
|
||||||
|
%define gcc_target_glibc 1
|
||||||
%define gcc_libc_bootstrap 1
|
%define gcc_libc_bootstrap 1
|
||||||
# nospeccleaner
|
# nospeccleaner
|
||||||
|
|
||||||
@@ -107,7 +108,7 @@ Name: %{pkgname}
|
|||||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +293,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +586,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +598,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +688,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +757,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1018,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +292,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1017,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +292,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1017,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -19,7 +19,8 @@
|
|||||||
%define pkgname cross-arm-gcc13
|
%define pkgname cross-arm-gcc13
|
||||||
%define cross_arch arm
|
%define cross_arch arm
|
||||||
%define gcc_target_arch arm-suse-linux-gnueabi
|
%define gcc_target_arch arm-suse-linux-gnueabi
|
||||||
%define gcc_icecream 1
|
%define gcc_target_glibc 1
|
||||||
|
%define gcc_libc_bootstrap 1
|
||||||
# nospeccleaner
|
# nospeccleaner
|
||||||
|
|
||||||
%define build_cp 0%{!?gcc_accel:1}
|
%define build_cp 0%{!?gcc_accel:1}
|
||||||
@@ -107,7 +108,7 @@ Name: %{pkgname}
|
|||||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +293,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +586,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +598,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +688,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +757,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1018,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -146,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -292,27 +293,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -364,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -587,11 +586,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -599,6 +598,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -686,7 +688,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -755,7 +757,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -858,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1010,15 +1018,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +292,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1017,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +292,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1017,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +292,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1017,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +292,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1017,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +292,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1017,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +292,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1017,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -19,7 +19,8 @@
|
|||||||
%define pkgname cross-ppc64-gcc13
|
%define pkgname cross-ppc64-gcc13
|
||||||
%define cross_arch ppc64
|
%define cross_arch ppc64
|
||||||
%define gcc_target_arch powerpc64-suse-linux
|
%define gcc_target_arch powerpc64-suse-linux
|
||||||
%define gcc_icecream 1
|
%define gcc_target_glibc 1
|
||||||
|
%define gcc_libc_bootstrap 1
|
||||||
# nospeccleaner
|
# nospeccleaner
|
||||||
|
|
||||||
%define build_cp 0%{!?gcc_accel:1}
|
%define build_cp 0%{!?gcc_accel:1}
|
||||||
@@ -107,7 +108,7 @@ Name: %{pkgname}
|
|||||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +293,24 @@ ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +586,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +598,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +688,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +757,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1018,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
%define pkgname cross-ppc64le-gcc13-bootstrap
|
%define pkgname cross-ppc64le-gcc13-bootstrap
|
||||||
%define cross_arch ppc64le
|
%define cross_arch ppc64le
|
||||||
%define gcc_target_arch powerpc64le-suse-linux
|
%define gcc_target_arch powerpc64le-suse-linux
|
||||||
|
%define gcc_target_glibc 1
|
||||||
%define gcc_libc_bootstrap 1
|
%define gcc_libc_bootstrap 1
|
||||||
# nospeccleaner
|
# nospeccleaner
|
||||||
|
|
||||||
@@ -107,7 +108,7 @@ Name: %{pkgname}
|
|||||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +293,24 @@ ExclusiveArch: i586 ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +586,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +598,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +688,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +757,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1018,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +292,24 @@ ExclusiveArch: i586 ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1017,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -146,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -292,27 +293,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -364,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -587,11 +586,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -599,6 +598,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -686,7 +688,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -755,7 +757,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -858,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1010,15 +1018,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +292,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1017,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -146,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -292,27 +293,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -364,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -587,11 +586,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -599,6 +598,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -686,7 +688,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -755,7 +757,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -858,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1010,15 +1018,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +292,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1017,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
%define pkgname cross-riscv64-gcc13-bootstrap
|
%define pkgname cross-riscv64-gcc13-bootstrap
|
||||||
%define cross_arch riscv64
|
%define cross_arch riscv64
|
||||||
%define gcc_target_arch riscv64-suse-linux
|
%define gcc_target_arch riscv64-suse-linux
|
||||||
|
%define gcc_target_glibc 1
|
||||||
%define gcc_libc_bootstrap 1
|
%define gcc_libc_bootstrap 1
|
||||||
# nospeccleaner
|
# nospeccleaner
|
||||||
|
|
||||||
@@ -107,7 +108,7 @@ Name: %{pkgname}
|
|||||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +293,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +586,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +598,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +688,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +757,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1018,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +292,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1017,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -146,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -292,27 +293,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -364,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -587,11 +586,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -599,6 +598,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -686,7 +688,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -755,7 +757,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -858,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1010,15 +1018,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +292,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1017,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
%define pkgname cross-s390x-gcc13-bootstrap
|
%define pkgname cross-s390x-gcc13-bootstrap
|
||||||
%define cross_arch s390x
|
%define cross_arch s390x
|
||||||
%define gcc_target_arch s390x-suse-linux
|
%define gcc_target_arch s390x-suse-linux
|
||||||
|
%define gcc_target_glibc 1
|
||||||
%define gcc_libc_bootstrap 1
|
%define gcc_libc_bootstrap 1
|
||||||
# nospeccleaner
|
# nospeccleaner
|
||||||
|
|
||||||
@@ -107,7 +108,7 @@ Name: %{pkgname}
|
|||||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +293,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +586,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +598,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +688,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +757,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1018,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# 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
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +145,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +292,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +361,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +585,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +597,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +687,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +756,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +862,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1017,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -19,7 +19,8 @@
|
|||||||
%define pkgname cross-x86_64-gcc13
|
%define pkgname cross-x86_64-gcc13
|
||||||
%define cross_arch x86_64
|
%define cross_arch x86_64
|
||||||
%define gcc_target_arch x86_64-suse-linux
|
%define gcc_target_arch x86_64-suse-linux
|
||||||
%define gcc_icecream 1
|
%define gcc_target_glibc 1
|
||||||
|
%define gcc_libc_bootstrap 1
|
||||||
# nospeccleaner
|
# nospeccleaner
|
||||||
|
|
||||||
%define build_cp 0%{!?gcc_accel:1}
|
%define build_cp 0%{!?gcc_accel:1}
|
||||||
@@ -107,7 +108,7 @@ Name: %{pkgname}
|
|||||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -145,6 +146,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# Define the canonical target and host architecture
|
# Define the canonical target and host architecture
|
||||||
# %%gcc_target_arch is supposed to be the full target triple
|
# %%gcc_target_arch is supposed to be the full target triple
|
||||||
@@ -291,27 +293,24 @@ ExclusiveArch: i586 ppc64le ppc64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc13
|
Requires: libstdc++6-devel-gcc13
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
@@ -363,14 +362,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -586,11 +586,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -598,6 +598,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -685,7 +688,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -754,7 +757,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -857,7 +863,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -1009,15 +1018,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_prefix}/include/c++
|
||||||
|
@@ -195,27 +195,24 @@ ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
|
|||||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||||
%endif
|
%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
|
# 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
|
# 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.
|
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||||
# the following avoids repo-checker spamming us endlessly.
|
# 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
|
%endif
|
||||||
#!BuildIgnore: gcc-PIE
|
#!BuildIgnore: gcc-PIE
|
||||||
%if 0%{build_cp:1}
|
%if %{build_cp}
|
||||||
# The cross compiler only packages the arch specific c++ headers, so
|
# 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
|
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||||
# the libs, though)
|
# the libs, though)
|
||||||
Requires: libstdc++6-devel-gcc@base_ver@
|
Requires: libstdc++6-devel-gcc@base_ver@
|
||||||
%endif
|
%endif
|
||||||
AutoReqProv: off
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
%if 0%{!?gcc_accel:1}
|
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): 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 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
|
%install
|
||||||
cd obj-%{GCCDIST}
|
cd obj-%{GCCDIST}
|
||||||
|
|
||||||
@@ -305,7 +305,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||||
%if %{build_cp}
|
%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
|
# with other host compilers. Rip out the non-target specific parts
|
||||||
# again. Note not all cross targets support libstdc++, so create the
|
# again. Note not all cross targets support libstdc++, so create the
|
||||||
# directory to make things easier.
|
# 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
|
# for accelerators remove all frontends but lto1 and also install-tools
|
||||||
%if 0%{?gcc_accel:1}
|
%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}/cc1
|
||||||
|
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
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%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/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)
|
# 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 - )
|
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||||
|
# also remove installed libstdc++ headers
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||||
%endif
|
%endif
|
||||||
# for amdgcn install the symlinks to the llvm tools
|
# for amdgcn install the symlinks to the llvm tools
|
||||||
# follow alternatives symlinks to the hardcoded version requirement
|
# 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
|
# we provide update-alternatives for selecting a compiler version for
|
||||||
# crosses
|
# crosses
|
||||||
%if 0%{!?gcc_accel:1}
|
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
for ex in gcc cpp \
|
for ex in gcc cpp \
|
||||||
%if %{build_cp}
|
%if %{build_cp}
|
||||||
@@ -457,15 +460,19 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
%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%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||||
|
%endif
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
%{_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-nm
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||||
|
%if %{suse_version} < 1600
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
%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-dump
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
%if %{build_cp}
|
%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}-c++
|
||||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
%{_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}-c++
|
||||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||||
|
%endif
|
||||||
%if 0%{!?gcc_libc_bootstrap:1}
|
%if 0%{!?gcc_libc_bootstrap:1}
|
||||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||||
%{_prefix}/include/c++
|
%{_prefix}/include/c++
|
||||||
@@ -527,4 +538,4 @@ fi
|
|||||||
%exclude %{_prefix}/%{gcc_target_arch}/bin
|
%exclude %{_prefix}/%{gcc_target_arch}/bin
|
||||||
%endif
|
%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
|
%endif
|
||||||
|
|
||||||
# Enable plugins just for Tumbleweed, not for SLES
|
# Enable plugins just for Tumbleweed, not for SLES
|
||||||
%if 0%{!?sle_version:1}
|
%if 0%{?is_opensuse}
|
||||||
%define enable_plugins 1
|
%define enable_plugins 1
|
||||||
%define build_jit 1
|
|
||||||
%else
|
%else
|
||||||
%define enable_plugins 0
|
%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
|
%define build_jit 0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@@ -204,7 +209,7 @@
|
|||||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 1
|
Release: 1
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -397,6 +402,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
# GCC-TESTSUITE-DELETE-BEGIN
|
# GCC-TESTSUITE-DELETE-BEGIN
|
||||||
# SRC-COMMON-END
|
# SRC-COMMON-END
|
||||||
@@ -1361,14 +1367,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -1584,11 +1591,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -1596,6 +1603,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -1683,7 +1693,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -1752,7 +1762,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--with-tune=zEC12 --with-arch=z196 \
|
||||||
@@ -1795,7 +1805,7 @@ amdgcn-amdhsa,\
|
|||||||
# BUILD-COMMON-END
|
# BUILD-COMMON-END
|
||||||
|
|
||||||
STAGE1_FLAGS="-g -O2"
|
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
|
%ifarch x86_64 %ix86 ppc64le s390x aarch64
|
||||||
%if %{with bootstrap}
|
%if %{with bootstrap}
|
||||||
%define use_pgo_bootstrap 1
|
%define use_pgo_bootstrap 1
|
||||||
@@ -1816,6 +1826,8 @@ mkdir ../testresults
|
|||||||
../contrib/test_summary | tee ../testresults/test_summary.txt
|
../contrib/test_summary | tee ../testresults/test_summary.txt
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%define __provides_exclude_from ^%{libsubdir}/.*\.so.*$
|
||||||
|
|
||||||
%install
|
%install
|
||||||
# Make sure libtool re-linking libasan at install time doesn't drop the
|
# Make sure libtool re-linking libasan at install time doesn't drop the
|
||||||
# libstdc++ reference to make asan of C++ modules in python work
|
# libstdc++ reference to make asan of C++ modules in python work
|
||||||
@@ -1905,7 +1917,8 @@ if ! test -z "$dir_ml"; then
|
|||||||
fi
|
fi
|
||||||
%endif
|
%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 \
|
for libname in \
|
||||||
%if %{build_fortran}
|
%if %{build_fortran}
|
||||||
libgfortran \
|
libgfortran \
|
||||||
@@ -1969,8 +1982,16 @@ for libname in \
|
|||||||
mv $lib %{buildroot}/%{mainlibdir}/
|
mv $lib %{buildroot}/%{mainlibdir}/
|
||||||
done
|
done
|
||||||
if test -L %{buildroot}/%{versmainlibdir}/$libname.so; then
|
if test -L %{buildroot}/%{versmainlibdir}/$libname.so; then
|
||||||
ln -sf %{mainlibdir}/`readlink %{buildroot}/%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
|
cp %{buildroot}/%{mainlibdir}/`readlink %{buildroot}/%{versmainlibdir}/$libname.so` \
|
||||||
%{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
|
fi
|
||||||
%if %{biarch}
|
%if %{biarch}
|
||||||
if test -d %{buildroot}/%{versmainlibdirbi}; then
|
if test -d %{buildroot}/%{versmainlibdirbi}; then
|
||||||
@@ -1978,8 +1999,16 @@ for libname in \
|
|||||||
mv $lib %{buildroot}/%{mainlibdirbi}/
|
mv $lib %{buildroot}/%{mainlibdirbi}/
|
||||||
done
|
done
|
||||||
if test -L %{buildroot}/%{versmainlibdirbi}/$libname.so; then
|
if test -L %{buildroot}/%{versmainlibdirbi}/$libname.so; then
|
||||||
ln -sf %{mainlibdirbi}/`readlink %{buildroot}/%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
|
cp %{buildroot}/%{mainlibdirbi}/`readlink %{buildroot}/%{versmainlibdirbi}/$libname.so` \
|
||||||
%{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
|
||||||
fi
|
fi
|
||||||
%endif
|
%endif
|
||||||
@@ -1999,40 +2028,50 @@ sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' %{buildroot}/%{_
|
|||||||
%endif
|
%endif
|
||||||
%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
|
if test -L %{buildroot}/%{_lib}/libgcc_s.so; then
|
||||||
rm -f %{buildroot}/%{_lib}/libgcc_s.so
|
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
|
else
|
||||||
mv %{buildroot}/%{_lib}/libgcc_s.so %{buildroot}/%{versmainlibdir}/
|
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
|
fi
|
||||||
chmod a+x %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s}
|
|
||||||
%if 0%{?usrmerged}
|
%if 0%{?usrmerged}
|
||||||
mv %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{_slibdir}/libgcc_s.so.%{libgcc_s}
|
mv %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{_slibdir}/libgcc_s.so.%{libgcc_s}
|
||||||
%endif
|
%endif
|
||||||
%if %{biarch}
|
%if %{biarch}
|
||||||
|
chmod a+x %{buildroot}/lib/libgcc_s.so.%{libgcc_s}
|
||||||
%if %{build_primary_64bit}
|
%if %{build_primary_64bit}
|
||||||
if test -L %{buildroot}/lib/libgcc_s.so; then
|
if test -L %{buildroot}/lib/libgcc_s.so; then
|
||||||
rm -f %{buildroot}/lib/libgcc_s.so
|
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
|
else
|
||||||
mv %{buildroot}/lib/libgcc_s.so %{buildroot}/%{versmainlibdirbi32}/
|
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
|
fi
|
||||||
ln -sf %{versmainlibdirbi32}/libgcc_s.so %{buildroot}/%{versmainlibdirbi32}/libgcc_s_32.so
|
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}
|
%if 0%{?usrmerged}
|
||||||
mv %{buildroot}/lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir}/libgcc_s.so.%{libgcc_s}
|
mv %{buildroot}/lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir}/libgcc_s.so.%{libgcc_s}
|
||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
# 32-bit biarch systems
|
# 32-bit biarch systems
|
||||||
|
chmod a+x %{buildroot}/lib64/libgcc_s.so.%{libgcc_s}
|
||||||
if test -L %{buildroot}/lib64/libgcc_s.so; then
|
if test -L %{buildroot}/lib64/libgcc_s.so; then
|
||||||
rm -f %{buildroot}/lib64/libgcc_s.so
|
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
|
else
|
||||||
mv %{buildroot}/lib64/libgcc_s.so %{buildroot}/%{versmainlibdirbi64}/
|
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
|
fi
|
||||||
ln -sf %{versmainlibdirbi64}/libgcc_s.so %{buildroot}/%{versmainlibdirbi64}/libgcc_s_64.so
|
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}
|
%if 0%{?usrmerged}
|
||||||
mv %{buildroot}/lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir64}/libgcc_s.so.%{libgcc_s}
|
mv %{buildroot}/lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir64}/libgcc_s.so.%{libgcc_s}
|
||||||
%endif
|
%endif
|
||||||
@@ -2438,7 +2477,7 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc@base_ver@-locale.lang
|
|||||||
%versmainlib *crt*.o
|
%versmainlib *crt*.o
|
||||||
%versmainlib libgcc*.a
|
%versmainlib libgcc*.a
|
||||||
%versmainlib libgcov.a
|
%versmainlib libgcov.a
|
||||||
%versmainlib libgcc_s*.so
|
%versmainlib libgcc_s*.so*
|
||||||
%versmainlib libgomp.so
|
%versmainlib libgomp.so
|
||||||
%versmainlib libgomp.a
|
%versmainlib libgomp.a
|
||||||
%versmainlib libgomp.spec
|
%versmainlib libgomp.spec
|
||||||
@@ -2504,7 +2543,7 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc@base_ver@-locale.lang
|
|||||||
%versbiarchlib *crt*.o
|
%versbiarchlib *crt*.o
|
||||||
%versbiarchlib libgcc*.a
|
%versbiarchlib libgcc*.a
|
||||||
%versbiarchlib libgcov.a
|
%versbiarchlib libgcov.a
|
||||||
%versbiarchlib libgcc_s*.so
|
%versbiarchlib libgcc_s*.so*
|
||||||
%versbiarchlib libgomp.so
|
%versbiarchlib libgomp.so
|
||||||
%versbiarchlib libgomp.a
|
%versbiarchlib libgomp.a
|
||||||
%versbiarchlib libgomp.spec
|
%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
|
# 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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -135,11 +135,16 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Enable plugins just for Tumbleweed, not for SLES
|
# Enable plugins just for Tumbleweed, not for SLES
|
||||||
%if 0%{!?sle_version:1}
|
%if 0%{?is_opensuse}
|
||||||
%define enable_plugins 1
|
%define enable_plugins 1
|
||||||
%define build_jit 1
|
|
||||||
%else
|
%else
|
||||||
%define enable_plugins 0
|
%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
|
%define build_jit 0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@@ -221,7 +226,7 @@
|
|||||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -413,6 +418,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
Summary: Testsuite results
|
Summary: Testsuite results
|
||||||
License: SUSE-Public-Domain
|
License: SUSE-Public-Domain
|
||||||
@@ -547,14 +553,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -770,11 +777,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -782,6 +789,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -869,7 +879,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -938,7 +948,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--with-tune=zEC12 --with-arch=z196 \
|
||||||
@@ -978,7 +988,7 @@ amdgcn-amdhsa,\
|
|||||||
}
|
}
|
||||||
|
|
||||||
STAGE1_FLAGS="-g -O2"
|
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
|
%ifarch x86_64 %ix86 ppc64le s390x aarch64
|
||||||
%if %{with bootstrap}
|
%if %{with bootstrap}
|
||||||
%define use_pgo_bootstrap 1
|
%define use_pgo_bootstrap 1
|
||||||
@@ -999,6 +1009,8 @@ mkdir ../testresults
|
|||||||
../contrib/test_summary | tee ../testresults/test_summary.txt
|
../contrib/test_summary | tee ../testresults/test_summary.txt
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%define __provides_exclude_from ^%{libsubdir}/.*\.so.*$
|
||||||
|
|
||||||
%install
|
%install
|
||||||
# Make sure libtool re-linking libasan at install time doesn't drop the
|
# Make sure libtool re-linking libasan at install time doesn't drop the
|
||||||
# libstdc++ reference to make asan of C++ modules in python work
|
# 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>
|
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
|
# 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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -114,11 +114,16 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Enable plugins just for Tumbleweed, not for SLES
|
# Enable plugins just for Tumbleweed, not for SLES
|
||||||
%if 0%{!?sle_version:1}
|
%if 0%{?is_opensuse}
|
||||||
%define enable_plugins 1
|
%define enable_plugins 1
|
||||||
%define build_jit 1
|
|
||||||
%else
|
%else
|
||||||
%define enable_plugins 0
|
%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
|
%define build_jit 0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@@ -200,7 +205,7 @@
|
|||||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||||
|
|
||||||
URL: https://gcc.gnu.org/
|
URL: https://gcc.gnu.org/
|
||||||
Version: 13.3.0+git8781
|
Version: 13.4.0+git9739
|
||||||
Release: 0
|
Release: 0
|
||||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 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/+/-/')
|
%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
|
Patch19: gcc11-gdwarf-4-default.patch
|
||||||
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
|
||||||
Patch21: gdcflags.patch
|
Patch21: gdcflags.patch
|
||||||
Patch23: gcc13-bsc1216664.patch
|
|
||||||
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
|
||||||
Patch26: gcc13-pr101523.patch
|
Patch26: gcc13-pr101523.patch
|
||||||
Patch27: gcc13-amdgcn-remove-fiji.patch
|
Patch27: gcc13-amdgcn-remove-fiji.patch
|
||||||
|
Patch28: gcc13-bsc1239566.patch
|
||||||
# A set of patches from the RH srpm
|
# A set of patches from the RH srpm
|
||||||
Patch51: gcc41-ppc32-retaddr.patch
|
Patch51: gcc41-ppc32-retaddr.patch
|
||||||
# Some patches taken from Debian
|
# Some patches taken from Debian
|
||||||
@@ -392,6 +397,7 @@ Patch60: gcc44-textdomain.patch
|
|||||||
Patch61: gcc44-rename-info-files.patch
|
Patch61: gcc44-rename-info-files.patch
|
||||||
# Feature backports
|
# Feature backports
|
||||||
Patch100: gcc13-pr88345-min-func-alignment.diff
|
Patch100: gcc13-pr88345-min-func-alignment.diff
|
||||||
|
Patch101: gcc13-rs6000-msplit-patch-nops.patch
|
||||||
|
|
||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Summary: The GNU C Compiler and Support Files
|
Summary: The GNU C Compiler and Support Files
|
||||||
@@ -2371,14 +2377,15 @@ ln -s newlib-4.3.0.20230120/newlib .
|
|||||||
%patch -P 19 -p1
|
%patch -P 19 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch -P 21 -p1
|
%patch -P 21 -p1
|
||||||
%patch -P 23 -p1
|
|
||||||
%patch -P 24 -p1
|
%patch -P 24 -p1
|
||||||
%patch -P 26 -p1
|
%patch -P 26 -p1
|
||||||
%patch -P 27 -p1
|
%patch -P 27 -p1
|
||||||
|
%patch -P 28 -p1
|
||||||
%patch -P 51
|
%patch -P 51
|
||||||
%patch -P 60 -p1
|
%patch -P 60 -p1
|
||||||
%patch -P 61 -p1
|
%patch -P 61 -p1
|
||||||
%patch -P 100 -p1
|
%patch -P 100 -p1
|
||||||
|
%patch -P 101 -p1
|
||||||
|
|
||||||
#test patching end
|
#test patching end
|
||||||
|
|
||||||
@@ -2594,11 +2601,11 @@ amdgcn-amdhsa,\
|
|||||||
--enable-gnu-indirect-function \
|
--enable-gnu-indirect-function \
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
--program-suffix=%{binsuffix} \
|
|
||||||
%ifarch %{disable_multilib_arch}
|
%ifarch %{disable_multilib_arch}
|
||||||
--disable-multilib \
|
--disable-multilib \
|
||||||
%endif
|
%endif
|
||||||
%if 0%{!?gcc_target_arch:1}
|
%if 0%{!?gcc_target_arch:1}
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
%ifarch ia64
|
%ifarch ia64
|
||||||
--with-system-libunwind \
|
--with-system-libunwind \
|
||||||
%else
|
%else
|
||||||
@@ -2606,6 +2613,9 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?gcc_target_arch:1}
|
%if 0%{?gcc_target_arch:1}
|
||||||
|
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||||
|
--program-suffix=%{binsuffix} \
|
||||||
|
%endif
|
||||||
--program-prefix=%{gcc_target_arch}- \
|
--program-prefix=%{gcc_target_arch}- \
|
||||||
--target=%{gcc_target_arch} \
|
--target=%{gcc_target_arch} \
|
||||||
--disable-nls \
|
--disable-nls \
|
||||||
@@ -2693,7 +2703,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-cpu=power9 \
|
--with-cpu=power9 \
|
||||||
--with-tune=power9 \
|
--with-tune=power10 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1350
|
%if %{suse_version} >= 1350
|
||||||
--with-cpu=power8 \
|
--with-cpu=power8 \
|
||||||
@@ -2762,7 +2772,7 @@ amdgcn-amdhsa,\
|
|||||||
%endif
|
%endif
|
||||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||||
--with-tune=z14 --with-arch=z14 \
|
--with-tune=z15 --with-arch=z14 \
|
||||||
%else
|
%else
|
||||||
%if %{suse_version} >= 1310
|
%if %{suse_version} >= 1310
|
||||||
--with-tune=zEC12 --with-arch=z196 \
|
--with-tune=zEC12 --with-arch=z196 \
|
||||||
@@ -2802,7 +2812,7 @@ amdgcn-amdhsa,\
|
|||||||
}
|
}
|
||||||
|
|
||||||
STAGE1_FLAGS="-g -O2"
|
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
|
%ifarch x86_64 %ix86 ppc64le s390x aarch64
|
||||||
%if %{with bootstrap}
|
%if %{with bootstrap}
|
||||||
%define use_pgo_bootstrap 1
|
%define use_pgo_bootstrap 1
|
||||||
@@ -2823,6 +2833,8 @@ mkdir ../testresults
|
|||||||
../contrib/test_summary | tee ../testresults/test_summary.txt
|
../contrib/test_summary | tee ../testresults/test_summary.txt
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%define __provides_exclude_from ^%{libsubdir}/.*\.so.*$
|
||||||
|
|
||||||
%install
|
%install
|
||||||
# Make sure libtool re-linking libasan at install time doesn't drop the
|
# Make sure libtool re-linking libasan at install time doesn't drop the
|
||||||
# libstdc++ reference to make asan of C++ modules in python work
|
# libstdc++ reference to make asan of C++ modules in python work
|
||||||
@@ -2911,7 +2923,8 @@ if ! test -z "$dir_ml"; then
|
|||||||
fi
|
fi
|
||||||
%endif
|
%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 \
|
for libname in \
|
||||||
%if %{build_fortran}
|
%if %{build_fortran}
|
||||||
libgfortran \
|
libgfortran \
|
||||||
@@ -2975,8 +2988,16 @@ for libname in \
|
|||||||
mv $lib %{buildroot}/%{mainlibdir}/
|
mv $lib %{buildroot}/%{mainlibdir}/
|
||||||
done
|
done
|
||||||
if test -L %{buildroot}/%{versmainlibdir}/$libname.so; then
|
if test -L %{buildroot}/%{versmainlibdir}/$libname.so; then
|
||||||
ln -sf %{mainlibdir}/`readlink %{buildroot}/%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
|
cp %{buildroot}/%{mainlibdir}/`readlink %{buildroot}/%{versmainlibdir}/$libname.so` \
|
||||||
%{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
|
fi
|
||||||
%if %{biarch}
|
%if %{biarch}
|
||||||
if test -d %{buildroot}/%{versmainlibdirbi}; then
|
if test -d %{buildroot}/%{versmainlibdirbi}; then
|
||||||
@@ -2984,8 +3005,16 @@ for libname in \
|
|||||||
mv $lib %{buildroot}/%{mainlibdirbi}/
|
mv $lib %{buildroot}/%{mainlibdirbi}/
|
||||||
done
|
done
|
||||||
if test -L %{buildroot}/%{versmainlibdirbi}/$libname.so; then
|
if test -L %{buildroot}/%{versmainlibdirbi}/$libname.so; then
|
||||||
ln -sf %{mainlibdirbi}/`readlink %{buildroot}/%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
|
cp %{buildroot}/%{mainlibdirbi}/`readlink %{buildroot}/%{versmainlibdirbi}/$libname.so` \
|
||||||
%{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
|
||||||
fi
|
fi
|
||||||
%endif
|
%endif
|
||||||
@@ -3005,40 +3034,50 @@ sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' %{buildroot}/%{_
|
|||||||
%endif
|
%endif
|
||||||
%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
|
if test -L %{buildroot}/%{_lib}/libgcc_s.so; then
|
||||||
rm -f %{buildroot}/%{_lib}/libgcc_s.so
|
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
|
else
|
||||||
mv %{buildroot}/%{_lib}/libgcc_s.so %{buildroot}/%{versmainlibdir}/
|
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
|
fi
|
||||||
chmod a+x %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s}
|
|
||||||
%if 0%{?usrmerged}
|
%if 0%{?usrmerged}
|
||||||
mv %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{_slibdir}/libgcc_s.so.%{libgcc_s}
|
mv %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{_slibdir}/libgcc_s.so.%{libgcc_s}
|
||||||
%endif
|
%endif
|
||||||
%if %{biarch}
|
%if %{biarch}
|
||||||
|
chmod a+x %{buildroot}/lib/libgcc_s.so.%{libgcc_s}
|
||||||
%if %{build_primary_64bit}
|
%if %{build_primary_64bit}
|
||||||
if test -L %{buildroot}/lib/libgcc_s.so; then
|
if test -L %{buildroot}/lib/libgcc_s.so; then
|
||||||
rm -f %{buildroot}/lib/libgcc_s.so
|
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
|
else
|
||||||
mv %{buildroot}/lib/libgcc_s.so %{buildroot}/%{versmainlibdirbi32}/
|
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
|
fi
|
||||||
ln -sf %{versmainlibdirbi32}/libgcc_s.so %{buildroot}/%{versmainlibdirbi32}/libgcc_s_32.so
|
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}
|
%if 0%{?usrmerged}
|
||||||
mv %{buildroot}/lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir}/libgcc_s.so.%{libgcc_s}
|
mv %{buildroot}/lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir}/libgcc_s.so.%{libgcc_s}
|
||||||
%endif
|
%endif
|
||||||
%else
|
%else
|
||||||
# 32-bit biarch systems
|
# 32-bit biarch systems
|
||||||
|
chmod a+x %{buildroot}/lib64/libgcc_s.so.%{libgcc_s}
|
||||||
if test -L %{buildroot}/lib64/libgcc_s.so; then
|
if test -L %{buildroot}/lib64/libgcc_s.so; then
|
||||||
rm -f %{buildroot}/lib64/libgcc_s.so
|
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
|
else
|
||||||
mv %{buildroot}/lib64/libgcc_s.so %{buildroot}/%{versmainlibdirbi64}/
|
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
|
fi
|
||||||
ln -sf %{versmainlibdirbi64}/libgcc_s.so %{buildroot}/%{versmainlibdirbi64}/libgcc_s_64.so
|
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}
|
%if 0%{?usrmerged}
|
||||||
mv %{buildroot}/lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir64}/libgcc_s.so.%{libgcc_s}
|
mv %{buildroot}/lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir64}/libgcc_s.so.%{libgcc_s}
|
||||||
%endif
|
%endif
|
||||||
@@ -3440,7 +3479,7 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc13-locale.lang
|
|||||||
%versmainlib *crt*.o
|
%versmainlib *crt*.o
|
||||||
%versmainlib libgcc*.a
|
%versmainlib libgcc*.a
|
||||||
%versmainlib libgcov.a
|
%versmainlib libgcov.a
|
||||||
%versmainlib libgcc_s*.so
|
%versmainlib libgcc_s*.so*
|
||||||
%versmainlib libgomp.so
|
%versmainlib libgomp.so
|
||||||
%versmainlib libgomp.a
|
%versmainlib libgomp.a
|
||||||
%versmainlib libgomp.spec
|
%versmainlib libgomp.spec
|
||||||
@@ -3506,7 +3545,7 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc13-locale.lang
|
|||||||
%versbiarchlib *crt*.o
|
%versbiarchlib *crt*.o
|
||||||
%versbiarchlib libgcc*.a
|
%versbiarchlib libgcc*.a
|
||||||
%versbiarchlib libgcov.a
|
%versbiarchlib libgcov.a
|
||||||
%versbiarchlib libgcc_s*.so
|
%versbiarchlib libgcc_s*.so*
|
||||||
%versbiarchlib libgomp.so
|
%versbiarchlib libgomp.so
|
||||||
%versbiarchlib libgomp.a
|
%versbiarchlib libgomp.a
|
||||||
%versbiarchlib libgomp.spec
|
%versbiarchlib libgomp.spec
|
||||||
|
Reference in New Issue
Block a user