Compare commits
51 Commits
Author | SHA256 | Date | |
---|---|---|---|
115e572184 | |||
d4e9688b4b | |||
afe98ab4eb | |||
e1b8bd1c7b | |||
24438c6c01 | |||
d25750b216 | |||
e9fdb7101d | |||
9d6851d579 | |||
784dbd1c1d | |||
13cd62ffd0 | |||
7d309d9983 | |||
355175bd5c | |||
a8735e6767 | |||
14a94530ce | |||
e909bd814e | |||
1d9d07b0bd | |||
fecd43d7b6 | |||
47e062e697 | |||
d50075c6c8 | |||
ebc97bcaf4 | |||
50903de6d4 | |||
f6174ee005 | |||
54d0c494c7 | |||
e4869d91b8 | |||
3855c9878c | |||
8f8caff0e7 | |||
a379eee627 | |||
541d7b9b5d | |||
1c666ab48a | |||
a545663528 | |||
b59f76b9ea | |||
15a3ae0f41 | |||
1c828f702a | |||
6f91367d90 | |||
87bff4fc7d | |||
162cd0f738 | |||
a7d89063ce | |||
d2475ece25 | |||
a0be16d67b | |||
8a8e1ab174 | |||
63b9109598 | |||
e09b600cd0 | |||
abae842d28 | |||
e9f89c8344 | |||
d986615d42 | |||
774325f602 | |||
572ec32e0e | |||
d256a31391 | |||
a551e12b1e | |||
12e183330b | |||
0519ee92cd |
10
_multibuild
10
_multibuild
@@ -2,25 +2,23 @@
|
||||
<flavor>gcc14-testresults</flavor>
|
||||
<flavor>cross-aarch64-gcc14-bootstrap</flavor>
|
||||
<flavor>cross-aarch64-gcc14</flavor>
|
||||
<flavor>cross-loongarch64-gcc14-bootstrap</flavor>
|
||||
<flavor>cross-loongarch64-gcc14</flavor>
|
||||
<flavor>cross-riscv64-gcc14-bootstrap</flavor>
|
||||
<flavor>cross-riscv64-gcc14</flavor>
|
||||
<flavor>cross-s390x-gcc14-bootstrap</flavor>
|
||||
<flavor>cross-s390x-gcc14</flavor>
|
||||
<flavor>cross-ppc64le-gcc14-bootstrap</flavor>
|
||||
<flavor>cross-ppc64le-gcc14</flavor>
|
||||
<flavor>cross-hppa-gcc14-bootstrap</flavor>
|
||||
<flavor>cross-hppa-gcc14</flavor>
|
||||
<flavor>cross-arm-gcc14</flavor>
|
||||
<flavor>cross-avr-gcc14-bootstrap</flavor>
|
||||
<flavor>cross-avr-gcc14</flavor>
|
||||
<flavor>cross-pru-gcc14-bootstrap</flavor>
|
||||
<flavor>cross-pru-gcc14</flavor>
|
||||
<flavor>cross-x86_64-gcc14</flavor>
|
||||
<flavor>cross-sparc-gcc14</flavor>
|
||||
<flavor>cross-sparc64-gcc14</flavor>
|
||||
<flavor>cross-ppc64-gcc14</flavor>
|
||||
<flavor>cross-m68k-gcc14</flavor>
|
||||
<flavor>cross-mips-gcc14</flavor>
|
||||
<flavor>cross-hppa-gcc14-bootstrap</flavor>
|
||||
<flavor>cross-hppa-gcc14</flavor>
|
||||
<flavor>cross-arm-none-gcc14-bootstrap</flavor>
|
||||
<flavor>cross-arm-none-gcc14</flavor>
|
||||
<flavor>cross-riscv64-elf-gcc14-bootstrap</flavor>
|
||||
|
27
change_spec
27
change_spec
@@ -87,10 +87,16 @@ add_newlib_cross() {
|
||||
}
|
||||
|
||||
add_glibc_cross() {
|
||||
add_cross $1-bootstrap $2 $3 "%define gcc_libc_bootstrap 1"
|
||||
add_cross $1-bootstrap $2 $3 "%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1"
|
||||
add_cross $1 $2 $3 "%define gcc_target_glibc 1"
|
||||
}
|
||||
|
||||
add_glibc_bootstrap_cross() {
|
||||
add_cross $1 $2 $3 "%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1"
|
||||
}
|
||||
|
||||
# We now support "proper" cross-compilers to suse targets via a
|
||||
# cross-glibc package, enable that via for example
|
||||
#
|
||||
@@ -99,21 +105,22 @@ add_glibc_cross() {
|
||||
# For now keep the old way of doing things
|
||||
if test "$do_crosses" = 1 ; then
|
||||
add_glibc_cross cross-aarch64-gcc$base_ver aarch64 aarch64-suse-linux
|
||||
add_glibc_cross cross-loongarch64-gcc$base_ver loongarch64 loongarch64-suse-linux
|
||||
add_glibc_cross cross-riscv64-gcc$base_ver riscv64 riscv64-suse-linux
|
||||
add_glibc_cross cross-s390x-gcc$base_ver s390x s390x-suse-linux
|
||||
add_glibc_cross cross-ppc64le-gcc$base_ver ppc64le powerpc64le-suse-linux
|
||||
add_cross cross-arm-gcc$base_ver arm arm-suse-linux-gnueabi %define gcc_icecream 1
|
||||
add_glibc_cross cross-hppa-gcc$base_ver hppa hppa-suse-linux
|
||||
|
||||
add_glibc_bootstrap_cross cross-arm-gcc$base_ver arm arm-suse-linux-gnueabi
|
||||
add_cross cross-avr-gcc$base_ver-bootstrap avr avr "%define gcc_libc_bootstrap 1"
|
||||
add_cross cross-avr-gcc$base_ver avr avr
|
||||
add_newlib_cross cross-pru-gcc$base_ver pru pru
|
||||
add_cross cross-x86_64-gcc$base_ver x86_64 x86_64-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-sparc-gcc$base_ver sparcv9 sparc-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-sparc64-gcc$base_ver sparc64 sparc64-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-ppc64-gcc$base_ver ppc64 powerpc64-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-m68k-gcc$base_ver m68k m68k-suse-linux %define gcc_icecream 1
|
||||
add_cross cross-mips-gcc$base_ver mips mips-suse-linux %define gcc_icecream 1
|
||||
add_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_glibc_bootstrap_cross cross-x86_64-gcc$base_ver x86_64 x86_64-suse-linux
|
||||
#add_cross cross-sparc-gcc$base_ver sparcv9 sparc-suse-linux %define gcc_icecream 1
|
||||
#add_cross cross-sparc64-gcc$base_ver sparc64 sparc64-suse-linux %define gcc_icecream 1
|
||||
add_glibc_bootstrap_cross cross-ppc64-gcc$base_ver ppc64 powerpc64-suse-linux %define
|
||||
#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_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-nds32le-gcc$base_ver nds32le nds32le-elf
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-aarch64-gcc14-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,6 +19,7 @@
|
||||
%define pkgname cross-aarch64-gcc14-bootstrap
|
||||
%define cross_arch aarch64
|
||||
%define gcc_target_arch aarch64-suse-linux
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
@@ -97,24 +98,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +124,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +173,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +188,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +204,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +215,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +262,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +274,27 @@ ExclusiveArch: ppc64le x86_64 s390x riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +333,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +351,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +485,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +550,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +565,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +655,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +719,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +827,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +852,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +860,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +926,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +982,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1005,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1017,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-aarch64-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -97,24 +97,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +123,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +172,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +187,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +203,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +214,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +261,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +273,27 @@ ExclusiveArch: ppc64le x86_64 s390x riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +332,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +350,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +484,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +549,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +564,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +654,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +718,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +826,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +851,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +859,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +925,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +981,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1004,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1016,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-amdgcn-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -97,24 +97,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +123,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +172,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +187,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +203,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +214,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +261,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +273,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +332,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +350,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +484,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +549,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +564,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +654,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +718,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +826,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +851,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +859,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +925,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +981,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1004,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1016,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-arm-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,7 +19,8 @@
|
||||
%define pkgname cross-arm-gcc14
|
||||
%define cross_arch arm
|
||||
%define gcc_target_arch arm-suse-linux-gnueabi
|
||||
%define gcc_icecream 1
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
%define build_cp 0%{!?gcc_accel:1}
|
||||
@@ -97,24 +98,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +124,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +173,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +188,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +204,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +215,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +262,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +274,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +333,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +351,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +485,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +550,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +565,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +655,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +719,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +827,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +852,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +860,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +926,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +982,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1005,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1017,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-arm-none-gcc14-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -98,24 +98,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -133,6 +124,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -178,16 +173,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -198,18 +188,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -220,7 +204,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -231,9 +215,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -272,7 +262,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -280,29 +274,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -341,7 +333,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -359,11 +351,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -498,6 +485,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -560,16 +550,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -577,6 +565,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -664,19 +655,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -733,13 +719,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -845,7 +827,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -870,6 +852,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -877,6 +860,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -941,7 +926,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -997,15 +982,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1016,6 +1005,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1027,13 +1017,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-arm-none-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -97,24 +97,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +123,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +172,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +187,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +203,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +214,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +261,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +273,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +332,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +350,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +484,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +549,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +564,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +654,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +718,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +826,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +851,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +859,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +925,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +981,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1004,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1016,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-avr-gcc14-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -97,24 +97,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +123,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +172,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +187,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +203,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +214,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +261,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +273,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +332,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +350,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +484,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +549,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +564,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +654,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +718,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +826,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +851,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +859,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +925,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +981,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1004,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1016,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-avr-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -97,24 +97,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +123,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +172,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +187,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +203,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +214,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +261,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +273,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +332,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +350,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +484,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +549,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +564,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +654,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +718,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +826,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +851,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +859,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +925,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +981,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1004,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1016,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-bpf-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -97,24 +97,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +123,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +172,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +187,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +203,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +214,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +261,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +273,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +332,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +350,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +484,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +549,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +564,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +654,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +718,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +826,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +851,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +859,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +925,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +981,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1004,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1016,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-hppa-gcc14-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,6 +19,7 @@
|
||||
%define pkgname cross-hppa-gcc14-bootstrap
|
||||
%define cross_arch hppa
|
||||
%define gcc_target_arch hppa-suse-linux
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
@@ -97,24 +98,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +124,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +173,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +188,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +204,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +215,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +262,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +274,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +333,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +351,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +485,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +550,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +565,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +655,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +719,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +827,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +852,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +860,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +926,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +982,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1005,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1017,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-hppa-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,7 +19,7 @@
|
||||
%define pkgname cross-hppa-gcc14
|
||||
%define cross_arch hppa
|
||||
%define gcc_target_arch hppa-suse-linux
|
||||
%define gcc_icecream 1
|
||||
%define gcc_target_glibc 1
|
||||
# nospeccleaner
|
||||
|
||||
%define build_cp 0%{!?gcc_accel:1}
|
||||
@@ -97,24 +97,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +123,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +172,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +187,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +203,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +214,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +261,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +273,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +332,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +350,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +484,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +549,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +564,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +654,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +718,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +826,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +851,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +859,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +925,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +981,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1004,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1016,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-loongarch64-gcc14-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -16,10 +16,11 @@
|
||||
#
|
||||
|
||||
|
||||
%define pkgname cross-mips-gcc14
|
||||
%define cross_arch mips
|
||||
%define gcc_target_arch mips-suse-linux
|
||||
%define gcc_icecream 1
|
||||
%define pkgname cross-loongarch64-gcc14-bootstrap
|
||||
%define cross_arch loongarch64
|
||||
%define gcc_target_arch loongarch64-suse-linux
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
%define build_cp 0%{!?gcc_accel:1}
|
||||
@@ -97,24 +98,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +124,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +173,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +188,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +204,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +215,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +262,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +274,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +333,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +351,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +485,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +550,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +565,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +655,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +719,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +827,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +852,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +860,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +926,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +982,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1005,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1017,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-loongarch64-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -16,10 +16,10 @@
|
||||
#
|
||||
|
||||
|
||||
%define pkgname cross-m68k-gcc14
|
||||
%define cross_arch m68k
|
||||
%define gcc_target_arch m68k-suse-linux
|
||||
%define gcc_icecream 1
|
||||
%define pkgname cross-loongarch64-gcc14
|
||||
%define cross_arch loongarch64
|
||||
%define gcc_target_arch loongarch64-suse-linux
|
||||
%define gcc_target_glibc 1
|
||||
# nospeccleaner
|
||||
|
||||
%define build_cp 0%{!?gcc_accel:1}
|
||||
@@ -97,24 +97,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +123,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +172,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +187,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +203,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +214,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +261,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +273,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +332,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +350,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +484,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +549,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +564,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +654,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +718,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +826,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +851,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +859,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +925,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +981,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1004,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1016,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-nvptx-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -97,24 +97,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +123,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +172,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +187,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +203,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +214,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +261,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +273,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +332,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +350,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +484,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +549,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +564,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +654,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +718,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +826,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +851,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +859,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +925,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +981,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1004,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1016,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-ppc64-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,7 +19,8 @@
|
||||
%define pkgname cross-ppc64-gcc14
|
||||
%define cross_arch ppc64
|
||||
%define gcc_target_arch powerpc64-suse-linux
|
||||
%define gcc_icecream 1
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
%define build_cp 0%{!?gcc_accel:1}
|
||||
@@ -97,24 +98,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +124,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +173,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +188,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +204,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +215,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +262,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +274,27 @@ ExclusiveArch: x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +333,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +351,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +485,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +550,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +565,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +655,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +719,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +827,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +852,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +860,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +926,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +982,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1005,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1017,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-ppc64le-gcc14-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,6 +19,7 @@
|
||||
%define pkgname cross-ppc64le-gcc14-bootstrap
|
||||
%define cross_arch ppc64le
|
||||
%define gcc_target_arch powerpc64le-suse-linux
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
@@ -97,24 +98,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +124,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +173,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +188,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +204,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +215,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +262,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +274,27 @@ ExclusiveArch: x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +333,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +351,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +485,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +550,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +565,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +655,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +719,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +827,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +852,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +860,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +926,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +982,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1005,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1017,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-ppc64le-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -97,24 +97,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +123,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +172,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +187,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +203,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +214,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +261,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +273,27 @@ ExclusiveArch: x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +332,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +350,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +484,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +549,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +564,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +654,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +718,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +826,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +851,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +859,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +925,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +981,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1004,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1016,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-pru-gcc14-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -98,24 +98,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -133,6 +124,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -178,16 +173,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -198,18 +188,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -220,7 +204,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -231,9 +215,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -272,7 +262,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -280,29 +274,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -341,7 +333,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -359,11 +351,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -498,6 +485,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -560,16 +550,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -577,6 +565,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -664,19 +655,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -733,13 +719,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -845,7 +827,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -870,6 +852,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -877,6 +860,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -941,7 +926,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -997,15 +982,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1016,6 +1005,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1027,13 +1017,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-pru-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -97,24 +97,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +123,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +172,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +187,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +203,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +214,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +261,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +273,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +332,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +350,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +484,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +549,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +564,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +654,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +718,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +826,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +851,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +859,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +925,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +981,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1004,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1016,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-riscv64-elf-gcc14-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -98,24 +98,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -133,6 +124,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -178,16 +173,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -198,18 +188,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -220,7 +204,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -231,9 +215,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -272,7 +262,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -280,29 +274,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -341,7 +333,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -359,11 +351,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -498,6 +485,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -560,16 +550,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -577,6 +565,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -664,19 +655,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -733,13 +719,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -845,7 +827,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -870,6 +852,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -877,6 +860,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -941,7 +926,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -997,15 +982,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1016,6 +1005,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1027,13 +1017,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-riscv64-elf-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -97,24 +97,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +123,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +172,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +187,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +203,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +214,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +261,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +273,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +332,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +350,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +484,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +549,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +564,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +654,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +718,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +826,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +851,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +859,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +925,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +981,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1004,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1016,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-riscv64-gcc14-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,6 +19,7 @@
|
||||
%define pkgname cross-riscv64-gcc14-bootstrap
|
||||
%define cross_arch riscv64
|
||||
%define gcc_target_arch riscv64-suse-linux
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
@@ -97,24 +98,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +124,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +173,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +188,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +204,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +215,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +262,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +274,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +333,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +351,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +485,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +550,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +565,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +655,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +719,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +827,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +852,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +860,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +926,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +982,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1005,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1017,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-riscv64-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -97,24 +97,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +123,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +172,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +187,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +203,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +214,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +261,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +273,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +332,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +350,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +484,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +549,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +564,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +654,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +718,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +826,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +851,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +859,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +925,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +981,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1004,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1016,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-rx-gcc14-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -98,24 +98,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -133,6 +124,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -178,16 +173,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -198,18 +188,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -220,7 +204,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -231,9 +215,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -272,7 +262,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -280,29 +274,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -341,7 +333,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -359,11 +351,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -498,6 +485,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -560,16 +550,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -577,6 +565,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -664,19 +655,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -733,13 +719,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -845,7 +827,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -870,6 +852,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -877,6 +860,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -941,7 +926,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -997,15 +982,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1016,6 +1005,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1027,13 +1017,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-rx-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -97,24 +97,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +123,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +172,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +187,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +203,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +214,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +261,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +273,27 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +332,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +350,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +484,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +549,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +564,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +654,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +718,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +826,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +851,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +859,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +925,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +981,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1004,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1016,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-s390x-gcc14-bootstrap
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,6 +19,7 @@
|
||||
%define pkgname cross-s390x-gcc14-bootstrap
|
||||
%define cross_arch s390x
|
||||
%define gcc_target_arch s390x-suse-linux
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
@@ -97,24 +98,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +124,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +173,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +188,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +204,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +215,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +262,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +274,27 @@ ExclusiveArch: ppc64le x86_64 aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +333,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +351,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +485,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +550,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +565,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +655,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +719,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +827,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +852,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +860,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +926,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +982,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1005,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1017,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-s390x-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -97,24 +97,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +123,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +172,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +187,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +203,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +214,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +261,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +273,27 @@ ExclusiveArch: ppc64le x86_64 aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +332,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +350,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +484,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +549,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +564,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +654,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +718,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +826,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +851,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +859,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +925,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +981,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1004,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1016,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package cross-x86_64-gcc14
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,7 +19,8 @@
|
||||
%define pkgname cross-x86_64-gcc14
|
||||
%define cross_arch x86_64
|
||||
%define gcc_target_arch x86_64-suse-linux
|
||||
%define gcc_icecream 1
|
||||
%define gcc_target_glibc 1
|
||||
%define gcc_libc_bootstrap 1
|
||||
# nospeccleaner
|
||||
|
||||
%define build_cp 0%{!?gcc_accel:1}
|
||||
@@ -97,24 +98,15 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
%define binsuffix -14
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -132,6 +124,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -177,16 +173,11 @@ Patch100: newlib-gcn-iolock.diff
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -197,18 +188,12 @@ BuildRequires: glibc-devel-32bit
|
||||
%if %{with limitbuild}
|
||||
BuildRequires: memory-constraints
|
||||
%endif
|
||||
BuildRequires: isl-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -219,7 +204,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -230,9 +215,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -271,7 +262,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -279,29 +274,27 @@ ExclusiveArch: ppc64le s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc14
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc14
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun):update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
%endif
|
||||
Summary: The GNU Compiler Collection targeting %{cross_arch}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -340,7 +333,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -358,11 +351,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -497,6 +485,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -559,16 +550,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -576,6 +565,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -663,19 +655,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -732,13 +719,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -844,7 +827,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -869,6 +852,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -876,6 +860,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -940,7 +926,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -996,15 +982,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -1015,6 +1005,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -1026,13 +1017,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
|
@@ -75,28 +75,17 @@
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
# SRC-COMMON-BEGIN
|
||||
# SRC-COMMON-END
|
||||
%if "%{cross_arch}" != "nvptx"
|
||||
%if "%{cross_arch}" != "amdgcn"
|
||||
BuildRequires: cross-%{binutils_target}-binutils
|
||||
Requires: cross-%{binutils_target}-binutils
|
||||
%requires_ge cross-%{binutils_target}-binutils
|
||||
%endif
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if 0%{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
@@ -110,15 +99,9 @@ BuildRequires: memory-constraints
|
||||
BuildRequires: mpc-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: perl
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -129,7 +112,7 @@ BuildRequires: libunwind-devel
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-newlib-devel
|
||||
Requires: cross-%cross_arch-newlib-devel
|
||||
%requires_ge cross-%cross_arch-newlib-devel
|
||||
%endif
|
||||
%if "%{cross_arch}" == "avr"
|
||||
%if !0%{?is_opensuse}
|
||||
@@ -140,9 +123,15 @@ BuildRequires: avr-libc
|
||||
%if 0%{?gcc_target_glibc:1}
|
||||
%if %{suse_version} < 1600
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
%if %{suse_version} < 1699
|
||||
%if "%{cross_arch}" == "hppa" || "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: cross-%cross_arch-glibc-devel
|
||||
Requires: cross-%cross_arch-glibc-devel
|
||||
%requires_ge cross-%cross_arch-glibc-devel
|
||||
%endif
|
||||
%endif
|
||||
%if "%{cross_arch}" == "nvptx"
|
||||
@@ -181,7 +170,11 @@ ExcludeArch: %{cross_arch}
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_icecream:1}%{?gcc_libc_bootstrap:1}
|
||||
ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if %{suse_version} < 1699 && "%{cross_arch}" == "loongarch64"
|
||||
ExclusiveArch: do-not-build
|
||||
%else
|
||||
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
|
||||
%endif
|
||||
%endif
|
||||
%define _binary_payload w.ufdio
|
||||
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
|
||||
@@ -189,26 +182,24 @@ ExclusiveArch: ppc64le x86_64 s390x aarch64 riscv64
|
||||
%if "%pkgname" == "cross-ppc64-gcc49"
|
||||
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
|
||||
%endif
|
||||
%if 0%{?gcc_target_newlib:1}%{?gcc_target_glibc:1}
|
||||
%if 0%{!?gcc_accel:1}
|
||||
# Generally only one cross for the same target triplet can be installed
|
||||
# at the same time as we are populating a non-version-specific sysroot
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %selfconflict %{gcc_target_arch}-gcc
|
||||
%endif
|
||||
%if 0%{?gcc_libc_bootstrap:1}
|
||||
# The -bootstrap packages file-conflict with the non-bootstrap variants.
|
||||
# Even if we don't actually (want to) distribute the bootstrap variants
|
||||
# the following avoids repo-checker spamming us endlessly.
|
||||
Conflicts: cross-%{cross_arch}-gcc@base_ver@
|
||||
Provides: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{gcc_target_arch}-gcc
|
||||
Conflicts: %{pkgname}-bootstrap
|
||||
%endif
|
||||
#!BuildIgnore: gcc-PIE
|
||||
%if 0%{build_cp:1}
|
||||
%if %{build_cp}
|
||||
# The cross compiler only packages the arch specific c++ headers, so
|
||||
# we need to depend on the host libstdc++ devel headers (we wouldn't need
|
||||
# the libs, though)
|
||||
Requires: libstdc++6-devel-gcc@base_ver@
|
||||
%endif
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
BuildRequires: update-alternatives
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
@@ -301,7 +292,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
|
||||
mkdir -p $RPM_BUILD_ROOT/%{?sysroot:%sysroot}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install-target
|
||||
%if %{build_cp}
|
||||
# So we installed libstdc++ headers into %prefix where they conflict
|
||||
# So we installed libstdc++ headers into %%prefix where they conflict
|
||||
# with other host compilers. Rip out the non-target specific parts
|
||||
# again. Note not all cross targets support libstdc++, so create the
|
||||
# directory to make things easier.
|
||||
@@ -326,6 +317,7 @@ rm -rf $RPM_BUILD_ROOT%{_infodir}
|
||||
# for accelerators remove all frontends but lto1 and also install-tools
|
||||
%if 0%{?gcc_accel:1}
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/f951
|
||||
rm -f $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/cc1plus
|
||||
rm -rf $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch}/install-tools
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
@@ -333,6 +325,8 @@ rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}/install-tools
|
||||
# that is the place where we later search for (only)
|
||||
( cd $RPM_BUILD_ROOT%{targetlibsubdir} && tar cf - . ) | ( cd $RPM_BUILD_ROOT%{libsubdir}/accel/%{gcc_target_arch} && tar xf - )
|
||||
rm -rf $RPM_BUILD_ROOT%{targetlibsubdir}
|
||||
# also remove installed libstdc++ headers
|
||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++
|
||||
%endif
|
||||
# for amdgcn install the symlinks to the llvm tools
|
||||
# follow alternatives symlinks to the hardcoded version requirement
|
||||
@@ -397,7 +391,7 @@ rm -r env
|
||||
|
||||
# we provide update-alternatives for selecting a compiler version for
|
||||
# crosses
|
||||
%if 0%{!?gcc_accel:1}
|
||||
%if 0%{!?gcc_accel:1} && %{suse_version} < 1600
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for ex in gcc cpp \
|
||||
%if %{build_cp}
|
||||
@@ -453,15 +447,19 @@ fi
|
||||
%endif
|
||||
%else
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-cpp%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ar%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump%{binsuffix}
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1} && "%{cross_arch}" != "bpf"
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool%{binsuffix}
|
||||
%endif
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-dump
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcov-tool
|
||||
@@ -472,6 +470,7 @@ fi
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-nm
|
||||
%{_prefix}/bin/%{gcc_target_arch}-gcc-ranlib
|
||||
%{_prefix}/bin/%{gcc_target_arch}-lto-dump
|
||||
%if %{suse_version} < 1600
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-cpp
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcc-ar
|
||||
@@ -483,13 +482,16 @@ fi
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-dump
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-gcov-tool
|
||||
%endif
|
||||
%endif
|
||||
%if %{build_cp}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++
|
||||
%if %{suse_version} < 1600
|
||||
%{_prefix}/bin/%{gcc_target_arch}-c++%{binsuffix}
|
||||
%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix}
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-c++
|
||||
%ghost %{_sysconfdir}/alternatives/%{gcc_target_arch}-g++
|
||||
%endif
|
||||
%if 0%{!?gcc_libc_bootstrap:1}
|
||||
%if "%{cross_arch}" == "avr" || 0%{?gcc_target_newlib:1} || 0%{?gcc_target_glibc:1}
|
||||
%{_prefix}/include/c++
|
||||
@@ -523,4 +525,4 @@ fi
|
||||
%exclude %{_prefix}/%{gcc_target_arch}/bin
|
||||
%endif
|
||||
|
||||
%changelog -n cross-%{pkgname}-gcc@base_ver@
|
||||
%changelog -n %{pkgname}
|
||||
|
BIN
gcc-14.1.1+git10335.tar.xz
(Stored with Git LFS)
BIN
gcc-14.1.1+git10335.tar.xz
(Stored with Git LFS)
Binary file not shown.
BIN
gcc-14.3.0+git11799.tar.xz
(Stored with Git LFS)
Normal file
BIN
gcc-14.3.0+git11799.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
256
gcc.spec.in
256
gcc.spec.in
@@ -32,15 +32,11 @@
|
||||
|
||||
# Ada currently fails to build on a few platforms, enable it only
|
||||
# on those that work
|
||||
%if %{suse_version} >= 1310
|
||||
%if %{suse_version} >= 1330
|
||||
%define ada_arch %ix86 x86_64 ppc ppc64 ppc64le s390 s390x ia64 aarch64 riscv64
|
||||
%else
|
||||
%define ada_arch %ix86 x86_64 ppc ppc64 s390 ia64
|
||||
%endif
|
||||
%else
|
||||
%define ada_arch %ix86 x86_64 ppc s390 ia64
|
||||
%endif
|
||||
|
||||
%ifarch %ada_arch
|
||||
%define build_ada 1
|
||||
@@ -49,13 +45,13 @@
|
||||
%endif
|
||||
|
||||
%define quadmath_arch %ix86 x86_64 ia64 ppc64le
|
||||
%define tsan_arch x86_64 aarch64 ppc ppc64 ppc64le s390 s390x riscv64
|
||||
%define asan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %sparc %arm aarch64 riscv64
|
||||
%define tsan_arch x86_64 aarch64 ppc ppc64 ppc64le s390 s390x riscv64 loongarch64
|
||||
%define asan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %sparc %arm aarch64 riscv64 loongarch64
|
||||
%define hwasan_arch aarch64 x86_64
|
||||
%define itm_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le riscv64 s390 s390x %sparc
|
||||
%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k ia64 riscv64
|
||||
%define lsan_arch x86_64 aarch64 ppc ppc64 ppc64le s390 s390x riscv64
|
||||
%define ubsan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %arm aarch64 riscv64
|
||||
%define itm_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le riscv64 s390 s390x %sparc loongarch64
|
||||
%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k ia64 riscv64 loongarch64
|
||||
%define lsan_arch x86_64 aarch64 ppc ppc64 ppc64le s390 s390x riscv64 loongarch64
|
||||
%define ubsan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %arm aarch64 riscv64 loongarch64
|
||||
%if 0%{?build_libvtv:1}
|
||||
%define vtv_arch x86_64 %ix86
|
||||
%endif
|
||||
@@ -64,7 +60,11 @@
|
||||
%define build_fortran 1
|
||||
%define build_objc 1
|
||||
%define build_objcp 1
|
||||
%ifarch loongarch64 hppa hppa64
|
||||
%define build_go 0
|
||||
%else
|
||||
%define build_go 1
|
||||
%endif
|
||||
%ifarch x86_64 %ix86 %arm aarch64 riscv64 s390x
|
||||
%define build_d 1
|
||||
%else
|
||||
@@ -121,11 +121,16 @@
|
||||
%endif
|
||||
|
||||
# Enable plugins just for Tumbleweed, not for SLES
|
||||
%if 0%{!?sle_version:1}
|
||||
%if 0%{?is_opensuse}
|
||||
%define enable_plugins 1
|
||||
%define build_jit 1
|
||||
%else
|
||||
%define enable_plugins 0
|
||||
%endif
|
||||
|
||||
# Do not enable JIT support on SLE15
|
||||
%if %{suse_version} >= 1600
|
||||
%define build_jit 1
|
||||
%else
|
||||
%define build_jit 0
|
||||
%endif
|
||||
|
||||
@@ -200,17 +205,11 @@
|
||||
%define libdevel_suffix -gcc@base_ver@
|
||||
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
# SRC-COMMON-BEGIN
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 1
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -226,11 +225,7 @@ BuildRequires: libzstd-devel
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
BuildRequires: gettext-devel
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
# until here, but at least renaming and patching info files breaks this
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: glibc-devel-32bit
|
||||
@@ -245,9 +240,7 @@ BuildRequires: zlib-devel
|
||||
# for SDT markers in the C++ unwinder and gdb breakpoints on exceptions
|
||||
BuildRequires: systemtap-headers
|
||||
%endif
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if %{build_ada}
|
||||
%if 0%{?gcc_version:%{gcc_version}} > @base_ver@
|
||||
@@ -273,11 +266,6 @@ BuildRequires: libstdc++6-devel-gcc11
|
||||
BuildRequires: gcc-d
|
||||
%endif
|
||||
%endif
|
||||
# We now require a C++ 11 capable compiler for bootstrapping
|
||||
%if %{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -326,7 +314,7 @@ BuildRequires: cross-amdgcn-newlib@base_ver@-devel
|
||||
%define separate_biarch_suffix -64bit
|
||||
%endif
|
||||
|
||||
%ifarch aarch64 x86_64 ia64 s390x alpha ppc64 ppc64le sparc64 riscv64
|
||||
%ifarch aarch64 x86_64 ia64 s390x alpha ppc64 ppc64le sparc64 riscv64 loongarch64
|
||||
# 64-bit is primary build target
|
||||
%define build_primary_64bit 1
|
||||
%else
|
||||
@@ -370,9 +358,6 @@ Suggests: gcc@base_ver@-info gcc@base_ver@-locale
|
||||
%endif
|
||||
|
||||
# SRC-COMMON-BEGIN
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -390,6 +375,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -559,7 +548,7 @@ Provides: libstdc++6-pp-gcc9@variant@ libstdc++6-pp-gcc10@variant@
|
||||
Provides: libstdc++6-pp-gcc11@variant@
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libstdc++%{libstdcxx_sover}-pp@variant@
|
||||
Conflicts: libstdc++%{libstdcxx_sover}-pp@variant@
|
||||
# packageand() does not work with versioned specifications so the fallback
|
||||
# is a Requires from libstdc++-devel to preserve previous behavior.
|
||||
%if %{suse_version} >= 1500
|
||||
@@ -580,7 +569,7 @@ Group: System/Base
|
||||
Provides: libgcc_s%{libgcc_s}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libgcc_s%{libgcc_s}@variant@
|
||||
Conflicts: libgcc_s%{libgcc_s}@variant@
|
||||
|
||||
%description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@
|
||||
Libgcc is needed for dynamically linked C programs.
|
||||
@@ -598,7 +587,7 @@ Group: System/Base
|
||||
Provides: libgomp%{libgomp_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libgomp%{libgomp_sover}@variant@
|
||||
Conflicts: libgomp%{libgomp_sover}@variant@
|
||||
|
||||
%description -n libgomp%{libgomp_sover}%{libgomp_suffix}@variant@
|
||||
This is the OpenMP runtime library needed by OpenMP enabled programs
|
||||
@@ -621,7 +610,7 @@ Suggests: libstdc++%{libstdcxx_sover}-locale
|
||||
Provides: libstdc++%{libstdcxx_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libstdc++%{libstdcxx_sover}@variant@
|
||||
Conflicts: libstdc++%{libstdcxx_sover}@variant@
|
||||
# Fallback for non-existing Supplements support
|
||||
%if %{suse_version} < 1500
|
||||
Recommends: libstdc++%{libstdcxx_sover}-pp@variant@ = %{version}-%{release}
|
||||
@@ -647,7 +636,7 @@ Group: System/Libraries
|
||||
Provides: libstdc++%{libstdcxx_sover}-locale = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libstdc++%{libstdcxx_sover}-locale
|
||||
Conflicts: libstdc++%{libstdcxx_sover}-locale
|
||||
|
||||
%description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
|
||||
The standard C++ library locale data.
|
||||
@@ -658,9 +647,7 @@ Summary: Documentation for the GNU compiler collection
|
||||
License: GFDL-1.2-only
|
||||
Group: Documentation/Other
|
||||
PreReq: %{install_info_prereq}
|
||||
%if 0%{?suse_version} >= 1120
|
||||
BuildArch: noarch
|
||||
%endif
|
||||
|
||||
%description info
|
||||
GNU info-pages for the GNU compiler collection covering both user-level
|
||||
@@ -690,7 +677,7 @@ Group: Development/Libraries/Other
|
||||
Provides: libobjc%{libobjc_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libobjc%{libobjc_sover}@variant@
|
||||
Conflicts: libobjc%{libobjc_sover}@variant@
|
||||
|
||||
%description -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@
|
||||
The library for the GNU Objective C compiler.
|
||||
@@ -746,9 +733,9 @@ Summary: GNU Ada Runtime Libraries
|
||||
License: GPL-3.0-or-later WITH GCC-exception-3.1
|
||||
Group: System/Libraries
|
||||
Provides: libgnarl-@base_ver@@variant@ = %{version}-%{release}
|
||||
Conflicts: %selfconflict libgnarl-@base_ver@@variant@
|
||||
Conflicts: libgnarl-@base_ver@@variant@
|
||||
Provides: libgnat-@base_ver@@variant@ = %{version}-%{release}
|
||||
Conflicts: %selfconflict libgnat-@base_ver@@variant@
|
||||
Conflicts: libgnat-@base_ver@@variant@
|
||||
|
||||
%description -n libada@base_ver@@variant@
|
||||
This package contains the shared libraries required to run programs
|
||||
@@ -772,7 +759,7 @@ Requires: gcc@base_ver@@variant@ = %{version}-%{release}
|
||||
Requires: gcc@base_ver@-fortran = %{version}-%{release}
|
||||
Requires: libgfortran%{libgfortran_sover}@variant@ >= %{version}-%{release}
|
||||
%ifarch %quadmath_arch
|
||||
Requires: libquadmath%{libquadmath_sover}@variant@ >= %{version}-%{release}
|
||||
Requires: libquadmath%{libquadmath_sover}-devel%{libdevel_suffix}@variant@ = %{version}-%{release}
|
||||
%endif
|
||||
|
||||
%description fortran@variant@
|
||||
@@ -790,7 +777,7 @@ Requires: libquadmath%{libquadmath_sover}@variant@ >= %{version}-%{release}
|
||||
Provides: libgfortran%{libgfortran_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libgfortran%{libgfortran_sover}@variant@
|
||||
Conflicts: libgfortran%{libgfortran_sover}@variant@
|
||||
|
||||
%description -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}@variant@
|
||||
The runtime library needed to run programs compiled with the Fortran compiler
|
||||
@@ -809,7 +796,7 @@ Group: Development/Languages/Fortran
|
||||
Provides: libquadmath%{libquadmath_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libquadmath%{libquadmath_sover}@variant@
|
||||
Conflicts: libquadmath%{libquadmath_sover}@variant@
|
||||
|
||||
%description -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@
|
||||
The runtime library needed to run programs compiled with the Fortran compiler
|
||||
@@ -821,6 +808,17 @@ operations.
|
||||
%postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@ -p /sbin/ldconfig
|
||||
# PACKAGE-END
|
||||
|
||||
# PACKAGE-BEGIN
|
||||
%package -n libquadmath%{libquadmath_sover}-devel%{libdevel_suffix}@variant@
|
||||
Summary: The GNU Fortran Compiler Quadmath Runtime Library Development Files
|
||||
License: LGPL-2.1-only
|
||||
Group: Development/Languages/Fortran
|
||||
Requires: libquadmath%{libquadmath_sover}@variant@ >= %{version}-%{release}
|
||||
|
||||
%description -n libquadmath%{libquadmath_sover}-devel%{libdevel_suffix}@variant@
|
||||
The libquadmatah runtime library development files.
|
||||
# PACKAGE-END
|
||||
|
||||
# PACKAGE-BEGIN
|
||||
%package -n libitm%{libitm_sover}%{libitm_suffix}@variant@
|
||||
Summary: The GNU Compiler Transactional Memory Runtime Library
|
||||
@@ -829,7 +827,7 @@ Group: Development/Languages/C and C++
|
||||
Provides: libitm%{libitm_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libitm%{libitm_sover}@variant@
|
||||
Conflicts: libitm%{libitm_sover}@variant@
|
||||
|
||||
%description -n libitm%{libitm_sover}%{libitm_suffix}@variant@
|
||||
The runtime library needed to run programs compiled with the
|
||||
@@ -848,7 +846,7 @@ Group: Development/Languages/C and C++
|
||||
Provides: libasan%{libasan_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libasan%{libasan_sover}@variant@
|
||||
Conflicts: libasan%{libasan_sover}@variant@
|
||||
|
||||
%description -n libasan%{libasan_sover}%{libasan_suffix}@variant@
|
||||
The runtime library needed to run programs compiled with the
|
||||
@@ -867,7 +865,7 @@ Group: Development/Languages/C and C++
|
||||
Provides: libtsan%{libtsan_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libtsan%{libtsan_sover}@variant@
|
||||
Conflicts: libtsan%{libtsan_sover}@variant@
|
||||
|
||||
%description -n libtsan%{libtsan_sover}%{libtsan_suffix}@variant@
|
||||
The runtime library needed to run programs compiled with the
|
||||
@@ -886,7 +884,7 @@ Group: Development/Languages/C and C++
|
||||
Provides: libhwasan%{libhwasan_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libhwasan%{libhwasan_sover}@variant@
|
||||
Conflicts: libhwasan%{libhwasan_sover}@variant@
|
||||
|
||||
%description -n libhwasan%{libhwasan_sover}%{libhwasan_suffix}@variant@
|
||||
The runtime library needed to run programs compiled with the
|
||||
@@ -906,7 +904,7 @@ Group: Development/Languages/C and C++
|
||||
Provides: libatomic%{libatomic_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libatomic%{libatomic_sover}@variant@
|
||||
Conflicts: libatomic%{libatomic_sover}@variant@
|
||||
|
||||
%description -n libatomic%{libatomic_sover}%{libatomic_suffix}@variant@
|
||||
The runtime library for atomic operations of the GNU Compiler Collection (GCC).
|
||||
@@ -924,7 +922,7 @@ Group: Development/Languages/C and C++
|
||||
Provides: liblsan%{liblsan_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict liblsan%{liblsan_sover}@variant@
|
||||
Conflicts: liblsan%{liblsan_sover}@variant@
|
||||
|
||||
%description -n liblsan%{liblsan_sover}%{liblsan_suffix}@variant@
|
||||
The runtime library needed to run programs compiled with the
|
||||
@@ -943,7 +941,7 @@ Group: Development/Languages/C and C++
|
||||
Provides: libubsan%{libubsan_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libubsan%{libubsan_sover}@variant@
|
||||
Conflicts: libubsan%{libubsan_sover}@variant@
|
||||
|
||||
%description -n libubsan%{libubsan_sover}%{libubsan_suffix}@variant@
|
||||
The runtime library needed to run programs compiled with the
|
||||
@@ -962,7 +960,7 @@ Group: Development/Languages/C and C++
|
||||
Provides: libvtv%{libvtv_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libvtv%{libvtv_sover}@variant@
|
||||
Conflicts: libvtv%{libvtv_sover}@variant@
|
||||
|
||||
%description -n libvtv%{libvtv_sover}%{libvtv_suffix}@variant@
|
||||
The runtime library needed to run programs compiled with the
|
||||
@@ -995,7 +993,7 @@ Group: Development/Languages/Other
|
||||
Provides: libgo%{libgo_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libgo%{libgo_sover}@variant@
|
||||
Conflicts: libgo%{libgo_sover}@variant@
|
||||
|
||||
%description -n libgo%{libgo_sover}%{libgo_suffix}@variant@
|
||||
Runtime library for the GNU Go language.
|
||||
@@ -1029,7 +1027,7 @@ Group: Development/Languages/Other
|
||||
Provides: libgphobos%{libgphobos_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libgphobos%{libgphobos_sover}@variant@
|
||||
Conflicts: libgphobos%{libgphobos_sover}@variant@
|
||||
|
||||
%description -n libgphobos%{libgphobos_sover}%{libgphobos_suffix}@variant@
|
||||
Runtime library for the GNU D language.
|
||||
@@ -1047,7 +1045,7 @@ Group: Development/Languages/Other
|
||||
Provides: libgdruntime%{libgdruntime_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libgdruntime%{libgdruntime_sover}@variant@
|
||||
Conflicts: libgdruntime%{libgdruntime_sover}@variant@
|
||||
|
||||
%description -n libgdruntime%{libgdruntime_sover}%{libgdruntime_suffix}@variant@
|
||||
Runtime library for the GNU D language.
|
||||
@@ -1064,7 +1062,7 @@ Group: Development/Languages/C and C++
|
||||
Provides: libgccjit%{libgccjit_sover} = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libgccjit%{libgccjit_sover}
|
||||
Conflicts: libgccjit%{libgccjit_sover}
|
||||
# At runtime the JIT needs to be able to invoke the assembler and
|
||||
# linker and find startfiles and libgcc. The built-in driver knows
|
||||
# the compilers version install directory only so we require the
|
||||
@@ -1085,7 +1083,7 @@ Group: Development/Languages/C and C++
|
||||
Provides: libgccjit%{libgccjit_sover}-devel = %{version}-%{release}
|
||||
# Only one gccjit package can be installed at the same time since
|
||||
# header files conflict
|
||||
Conflicts: %selfconflict libgccjit%{libgccjit_sover}-devel
|
||||
Conflicts: libgccjit%{libgccjit_sover}-devel
|
||||
Requires: libgccjit%{libgccjit_sover} >= %{version}-%{release}
|
||||
|
||||
%description -n libgccjit%{libgccjit_sover}-devel%{libdevel_suffix}
|
||||
@@ -1133,7 +1131,7 @@ Group: Development/Languages/Other
|
||||
Provides: libm2log%{libm2_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libm2log%{libm2_sover}@variant@
|
||||
Conflicts: libm2log%{libm2_sover}@variant@
|
||||
|
||||
%description -n libm2log%{libm2_sover}%{libm2_suffix}@variant@
|
||||
Runtime library for the GNU Modula-2 language.
|
||||
@@ -1152,7 +1150,7 @@ Group: Development/Languages/Other
|
||||
Provides: libm2cor%{libm2_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libm2cor%{libm2_sover}@variant@
|
||||
Conflicts: libm2cor%{libm2_sover}@variant@
|
||||
|
||||
%description -n libm2cor%{libm2_sover}%{libm2_suffix}@variant@
|
||||
Runtime library for the GNU Modula-2 language.
|
||||
@@ -1171,7 +1169,7 @@ Group: Development/Languages/Other
|
||||
Provides: libm2iso%{libm2_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libm2iso%{libm2_sover}@variant@
|
||||
Conflicts: libm2iso%{libm2_sover}@variant@
|
||||
|
||||
%description -n libm2iso%{libm2_sover}%{libm2_suffix}@variant@
|
||||
Runtime library for the GNU Modula-2 language.
|
||||
@@ -1190,7 +1188,7 @@ Group: Development/Languages/Other
|
||||
Provides: libm2pim%{libm2_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libm2pim%{libm2_sover}@variant@
|
||||
Conflicts: libm2pim%{libm2_sover}@variant@
|
||||
|
||||
%description -n libm2pim%{libm2_sover}%{libm2_suffix}@variant@
|
||||
Runtime library for the GNU Modula-2 language.
|
||||
@@ -1209,7 +1207,7 @@ Group: Development/Languages/Other
|
||||
Provides: libm2min%{libm2_sover}@variant@ = %{version}-%{release}
|
||||
# Only one package may provide this - allows multiple gcc versions
|
||||
# to co-exist without an overly large list of provides/obsoletes
|
||||
Conflicts: %selfconflict libm2min%{libm2_sover}@variant@
|
||||
Conflicts: libm2min%{libm2_sover}@variant@
|
||||
|
||||
%description -n libm2min%{libm2_sover}%{libm2_suffix}@variant@
|
||||
Runtime library for the GNU Modula-2 language.
|
||||
@@ -1351,7 +1349,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -1369,11 +1367,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -1508,6 +1501,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -1570,16 +1566,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -1587,6 +1581,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -1674,19 +1671,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -1743,13 +1735,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -1791,7 +1779,7 @@ export QEMU_STACK_SIZE=64M
|
||||
# BUILD-COMMON-END
|
||||
|
||||
STAGE1_FLAGS="-g -O2"
|
||||
%if 0%{?do_profiling} && !0%{?building_testsuite:1}
|
||||
%if 0%{?do_profiling} && !0%{?building_testsuite:1} && !0%{?want_reproducible_builds}
|
||||
%ifarch x86_64 %ix86 ppc64le s390x aarch64
|
||||
%if %{with bootstrap}
|
||||
%define use_pgo_bootstrap 1
|
||||
@@ -1802,6 +1790,8 @@ STAGE1_FLAGS="-g -O2"
|
||||
make info
|
||||
%if 0%{?run_tests:1}
|
||||
echo "Run testsuite"
|
||||
# Use the bootstrap compiler for compat tests
|
||||
export ALT_CC_UNDER_TEST=/usr/bin/gcc ALT_CXX_UNDER_TEST=/usr/bin/g++
|
||||
(make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
|
||||
mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
|
||||
mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
|
||||
@@ -1812,6 +1802,8 @@ mkdir ../testresults
|
||||
../contrib/test_summary | tee ../testresults/test_summary.txt
|
||||
%endif
|
||||
|
||||
%define __provides_exclude_from ^%{libsubdir}/.*\.so.*$
|
||||
|
||||
%install
|
||||
# Make sure libtool re-linking libasan at install time doesn't drop the
|
||||
# libstdc++ reference to make asan of C++ modules in python work
|
||||
@@ -1901,7 +1893,8 @@ if ! test -z "$dir_ml"; then
|
||||
fi
|
||||
%endif
|
||||
|
||||
# move shared libs from versionspecific dir to main libdir
|
||||
# move shared libs from versionspecific dir to main libdir, keep a copy
|
||||
# for link-editing in the .so
|
||||
for libname in \
|
||||
%if %{build_fortran}
|
||||
libgfortran \
|
||||
@@ -1965,8 +1958,16 @@ for libname in \
|
||||
mv $lib %{buildroot}/%{mainlibdir}/
|
||||
done
|
||||
if test -L %{buildroot}/%{versmainlibdir}/$libname.so; then
|
||||
ln -sf %{mainlibdir}/`readlink %{buildroot}/%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
|
||||
%{buildroot}/%{versmainlibdir}/$libname.so
|
||||
cp %{buildroot}/%{mainlibdir}/`readlink %{buildroot}/%{versmainlibdir}/$libname.so` \
|
||||
%{buildroot}/%{versmainlibdir}/$libname.so.tem
|
||||
rm %{buildroot}/%{versmainlibdir}/$libname.so
|
||||
mv %{buildroot}/%{versmainlibdir}/$libname.so.tem %{buildroot}/%{versmainlibdir}/$libname.so
|
||||
strip -g %{buildroot}/%{versmainlibdir}/$libname.so
|
||||
else
|
||||
if test -e %{buildroot}/%{versmainlibdir}/$libname.so; then
|
||||
echo ERROR: unexpected linker script for $libname.so
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
%if %{biarch}
|
||||
if test -d %{buildroot}/%{versmainlibdirbi}; then
|
||||
@@ -1974,8 +1975,16 @@ for libname in \
|
||||
mv $lib %{buildroot}/%{mainlibdirbi}/
|
||||
done
|
||||
if test -L %{buildroot}/%{versmainlibdirbi}/$libname.so; then
|
||||
ln -sf %{mainlibdirbi}/`readlink %{buildroot}/%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
|
||||
%{buildroot}/%{versmainlibdirbi}/$libname.so
|
||||
cp %{buildroot}/%{mainlibdirbi}/`readlink %{buildroot}/%{versmainlibdirbi}/$libname.so` \
|
||||
%{buildroot}/%{versmainlibdirbi}/$libname.so.tem
|
||||
rm %{buildroot}/%{versmainlibdirbi}/$libname.so
|
||||
mv %{buildroot}/%{versmainlibdirbi}/$libname.so.tem %{buildroot}/%{versmainlibdirbi}/$libname.so
|
||||
strip -g %{buildroot}/%{versmainlibdirbi}/$libname.so
|
||||
else
|
||||
if test -e %{buildroot}/%{versmainlibdirbi}/$libname.so; then
|
||||
echo ERROR: unexpected linker script for $libname.so
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
%endif
|
||||
@@ -1995,40 +2004,50 @@ sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' %{buildroot}/%{_
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# Move libgcc_s around
|
||||
# Move libgcc_s around, make sure a version specific copy is available
|
||||
# for link editing
|
||||
chmod a+x %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s}
|
||||
if test -L %{buildroot}/%{_lib}/libgcc_s.so; then
|
||||
rm -f %{buildroot}/%{_lib}/libgcc_s.so
|
||||
ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdir}/libgcc_s.so
|
||||
cp %{buildroot}//%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdir}/libgcc_s.so
|
||||
strip -g %{buildroot}/%{versmainlibdir}/libgcc_s.so
|
||||
else
|
||||
mv %{buildroot}/%{_lib}/libgcc_s.so %{buildroot}/%{versmainlibdir}/
|
||||
cp %{buildroot}//%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdir}/libgcc_s.so.%{libgcc_s}
|
||||
strip -g %{buildroot}/%{versmainlibdir}/libgcc_s.so.%{libgcc_s}
|
||||
fi
|
||||
chmod a+x %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s}
|
||||
%if 0%{?usrmerged}
|
||||
mv %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{_slibdir}/libgcc_s.so.%{libgcc_s}
|
||||
%endif
|
||||
%if %{biarch}
|
||||
chmod a+x %{buildroot}/lib/libgcc_s.so.%{libgcc_s}
|
||||
%if %{build_primary_64bit}
|
||||
if test -L %{buildroot}/lib/libgcc_s.so; then
|
||||
rm -f %{buildroot}/lib/libgcc_s.so
|
||||
ln -sf /lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so
|
||||
cp %{buildroot}/lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so
|
||||
strip -g %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so
|
||||
else
|
||||
mv %{buildroot}/lib/libgcc_s.so %{buildroot}/%{versmainlibdirbi32}/
|
||||
cp %{buildroot}/lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s}
|
||||
strip -g %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s}
|
||||
fi
|
||||
ln -sf %{versmainlibdirbi32}/libgcc_s.so %{buildroot}/%{versmainlibdirbi32}/libgcc_s_32.so
|
||||
chmod a+x %{buildroot}/lib/libgcc_s.so.%{libgcc_s}
|
||||
%if 0%{?usrmerged}
|
||||
mv %{buildroot}/lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir}/libgcc_s.so.%{libgcc_s}
|
||||
%endif
|
||||
%else
|
||||
# 32-bit biarch systems
|
||||
chmod a+x %{buildroot}/lib64/libgcc_s.so.%{libgcc_s}
|
||||
if test -L %{buildroot}/lib64/libgcc_s.so; then
|
||||
rm -f %{buildroot}/lib64/libgcc_s.so
|
||||
ln -sf /lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so
|
||||
cp %{buildroot}/lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so
|
||||
strip -g %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so
|
||||
else
|
||||
mv %{buildroot}/lib64/libgcc_s.so %{buildroot}/%{versmainlibdirbi64}/
|
||||
cp %{buildroot}/lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s}
|
||||
strip -g %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s}
|
||||
fi
|
||||
ln -sf %{versmainlibdirbi64}/libgcc_s.so %{buildroot}/%{versmainlibdirbi64}/libgcc_s_64.so
|
||||
chmod a+x %{buildroot}/lib64/libgcc_s.so.%{libgcc_s}
|
||||
%if 0%{?usrmerged}
|
||||
mv %{buildroot}/lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir64}/libgcc_s.so.%{libgcc_s}
|
||||
%endif
|
||||
@@ -2084,7 +2103,7 @@ chmod 644 ../testresults/*
|
||||
# GCC-TESTSUITE-DELETE-BEGIN
|
||||
# Remove files that we do not need to clean up filelist
|
||||
|
||||
# Preserve %{GCCDIST}-gcc%{binsuffix} binary for libgccjit as it is used as a driver
|
||||
# Preserve %%{GCCDIST}-gcc%%{binsuffix} binary for libgccjit as it is used as a driver
|
||||
mv %{buildroot}/%{_prefix}/bin/%{GCCDIST}-gcc%{binsuffix} %{buildroot}
|
||||
rm -f %{buildroot}/%{_prefix}/bin/%{GCCDIST}-*
|
||||
mv %{buildroot}/%{GCCDIST}-gcc%{binsuffix} %{buildroot}/%{_prefix}/bin/
|
||||
@@ -2336,6 +2355,11 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc@base_ver@-locale.lang
|
||||
%{libsubdir}/include/riscv_crypto.h
|
||||
%{libsubdir}/include/riscv_th_vector.h
|
||||
%endif
|
||||
%ifarch loongarch64
|
||||
%{libsubdir}/include/larchintrin.h
|
||||
%{libsubdir}/include/lasxintrin.h
|
||||
%{libsubdir}/include/lsxintrin.h
|
||||
%endif
|
||||
%ifarch %ix86 x86_64
|
||||
%{libsubdir}/include/cross-stdarg.h
|
||||
%{libsubdir}/include/cpuid.h
|
||||
@@ -2460,7 +2484,7 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc@base_ver@-locale.lang
|
||||
%versmainlib *crt*.o
|
||||
%versmainlib libgcc*.a
|
||||
%versmainlib libgcov.a
|
||||
%versmainlib libgcc_s*.so
|
||||
%versmainlib libgcc_s*.so*
|
||||
%versmainlib libgomp.so
|
||||
%versmainlib libgomp.a
|
||||
%versmainlib libgomp.spec
|
||||
@@ -2526,7 +2550,7 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc@base_ver@-locale.lang
|
||||
%versbiarchlib *crt*.o
|
||||
%versbiarchlib libgcc*.a
|
||||
%versbiarchlib libgcov.a
|
||||
%versbiarchlib libgcc_s*.so
|
||||
%versbiarchlib libgcc_s*.so*
|
||||
%versbiarchlib libgomp.so
|
||||
%versbiarchlib libgomp.a
|
||||
%versbiarchlib libgomp.spec
|
||||
@@ -2607,9 +2631,6 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc@base_ver@-locale.lang
|
||||
%files c++%{separate_biarch_suffix}
|
||||
%defattr(-,root,root)
|
||||
# empty - only for the dependency
|
||||
%if %{suse_version} < 1310
|
||||
%doc README
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
|
||||
@@ -2822,12 +2843,6 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc@base_ver@-locale.lang
|
||||
%versmainlib libgfortran.so
|
||||
%versmainlib libgfortran.spec
|
||||
%versmainlib libcaf_single.a
|
||||
%ifarch %quadmath_arch
|
||||
%{libsubdir}/include/quadmath.h
|
||||
%{libsubdir}/include/quadmath_weak.h
|
||||
%versmainlib libquadmath.a
|
||||
%versmainlib libquadmath.so
|
||||
%endif
|
||||
%doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
|
||||
|
||||
%if %{separate_biarch}
|
||||
@@ -2839,10 +2854,6 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc@base_ver@-locale.lang
|
||||
%versbiarchlib libgfortran.so
|
||||
%versbiarchlib libgfortran.spec
|
||||
%versbiarchlib libcaf_single.a
|
||||
%ifarch %quadmath_arch
|
||||
%versbiarchlib libquadmath.a
|
||||
%versbiarchlib libquadmath.so
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%files -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
|
||||
@@ -2865,6 +2876,20 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc@base_ver@-locale.lang
|
||||
%defattr(-,root,root)
|
||||
%biarchlib libquadmath.so.%{libquadmath_sover}*
|
||||
%endif
|
||||
|
||||
%files -n libquadmath%{libquadmath_sover}-devel%{libdevel_suffix}
|
||||
%defattr(-,root,root)
|
||||
%{libsubdir}/include/quadmath.h
|
||||
%{libsubdir}/include/quadmath_weak.h
|
||||
%versmainlib libquadmath.a
|
||||
%versmainlib libquadmath.so
|
||||
|
||||
%if %{separate_biarch}
|
||||
%files -n libquadmath%{libquadmath_sover}-devel%{libdevel_suffix}%{separate_biarch_suffix}
|
||||
%defattr(-,root,root)
|
||||
%versbiarchlib libquadmath.a
|
||||
%versbiarchlib libquadmath.so
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
|
||||
@@ -2942,9 +2967,6 @@ cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc@base_ver@-locale.lang
|
||||
%files obj-c++%{separate_biarch_suffix}
|
||||
%defattr(-,root,root)
|
||||
# empty - only for the dependency
|
||||
%if %{suse_version} < 1310
|
||||
%doc README
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
|
||||
|
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
|
||||
|
426
gcc14-bsc1239938.patch
Normal file
426
gcc14-bsc1239938.patch
Normal file
@@ -0,0 +1,426 @@
|
||||
From 1a6442e5ef6a335ae906bad32a43812c73379109 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Biener <rguenther@suse.de>
|
||||
Date: Tue, 25 Mar 2025 18:11:08 +0100
|
||||
Subject: [PATCH] Add support of --enable-host-pie to the native Ada compiler
|
||||
To: gcc-patches@gcc.gnu.org
|
||||
|
||||
From: Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
gcc/ada/
|
||||
PR ada/119440
|
||||
* gcc-interface/Make-lang.in (GCC_LINK): Filter out -pie in stage 1
|
||||
(GCC_LLINK): Likewise.
|
||||
* gcc-interface/Makefile.in (COMPILER): Delete and replace by CC.
|
||||
(COMPILER_FLAGS): Delete.
|
||||
(ALL_COMPILERFLAGS): Delete and replace by ALL_CFLAGS.
|
||||
(ALL_ADAFLAGS): Move around.
|
||||
(enable_host_pie): New substituted variable.
|
||||
(LD_PICFLAG): Likewise. Do not add it to TOOLS_LIBS.
|
||||
(LIBIBERTY): Test enable_host_pie.
|
||||
(LIBGNAT): Likewise and use libgnat_pic.a if yes.
|
||||
(TOOLS_FLAGS_TO_PASS): Pass $(PICFLAG) under CFLAGS & $(LD_PICFLAG)
|
||||
under LDFLAGS. Also pass through ADA_CFLAGS.
|
||||
(common-tools): Add $(ALL_CFLAGS) $(ADA_CFLAGS) to the --GCC string
|
||||
of $(GNATLINK) commands.
|
||||
(../../gnatdll$(exeext)): Likewise.
|
||||
(gnatmake-re): Likewise.
|
||||
(gnatlink-re): Likewise.
|
||||
(gnatlib-shared-dual): Remove all the object files at the end.
|
||||
|
||||
gnattools/
|
||||
PR ada/119440
|
||||
* configure.ac (host-pie): New switch.
|
||||
(host-bind-now): Likewise.
|
||||
Substitute PICFLAG and LD_PICFLAG.
|
||||
* configure: Regenerate.
|
||||
* Makefile.in (PICFLAG): New substituted variable.
|
||||
(LD_PICFLAG): Likewise.
|
||||
(TOOLS_FLAGS_TO_PASS): Pass $(PICFLAG) under CFLAGS & $(LD_PICFLAG)
|
||||
under LDFLAGS. Do not pass -I- under ADA_INCLUDES.
|
||||
(TOOLS_FLAGS_TO_PASS_RE): Likewise.
|
||||
---
|
||||
gcc/ada/gcc-interface/Make-lang.in | 8 ++-
|
||||
gcc/ada/gcc-interface/Makefile.in | 91 +++++++++++++++++-------------
|
||||
gnattools/Makefile.in | 13 +++--
|
||||
gnattools/configure | 24 ++++++++
|
||||
gnattools/configure.ac | 16 +++++-
|
||||
5 files changed, 107 insertions(+), 45 deletions(-)
|
||||
|
||||
diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in
|
||||
index f6404c0b1eb..ec72816f773 100644
|
||||
--- a/gcc/ada/gcc-interface/Make-lang.in
|
||||
+++ b/gcc/ada/gcc-interface/Make-lang.in
|
||||
@@ -271,8 +271,14 @@ GCC_LINKERFLAGS = $(filter-out -Werror, $(ALL_LINKERFLAGS))
|
||||
GCC_LDFLAGS = $(LDFLAGS)
|
||||
endif
|
||||
|
||||
-GCC_LINK=$(LINKER) $(GCC_LINKERFLAGS) $(GCC_LDFLAGS)
|
||||
+# Do not link with -pie during stage #1 because the base libgnat.a is not PIC
|
||||
+ifeq ($(STAGE1),True)
|
||||
+GCC_LINK= $(filter-out -pie, $(LINKER) $(GCC_LINKERFLAGS) $(GCC_LDFLAGS))
|
||||
+GCC_LLINK=$(filter-out -pie, $(LLINKER) $(GCC_LINKERFLAGS) $(GCC_LDFLAGS))
|
||||
+else
|
||||
+GCC_LINK= $(LINKER) $(GCC_LINKERFLAGS) $(GCC_LDFLAGS)
|
||||
GCC_LLINK=$(LLINKER) $(GCC_LINKERFLAGS) $(GCC_LDFLAGS)
|
||||
+endif
|
||||
|
||||
# Lists of files for various purposes.
|
||||
|
||||
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
|
||||
index 0666fc00bb8..692a35684df 100644
|
||||
--- a/gcc/ada/gcc-interface/Makefile.in
|
||||
+++ b/gcc/ada/gcc-interface/Makefile.in
|
||||
@@ -91,10 +91,11 @@ LS = ls
|
||||
RANLIB = @RANLIB@
|
||||
RANLIB_FLAGS = @ranlib_flags@
|
||||
AWK = @AWK@
|
||||
-PICFLAG = @PICFLAG@
|
||||
|
||||
-COMPILER = $(CC)
|
||||
-COMPILER_FLAGS = $(CFLAGS)
|
||||
+# Should we build position-independent host code?
|
||||
+enable_host_pie = @enable_host_pie@
|
||||
+PICFLAG = @PICFLAG@
|
||||
+LD_PICFLAG = @LD_PICFLAG@
|
||||
|
||||
SHELL = @SHELL@
|
||||
PWD_COMMAND = $${PWDCMD-pwd}
|
||||
@@ -119,7 +120,6 @@ GNATLIBCFLAGS = -g -O2
|
||||
GNATLIBCFLAGS_FOR_C = \
|
||||
-W -Wall $(GNATLIBCFLAGS) -fexceptions -DIN_RTS -DHAVE_GETIPINFO
|
||||
PICFLAG_FOR_TARGET = @PICFLAG_FOR_TARGET@
|
||||
-ALL_ADAFLAGS = $(CFLAGS) $(ADA_CFLAGS) $(ADAFLAGS)
|
||||
THREAD_KIND = native
|
||||
THREADSLIB =
|
||||
GMEM_LIB =
|
||||
@@ -236,11 +236,9 @@ ALL_CFLAGS = $(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS)
|
||||
# Likewise.
|
||||
ALL_CPPFLAGS = $(CPPFLAGS)
|
||||
|
||||
-# Used with $(COMPILER).
|
||||
-ALL_COMPILERFLAGS = $(ALL_CFLAGS)
|
||||
+ALL_ADAFLAGS = $(CFLAGS) $(ADA_CFLAGS) $(ADAFLAGS)
|
||||
|
||||
-# This is where we get libiberty.a from.
|
||||
-ifneq ($(findstring $(PICFLAG),-fPIC -fPIE),)
|
||||
+ifneq ($(enable_host_pie),)
|
||||
LIBIBERTY = ../../libiberty/pic/libiberty.a
|
||||
else
|
||||
LIBIBERTY = ../../libiberty/libiberty.a
|
||||
@@ -261,9 +259,6 @@ TOOLS_LIBS = ../version.o ../link.o ../targext.o ../../ggc-none.o \
|
||||
$(LIBGNAT) $(LIBINTL) $(LIBICONV) ../$(LIBBACKTRACE) ../$(LIBIBERTY) \
|
||||
$(SYSLIBS) $(TGT_LIB)
|
||||
|
||||
-# Add -no-pie to TOOLS_LIBS since some of them are compiled with -fno-PIE.
|
||||
-TOOLS_LIBS += @LD_PICFLAG@
|
||||
-
|
||||
# Specify the directories to be searched for header files.
|
||||
# Both . and srcdir are used, in that order,
|
||||
# so that tm.h and config.h will be found in the compilation
|
||||
@@ -299,8 +294,7 @@ ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)/ada
|
||||
$(CC) -c -x assembler $< $(OUTPUT_OPTION)
|
||||
|
||||
.c.o:
|
||||
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) \
|
||||
- $(INCLUDES) $< $(OUTPUT_OPTION)
|
||||
+ $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
|
||||
|
||||
.adb.o:
|
||||
$(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION)
|
||||
@@ -378,13 +372,18 @@ endif
|
||||
|
||||
include $(fsrcdir)/ada/Makefile.rtl
|
||||
|
||||
+ifneq ($(enable_host_pie),)
|
||||
+LIBGNAT=../$(RTSDIR)/libgnat_pic.a
|
||||
+else
|
||||
LIBGNAT=../$(RTSDIR)/libgnat.a
|
||||
+endif
|
||||
|
||||
TOOLS_FLAGS_TO_PASS= \
|
||||
"CC=$(CC)" \
|
||||
- "CFLAGS=$(CFLAGS)" \
|
||||
- "LDFLAGS=$(LDFLAGS)" \
|
||||
+ "CFLAGS=$(CFLAGS) $(PICFLAG)" \
|
||||
+ "LDFLAGS=$(LDFLAGS) $(LD_PICFLAG)" \
|
||||
"ADAFLAGS=$(ADAFLAGS)" \
|
||||
+ "ADA_CFLAGS=$(ADA_CFLAGS)" \
|
||||
"INCLUDES=$(INCLUDES_FOR_SUBDIR)"\
|
||||
"ADA_INCLUDES=$(ADA_INCLUDES) $(ADA_INCLUDES_FOR_SUBDIR)"\
|
||||
"libsubdir=$(libsubdir)" \
|
||||
@@ -465,32 +464,41 @@ common-tools: ../stamp-tools
|
||||
gnatchop gnatcmd gnatkr gnatls gnatprep gnatname \
|
||||
gnatclean -bargs $(ADA_INCLUDES) $(GNATBIND_FLAGS)
|
||||
$(GNATLINK) -v gnatcmd -o ../../gnat$(exeext) \
|
||||
- --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
+ --GCC="$(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(ADA_INCLUDES)" \
|
||||
+ --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
$(GNATLINK) -v gnatchop -o ../../gnatchop$(exeext) \
|
||||
- --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
+ --GCC="$(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(ADA_INCLUDES)" \
|
||||
+ --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
$(GNATLINK) -v gnatkr -o ../../gnatkr$(exeext) \
|
||||
- --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
+ --GCC="$(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(ADA_INCLUDES)" \
|
||||
+ --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
$(GNATLINK) -v gnatls -o ../../gnatls$(exeext) \
|
||||
- --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
+ --GCC="$(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(ADA_INCLUDES)" \
|
||||
+ --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
$(GNATLINK) -v gnatprep -o ../../gnatprep$(exeext) \
|
||||
- --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
+ --GCC="$(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(ADA_INCLUDES)" \
|
||||
+ --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
$(GNATLINK) -v gnatname -o ../../gnatname$(exeext) \
|
||||
- --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
+ --GCC="$(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(ADA_INCLUDES)" \
|
||||
+ --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
$(GNATLINK) -v gnatclean -o ../../gnatclean$(exeext) \
|
||||
- --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
+ --GCC="$(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(ADA_INCLUDES)" \
|
||||
+ --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
|
||||
../../gnatdll$(exeext): ../stamp-tools
|
||||
$(GNATMAKE) -c $(ADA_INCLUDES) gnatdll --GCC="$(CC) $(ALL_ADAFLAGS)"
|
||||
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatdll
|
||||
$(GNATLINK) -v gnatdll -o $@ \
|
||||
- --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
+ --GCC="$(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(ADA_INCLUDES)" \
|
||||
+ --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
|
||||
gnatmake-re: ../stamp-tools
|
||||
- $(GNATMAKE) -j0 $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(MOST_ADA_FLAGS)"
|
||||
+ $(GNATMAKE) -j0 $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(ALL_ADAFLAGS)"
|
||||
$(GNATMAKE) -j0 -c $(ADA_INCLUDES) gnatmake --GCC="$(CC) $(ALL_ADAFLAGS)"
|
||||
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatmake
|
||||
$(GNATLINK) -v gnatmake -o ../../gnatmake$(exeext) \
|
||||
- --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
+ --GCC="$(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(ADA_INCLUDES)" \
|
||||
+ --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
|
||||
# Note the use of the "mv" command in order to allow gnatlink to be linked with
|
||||
# with the former version of gnatlink itself which cannot override itself.
|
||||
@@ -500,7 +508,8 @@ gnatlink-re: ../stamp-tools gnatmake-re
|
||||
$(GNATMAKE) -j0 -c $(ADA_INCLUDES) gnatlink --GCC="$(CC) $(ALL_ADAFLAGS)"
|
||||
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlink
|
||||
$(GNATLINK) -v gnatlink -o ../../gnatlinknew$(exeext) \
|
||||
- --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
+ --GCC="$(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(ADA_INCLUDES)" \
|
||||
+ --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
|
||||
$(MV) ../../gnatlinknew$(exeext) ../../gnatlink$(exeext)
|
||||
|
||||
# Needs to be built with CC=gcc
|
||||
@@ -727,6 +736,14 @@ gnatlib-shared-dual:
|
||||
$(MV) libgnat_pic$(arext) $(RTSDIR)
|
||||
$(MV) libgnarl_pic$(arext) $(RTSDIR)
|
||||
|
||||
+ # Remove all the object files. They cannot be reused because they have
|
||||
+ # been generated for the static library and the shared library will be
|
||||
+ # the first to be rebuilt. Moreover, this will prevent gnatmake to pick
|
||||
+ # them instead of the prescribed version of the library when the tools
|
||||
+ # are built for a native compiler.
|
||||
+ $(RM) $(addprefix $(RTSDIR)/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS))
|
||||
+ $(RM) $(addprefix $(RTSDIR)/,$(GNATRTL_TASKING_OBJS))
|
||||
+
|
||||
gnatlib-shared-dual-win32:
|
||||
$(MAKE) $(FLAGS_TO_PASS) \
|
||||
GNATLIBFLAGS="$(GNATLIBFLAGS)" \
|
||||
@@ -886,15 +903,13 @@ b_gnatl.adb : $(GNATLINK_OBJS)
|
||||
$(GNATBIND) $(ADA_INCLUDES) -o b_gnatl.adb gnatlink.ali
|
||||
|
||||
b_gnatl.o : b_gnatl.adb
|
||||
- $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) -gnatws -gnatyN \
|
||||
- $< $(OUTPUT_OPTION)
|
||||
+ $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) -gnatws -gnatyN $< $(OUTPUT_OPTION)
|
||||
|
||||
b_gnatm.adb : $(GNATMAKE_OBJS)
|
||||
$(GNATBIND) $(ADA_INCLUDES) -o b_gnatm.adb gnatmake.ali
|
||||
|
||||
b_gnatm.o : b_gnatm.adb
|
||||
- $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) -gnatws -gnatyN \
|
||||
- $< $(OUTPUT_OPTION)
|
||||
+ $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) -gnatws -gnatyN $< $(OUTPUT_OPTION)
|
||||
|
||||
# Provide a `toolexeclibdir' definition for when `gnat-install-lib' is
|
||||
# wired through gcc/ in a configuration with top-level libada disabled.
|
||||
@@ -912,7 +927,7 @@ ADA_RTL_DSO_DIR = $(toolexeclibdir)
|
||||
# some targets.
|
||||
|
||||
tracebak.o : tracebak.c
|
||||
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) \
|
||||
+ $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) \
|
||||
$(INCLUDES) $(NO_OMIT_ADAFLAGS) $< $(OUTPUT_OPTION)
|
||||
|
||||
adadecode.o : adadecode.c adadecode.h
|
||||
@@ -940,33 +955,33 @@ terminals.o : terminals.c
|
||||
vx_stack_info.o : vx_stack_info.c
|
||||
|
||||
raise-gcc.o : raise-gcc.c raise.h
|
||||
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
|
||||
+ $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \
|
||||
-iquote $(srcdir) -iquote $(ftop_srcdir)/libgcc \
|
||||
$(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
|
||||
|
||||
cio.o : cio.c
|
||||
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
|
||||
+ $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \
|
||||
$(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
|
||||
|
||||
init.o : init.c adaint.h raise.h
|
||||
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
|
||||
+ $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \
|
||||
$(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
|
||||
|
||||
init-vxsim.o : init-vxsim.c
|
||||
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
|
||||
+ $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \
|
||||
$(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
|
||||
|
||||
initialize.o : initialize.c raise.h
|
||||
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
|
||||
+ $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \
|
||||
$(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
|
||||
|
||||
link.o : link.c
|
||||
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
|
||||
+ $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \
|
||||
$(ALL_CPPFLAGS) $(INCLUDES_FOR_SUBDIR) \
|
||||
$< $(OUTPUT_OPTION)
|
||||
|
||||
targext.o : targext.c
|
||||
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
|
||||
+ $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \
|
||||
-iquote $(srcdir) \
|
||||
$(ALL_CPPFLAGS) $(INCLUDES_FOR_SUBDIR) \
|
||||
$< $(OUTPUT_OPTION)
|
||||
diff --git a/gnattools/Makefile.in b/gnattools/Makefile.in
|
||||
index e8fc4af0788..1e7c9b8470c 100644
|
||||
--- a/gnattools/Makefile.in
|
||||
+++ b/gnattools/Makefile.in
|
||||
@@ -51,6 +51,9 @@ WARN_CFLAGS = @warn_cflags@
|
||||
|
||||
ADA_CFLAGS=@ADA_CFLAGS@
|
||||
|
||||
+PICFLAG = @PICFLAG@
|
||||
+LD_PICFLAG = @LD_PICFLAG@
|
||||
+
|
||||
# Variables for gnattools.
|
||||
ADAFLAGS= -gnatpg -gnata
|
||||
|
||||
@@ -79,12 +82,12 @@ CXX_LFLAGS = \
|
||||
TOOLS_FLAGS_TO_PASS_NATIVE= \
|
||||
"CC=../../xgcc -B../../" \
|
||||
"CXX=../../xg++ -B../../ $(CXX_LFLAGS)" \
|
||||
- "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
|
||||
- "LDFLAGS=$(LDFLAGS)" \
|
||||
+ "CFLAGS=$(CFLAGS) $(WARN_CFLAGS) $(PICFLAG)" \
|
||||
+ "LDFLAGS=$(LDFLAGS) $(LD_PICFLAG)" \
|
||||
"ADAFLAGS=$(ADAFLAGS)" \
|
||||
"ADA_CFLAGS=$(ADA_CFLAGS)" \
|
||||
"INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
|
||||
- "ADA_INCLUDES=-I- -I../rts $(ADA_INCLUDES_FOR_SUBDIR)"\
|
||||
+ "ADA_INCLUDES=-I../rts $(ADA_INCLUDES_FOR_SUBDIR)"\
|
||||
"exeext=$(exeext)" \
|
||||
"fsrcdir=$(fsrcdir)" \
|
||||
"srcdir=$(fsrcdir)" \
|
||||
@@ -97,8 +100,8 @@ TOOLS_FLAGS_TO_PASS_NATIVE= \
|
||||
TOOLS_FLAGS_TO_PASS_RE= \
|
||||
"CC=../../xgcc -B../../" \
|
||||
"CXX=../../xg++ -B../../ $(CXX_LFLAGS)" \
|
||||
- "CFLAGS=$(CFLAGS)" \
|
||||
- "LDFLAGS=$(LDFLAGS)" \
|
||||
+ "CFLAGS=$(CFLAGS) $(WARN_CFLAGS) $(PICFLAG)" \
|
||||
+ "LDFLAGS=$(LDFLAGS) $(LD_PICFLAG)" \
|
||||
"ADAFLAGS=$(ADAFLAGS)" \
|
||||
"ADA_CFLAGS=$(ADA_CFLAGS)" \
|
||||
"INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
|
||||
diff --git a/gnattools/configure b/gnattools/configure
|
||||
index 6cdfbe67af2..1eb0debc2ce 100755
|
||||
--- a/gnattools/configure
|
||||
+++ b/gnattools/configure
|
||||
@@ -585,6 +585,8 @@ ac_unique_file="Makefile.in"
|
||||
ac_subst_vars='LTLIBOBJS
|
||||
LIBOBJS
|
||||
default_gnattools_target
|
||||
+LD_PICFLAG
|
||||
+PICFLAG
|
||||
warn_cflags
|
||||
OBJEXT
|
||||
EXEEXT
|
||||
@@ -657,6 +659,8 @@ ac_subst_files=''
|
||||
ac_user_opts='
|
||||
enable_option_checking
|
||||
enable_maintainer_mode
|
||||
+enable_host_pie
|
||||
+enable_host_bind_now
|
||||
'
|
||||
ac_precious_vars='build_alias
|
||||
host_alias
|
||||
@@ -1281,6 +1285,8 @@ Optional Features:
|
||||
--enable-maintainer-mode
|
||||
enable make rules and dependencies not useful (and
|
||||
sometimes confusing) to the casual installer
|
||||
+ --enable-host-pie build host code as PIE
|
||||
+ --enable-host-bind-now link host code as BIND_NOW
|
||||
|
||||
Some influential environment variables:
|
||||
CC C compiler command
|
||||
@@ -2884,6 +2890,24 @@ if test "x$GCC" = "xyes"; then
|
||||
fi
|
||||
|
||||
|
||||
+# Enable --enable-host-pie
|
||||
+# Check whether --enable-host-pie was given.
|
||||
+if test "${enable_host_pie+set}" = set; then :
|
||||
+ enableval=$enable_host_pie; PICFLAG=-fPIE; LD_PICFLAG=-pie
|
||||
+else
|
||||
+ PICFLAG=-fno-PIE; LD_PICFLAG=-no-pie
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+# Enable --enable-host-bind-now
|
||||
+# Check whether --enable-host-bind-now was given.
|
||||
+if test "${enable_host_bind_now+set}" = set; then :
|
||||
+ enableval=$enable_host_bind_now; LD_PICFLAG="$LD_PICFLAG -Wl,-z,now"
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+
|
||||
# Determine what to build for 'gnattools'. Test after the above,
|
||||
# because testing for CC sets the final value of cross_compiling, even
|
||||
# if we end up using a different CC. We want to build
|
||||
diff --git a/gnattools/configure.ac b/gnattools/configure.ac
|
||||
index 38a28b6ee62..776530aee52 100644
|
||||
--- a/gnattools/configure.ac
|
||||
+++ b/gnattools/configure.ac
|
||||
@@ -1,4 +1,4 @@
|
||||
-# Configure script for libada.
|
||||
+# Configure script for gnattools
|
||||
# Copyright 2003, 2004, 2009, 2012 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
@@ -97,6 +97,20 @@ if test "x$GCC" = "xyes"; then
|
||||
fi
|
||||
AC_SUBST(warn_cflags)
|
||||
|
||||
+# Enable --enable-host-pie
|
||||
+AC_ARG_ENABLE(host-pie,
|
||||
+[AS_HELP_STRING([--enable-host-pie],
|
||||
+ [build host code as PIE])],
|
||||
+[PICFLAG=-fPIE; LD_PICFLAG=-pie], [PICFLAG=-fno-PIE; LD_PICFLAG=-no-pie])
|
||||
+AC_SUBST(PICFLAG)
|
||||
+
|
||||
+# Enable --enable-host-bind-now
|
||||
+AC_ARG_ENABLE(host-bind-now,
|
||||
+[AS_HELP_STRING([--enable-host-bind-now],
|
||||
+ [link host code as BIND_NOW])],
|
||||
+[LD_PICFLAG="$LD_PICFLAG -Wl,-z,now"], [])
|
||||
+AC_SUBST(LD_PICFLAG)
|
||||
+
|
||||
# Determine what to build for 'gnattools'. Test after the above,
|
||||
# because testing for CC sets the final value of cross_compiling, even
|
||||
# if we end up using a different CC. We want to build
|
||||
--
|
||||
2.43.0
|
||||
|
81
gcc14-pr119680.patch
Normal file
81
gcc14-pr119680.patch
Normal file
@@ -0,0 +1,81 @@
|
||||
diff --git a/libbacktrace/configure b/libbacktrace/configure
|
||||
index 0ecdd3ec0a3..85be043009a 100755
|
||||
--- a/libbacktrace/configure
|
||||
+++ b/libbacktrace/configure
|
||||
@@ -814,6 +814,7 @@ enable_largefile
|
||||
enable_cet
|
||||
enable_werror
|
||||
with_system_libunwind
|
||||
+enable_host_pie
|
||||
enable_host_shared
|
||||
'
|
||||
ac_precious_vars='build_alias
|
||||
@@ -1464,6 +1465,7 @@ Optional Features:
|
||||
--disable-largefile omit support for large files
|
||||
--enable-cet enable Intel CET in target libraries [default=auto]
|
||||
--disable-werror disable building with -Werror
|
||||
+ --enable-host-pie build host code as PIE
|
||||
--enable-host-shared build host code as shared libraries
|
||||
--enable-cet enable Intel CET in host libraries [default=auto]
|
||||
|
||||
@@ -11634,7 +11636,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
-#line 11637 "configure"
|
||||
+#line 11639 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@@ -11740,7 +11742,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
-#line 11743 "configure"
|
||||
+#line 11745 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@@ -12518,12 +12520,18 @@ $as_echo "#define HAVE_GETIPINFO 1" >>confdefs.h
|
||||
fi
|
||||
fi
|
||||
|
||||
+# Enable --enable-host-pie.
|
||||
+# Check whether --enable-host-pie was given.
|
||||
+if test "${enable_host_pie+set}" = set; then :
|
||||
+ enableval=$enable_host_pie; PIC_FLAG=-fPIE
|
||||
+else
|
||||
+ PIC_FLAG=
|
||||
+fi
|
||||
+
|
||||
# Enable --enable-host-shared.
|
||||
# Check whether --enable-host-shared was given.
|
||||
if test "${enable_host_shared+set}" = set; then :
|
||||
enableval=$enable_host_shared; PIC_FLAG=-fPIC
|
||||
-else
|
||||
- PIC_FLAG=
|
||||
fi
|
||||
|
||||
|
||||
diff --git a/libbacktrace/configure.ac b/libbacktrace/configure.ac
|
||||
index 75b3a7536f1..6549cdeacf4 100644
|
||||
--- a/libbacktrace/configure.ac
|
||||
+++ b/libbacktrace/configure.ac
|
||||
@@ -175,11 +175,16 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
+# Enable --enable-host-pie.
|
||||
+AC_ARG_ENABLE(host-pie,
|
||||
+[AS_HELP_STRING([--enable-host-pie],
|
||||
+ [build host code as PIE])],
|
||||
+[PIC_FLAG=-fPIE], [PIC_FLAG=])
|
||||
# Enable --enable-host-shared.
|
||||
AC_ARG_ENABLE(host-shared,
|
||||
[AS_HELP_STRING([--enable-host-shared],
|
||||
[build host code as shared libraries])],
|
||||
-[PIC_FLAG=-fPIC], [PIC_FLAG=])
|
||||
+[PIC_FLAG=-fPIC])
|
||||
AC_SUBST(PIC_FLAG)
|
||||
|
||||
# Enable Intel CET on Intel CET enabled host if jit is enabled.
|
201
gcc14-rs6000-msplit-patch-nops.patch
Normal file
201
gcc14-rs6000-msplit-patch-nops.patch
Normal file
@@ -0,0 +1,201 @@
|
||||
From 8694dc12186ed6ac806b229523229d8c9ab1f865 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 fdb6414f486..09507356ac1 100644
|
||||
--- a/gcc/config/rs6000/rs6000-logue.cc
|
||||
+++ b/gcc/config/rs6000/rs6000-logue.cc
|
||||
@@ -4005,8 +4005,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
|
||||
@@ -4027,7 +4027,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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4037,9 +4036,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 80f03809ff6..9cab0cf79d6 100644
|
||||
--- a/gcc/config/rs6000/rs6000.cc
|
||||
+++ b/gcc/config/rs6000/rs6000.cc
|
||||
@@ -15200,11 +15200,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
|
||||
@@ -21397,6 +21411,11 @@ rs6000_elf_declare_function_name (FILE *file, const char *name, tree decl)
|
||||
fprintf (file, "\t.previous\n");
|
||||
}
|
||||
ASM_OUTPUT_FUNCTION_LABEL (file, name, decl);
|
||||
+ /* 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 9b5cf321876..d372541f325 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 94323bd1db2..27a165ef0ee 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 6a94c7b70a5..64542f477f9 100644
|
||||
--- a/gcc/doc/invoke.texi
|
||||
+++ b/gcc/doc/invoke.texi
|
||||
@@ -1304,6 +1304,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}
|
||||
@@ -18416,11 +18417,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
|
||||
|
||||
|
||||
@@ -31436,6 +31438,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 gcc14-testresults
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -52,15 +52,11 @@
|
||||
|
||||
# Ada currently fails to build on a few platforms, enable it only
|
||||
# on those that work
|
||||
%if %{suse_version} >= 1310
|
||||
%if %{suse_version} >= 1330
|
||||
%define ada_arch %ix86 x86_64 ppc ppc64 ppc64le s390 s390x ia64 aarch64 riscv64
|
||||
%else
|
||||
%define ada_arch %ix86 x86_64 ppc ppc64 s390 ia64
|
||||
%endif
|
||||
%else
|
||||
%define ada_arch %ix86 x86_64 ppc s390 ia64
|
||||
%endif
|
||||
|
||||
%ifarch %ada_arch
|
||||
%define build_ada 1
|
||||
@@ -69,13 +65,13 @@
|
||||
%endif
|
||||
|
||||
%define quadmath_arch %ix86 x86_64 ia64 ppc64le
|
||||
%define tsan_arch x86_64 aarch64 ppc ppc64 ppc64le s390 s390x riscv64
|
||||
%define asan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %sparc %arm aarch64 riscv64
|
||||
%define tsan_arch x86_64 aarch64 ppc ppc64 ppc64le s390 s390x riscv64 loongarch64
|
||||
%define asan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %sparc %arm aarch64 riscv64 loongarch64
|
||||
%define hwasan_arch aarch64 x86_64
|
||||
%define itm_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le riscv64 s390 s390x %sparc
|
||||
%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k ia64 riscv64
|
||||
%define lsan_arch x86_64 aarch64 ppc ppc64 ppc64le s390 s390x riscv64
|
||||
%define ubsan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %arm aarch64 riscv64
|
||||
%define itm_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le riscv64 s390 s390x %sparc loongarch64
|
||||
%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k ia64 riscv64 loongarch64
|
||||
%define lsan_arch x86_64 aarch64 ppc ppc64 ppc64le s390 s390x riscv64 loongarch64
|
||||
%define ubsan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %arm aarch64 riscv64 loongarch64
|
||||
%if 0%{?build_libvtv:1}
|
||||
%define vtv_arch x86_64 %ix86
|
||||
%endif
|
||||
@@ -84,7 +80,11 @@
|
||||
%define build_fortran 1
|
||||
%define build_objc 1
|
||||
%define build_objcp 1
|
||||
%ifarch loongarch64 hppa hppa64
|
||||
%define build_go 0
|
||||
%else
|
||||
%define build_go 1
|
||||
%endif
|
||||
%ifarch x86_64 %ix86 %arm aarch64 riscv64 s390x
|
||||
%define build_d 1
|
||||
%else
|
||||
@@ -141,11 +141,16 @@
|
||||
%endif
|
||||
|
||||
# Enable plugins just for Tumbleweed, not for SLES
|
||||
%if 0%{!?sle_version:1}
|
||||
%if 0%{?is_opensuse}
|
||||
%define enable_plugins 1
|
||||
%define build_jit 1
|
||||
%else
|
||||
%define enable_plugins 0
|
||||
%endif
|
||||
|
||||
# Do not enable JIT support on SLE15
|
||||
%if %{suse_version} >= 1600
|
||||
%define build_jit 1
|
||||
%else
|
||||
%define build_jit 0
|
||||
%endif
|
||||
|
||||
@@ -218,16 +223,10 @@
|
||||
# libFOO-devel package suffix
|
||||
%define libdevel_suffix -gcc14
|
||||
|
||||
%if %{suse_version} >= 1220
|
||||
%define selfconflict() %1
|
||||
%else
|
||||
%define selfconflict() otherproviders(%1)
|
||||
%endif
|
||||
|
||||
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
|
||||
|
||||
URL: https://gcc.gnu.org/
|
||||
Version: 14.1.1+git10335
|
||||
Version: 14.3.0+git11799
|
||||
Release: 0
|
||||
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
|
||||
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
|
||||
@@ -242,11 +241,7 @@ BuildRequires: libzstd-devel
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
BuildRequires: gettext-devel
|
||||
%if %{suse_version} > 1220
|
||||
BuildRequires: makeinfo
|
||||
%else
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
# until here, but at least renaming and patching info files breaks this
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: glibc-devel-32bit
|
||||
@@ -261,9 +256,7 @@ BuildRequires: zlib-devel
|
||||
# for SDT markers in the C++ unwinder and gdb breakpoints on exceptions
|
||||
BuildRequires: systemtap-headers
|
||||
%endif
|
||||
%if %{suse_version} >= 1230
|
||||
BuildRequires: isl-devel
|
||||
%endif
|
||||
%define hostsuffix %{nil}
|
||||
%if %{build_ada}
|
||||
%if 0%{?gcc_version:%{gcc_version}} > 14
|
||||
@@ -289,11 +282,6 @@ BuildRequires: libstdc++6-devel-gcc11
|
||||
BuildRequires: gcc-d
|
||||
%endif
|
||||
%endif
|
||||
# We now require a C++ 11 capable compiler for bootstrapping
|
||||
%if %{suse_version} < 1220
|
||||
%define hostsuffix -4.8
|
||||
BuildRequires: gcc48-c++
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind-devel
|
||||
%endif
|
||||
@@ -342,7 +330,7 @@ BuildRequires: cross-amdgcn-newlib14-devel
|
||||
%define separate_biarch_suffix -64bit
|
||||
%endif
|
||||
|
||||
%ifarch aarch64 x86_64 ia64 s390x alpha ppc64 ppc64le sparc64 riscv64
|
||||
%ifarch aarch64 x86_64 ia64 s390x alpha ppc64 ppc64le sparc64 riscv64 loongarch64
|
||||
# 64-bit is primary build target
|
||||
%define build_primary_64bit 1
|
||||
%else
|
||||
@@ -386,9 +374,6 @@ Requires: libvtv%{libvtv_sover} >= %{version}-%{release}
|
||||
Suggests: gcc14-info gcc14-locale
|
||||
%endif
|
||||
|
||||
%if %{suse_version} < 1310
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
Group: Development/Languages/C and C++
|
||||
Source: gcc-%{version}.tar.xz
|
||||
Source1: change_spec
|
||||
@@ -406,6 +391,10 @@ Patch16: gcc9-reproducible-builds.patch
|
||||
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
|
||||
Patch19: gcc11-gdwarf-4-default.patch
|
||||
Patch20: gcc13-pr101523.patch
|
||||
Patch23: gcc13-bsc1239566.patch
|
||||
Patch24: gcc14-bsc1239938.patch
|
||||
Patch25: gcc14-rs6000-msplit-patch-nops.patch
|
||||
Patch26: gcc14-pr119680.patch
|
||||
# A set of patches from the RH srpm
|
||||
Patch51: gcc41-ppc32-retaddr.patch
|
||||
# Some patches taken from Debian
|
||||
@@ -537,7 +526,7 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
%if %{suse_version} < 1550
|
||||
%patch -p1 -P 19
|
||||
%endif
|
||||
%patch -p1 -P 20
|
||||
%patch -p1 -P 20 -P 23 -P 24 -P 25 -P 26
|
||||
%patch -P 51
|
||||
%patch -p1 -P 60 -P 61
|
||||
|
||||
@@ -555,11 +544,6 @@ ln -s newlib-4.4.0.20231231/newlib .
|
||||
# Avoid rebuilding of generated files
|
||||
contrib/gcc_update --touch
|
||||
|
||||
# SLE11 does not allow empty rpms
|
||||
%if %{suse_version} < 1310
|
||||
echo "This is a dummy package to provide a dependency." > README
|
||||
%endif
|
||||
|
||||
rm -rf obj-%{GCCDIST}
|
||||
mkdir obj-%{GCCDIST}
|
||||
cd obj-%{GCCDIST}
|
||||
@@ -694,6 +678,9 @@ export CARGO=/bin/true
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=%{_libdir} \
|
||||
--enable-languages=$languages \
|
||||
%if !0%{?is_opensuse}
|
||||
--enable-host-pie \
|
||||
%endif
|
||||
%if %{build_nvptx} || %{build_gcn}
|
||||
--enable-offload-targets=\
|
||||
%if %{build_nvptx}
|
||||
@@ -756,16 +743,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
--enable-linux-futex \
|
||||
%if %{suse_version} >= 1315
|
||||
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
|
||||
--enable-gnu-indirect-function \
|
||||
%endif
|
||||
%endif
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch %{disable_multilib_arch}
|
||||
--disable-multilib \
|
||||
%endif
|
||||
%if 0%{!?gcc_target_arch:1}
|
||||
--program-suffix=%{binsuffix} \
|
||||
%ifarch ia64
|
||||
--with-system-libunwind \
|
||||
%else
|
||||
@@ -773,6 +758,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?gcc_target_arch:1}
|
||||
%if 0%{?gcc_accel:1} || %{suse_version} < 1600
|
||||
--program-suffix=%{binsuffix} \
|
||||
%endif
|
||||
--program-prefix=%{gcc_target_arch}- \
|
||||
--target=%{gcc_target_arch} \
|
||||
--disable-nls \
|
||||
@@ -860,19 +848,14 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-cpu=power9 \
|
||||
--with-tune=power9 \
|
||||
--with-tune=power10 \
|
||||
%else
|
||||
%if %{suse_version} >= 1350
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power9 \
|
||||
%else
|
||||
%if %{suse_version} >= 1315 && %{suse_version} != 1320
|
||||
--with-cpu=power8 \
|
||||
--with-tune=power8 \
|
||||
%else
|
||||
--with-cpu=power7 \
|
||||
--with-tune=power7 \
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if %{suse_version} > 1500
|
||||
@@ -929,13 +912,9 @@ amdgcn-amdhsa,\
|
||||
%endif
|
||||
%if "%{TARGET_ARCH}" == "s390" || "%{TARGET_ARCH}" == "s390x"
|
||||
%if %{suse_version} >= 1600 && !0%{?is_opensuse}
|
||||
--with-tune=z14 --with-arch=z14 \
|
||||
--with-tune=z15 --with-arch=z14 \
|
||||
%else
|
||||
%if %{suse_version} >= 1310
|
||||
--with-tune=zEC12 --with-arch=z196 \
|
||||
%else
|
||||
--with-tune=z9-109 --with-arch=z900 \
|
||||
%endif
|
||||
%endif
|
||||
--with-long-double-128 \
|
||||
--enable-decimal-float \
|
||||
@@ -975,7 +954,7 @@ export QEMU_STACK_SIZE=64M
|
||||
%endif
|
||||
|
||||
STAGE1_FLAGS="-g -O2"
|
||||
%if 0%{?do_profiling} && !0%{?building_testsuite:1}
|
||||
%if 0%{?do_profiling} && !0%{?building_testsuite:1} && !0%{?want_reproducible_builds}
|
||||
%ifarch x86_64 %ix86 ppc64le s390x aarch64
|
||||
%if %{with bootstrap}
|
||||
%define use_pgo_bootstrap 1
|
||||
@@ -986,6 +965,8 @@ STAGE1_FLAGS="-g -O2"
|
||||
make info
|
||||
%if 0%{?run_tests:1}
|
||||
echo "Run testsuite"
|
||||
# Use the bootstrap compiler for compat tests
|
||||
export ALT_CC_UNDER_TEST=/usr/bin/gcc ALT_CXX_UNDER_TEST=/usr/bin/g++
|
||||
(make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
|
||||
mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
|
||||
mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
|
||||
@@ -996,6 +977,8 @@ mkdir ../testresults
|
||||
../contrib/test_summary | tee ../testresults/test_summary.txt
|
||||
%endif
|
||||
|
||||
%define __provides_exclude_from ^%{libsubdir}/.*\.so.*$
|
||||
|
||||
%install
|
||||
# Make sure libtool re-linking libasan at install time doesn't drop the
|
||||
# libstdc++ reference to make asan of C++ modules in python work
|
||||
|
169
gcc14.changes
169
gcc14.changes
@@ -1,3 +1,172 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 17 09:25:13 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]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 4 12:46:23 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- 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-*-gcc14-bootstrap package conflict with the non-bootstrap
|
||||
variant conflict with the unversioned cross-*-gcc package.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 27 14:08:37 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Disable build of glibc cross to loongarch64 and hppa in SLFO
|
||||
and SLE15.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 23 11:18:54 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to GCC 14.3 release, bb24b4c804f3d95b0ba95b7496, git11799
|
||||
- Remove gcc14-pr120061.patch which is now included upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 6 11:11:04 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Add gcc14-pr120061.patch to fix the PR108900 fix instead of
|
||||
reverting it.
|
||||
- Remove gcc14-pr108900.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 2 08:58:43 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Add gcc14-pr108900.patch to revert it, fixing libqt6webengine build.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 30 06:32:16 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to gcc-14 branch head, 3418d740b344e0ba38022f3be, git11702
|
||||
* Remove gcc14-pr118780.patch now on the upstream branch
|
||||
- Fix build on s390x [bsc#1241549]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 8 11:08:02 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]
|
||||
- Add gcc14-pr119680.patch to fix cross-compiler builds with
|
||||
--enable-host-pie.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 27 08:25:48 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Add gcc14-bsc1239938.patch to allow GCC executables to be
|
||||
built PIE. [bsc#1239938]
|
||||
- Add gcc14-rs6000-msplit-patch-nops.patch to backport -msplit-patch-nops
|
||||
required for user-space livepatching on powerpc.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 13 14:06:30 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- 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:27:50 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Disable profiling during build when %want_reproducible_builds is set
|
||||
[bsc#1238491]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 20 15:41:51 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to gcc-14 branch head, 9ffecde121af883b60bbe60d0, git11321
|
||||
* fixes reported ICE in [bsc#1237442]
|
||||
- Drop gcc14-pr116629.patch now backported to the branch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 6 10:28:59 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Adjust cross compiler requirements to use %requires_ge
|
||||
- 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 gcc14-pr118780.patch to make the SLFO config work.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 29 13:12:15 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- For cross compilers require the same or newer binutils, newlib
|
||||
or cross-glibc that was used at build time. [bsc#1232526]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 7 14:49:40 UTC 2025 - Andreas Schwab <schwab@suse.de>
|
||||
|
||||
- Define ALT_CC_UNDER_TEST and ALT_CXX_UNDER_TEST for compat tests
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 5 21:18:48 UTC 2025 - Martin Hauke <mardnh@gmx.de>
|
||||
|
||||
- Switch to glibc based cross-compiler for target hppa
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 2 04:48:53 UTC 2024 - Adrian Schröter <adrian@suse.de>
|
||||
|
||||
- disable go on loongarch64 for now
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Nov 30 16:01:13 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||
|
||||
- Add loongarch64 to asan_arch, atomic_arch,
|
||||
itm_arch, lsan_arch, tsan_arch and ubsan_arch
|
||||
- Add larchintrin.h, lasxintrin.h and lsxintrin.h
|
||||
headers to gccXY main package in %files section
|
||||
- Set build_primary_64bit to 1 for loongarch64
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 18 18:17:30 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||
|
||||
- Add loongarch64 as new target
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 9 13:01:41 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to gcc-14 branch head, 4af44f2cf7d281f3e4f3957ef, git10750
|
||||
* includes libstdc++6 fix for parsing tzdata 2024b [gcc#116657]
|
||||
- Add gcc14-pr116629.patch to fix ICE with LTO building openvino
|
||||
on aarch64 [boo#1230262]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 22 10:37:05 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Re-enable cross compiler builds on i586.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 1 09:33:39 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to GCC 14.2.0 release, c035a7c30c310ff928988cbcf, git10526
|
||||
- Add libquadmath0-devel-gcc14 sub-package to allow installing
|
||||
quadmath.h and SO link without installing the fortran frontend
|
||||
- Drop SLE11 compatibility %selfconflict wrapper, drop various
|
||||
conditions gating SLE11 build support
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 23 13:59:35 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Update to gcc-14 branch head, a544898f6dd6a1689bb25abfd, git10504
|
||||
* GCC 14.2 release candidate.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 21 12:18:10 UTC 2024 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
|
378
gcc14.spec
378
gcc14.spec
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user