Compare commits

..

No commits in common. "fix_32bit" and "factory" have entirely different histories.

43 changed files with 2767 additions and 642 deletions

View File

@ -1,2 +0,0 @@
[lfs]
url = http://gitea.opensuse.org:9999/gitlfs

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -102,7 +102,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -116,7 +116,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -128,13 +128,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -189,9 +191,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -254,6 +254,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -306,10 +309,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -324,6 +324,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -692,11 +694,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -891,15 +890,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -102,7 +102,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -116,7 +116,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -128,13 +128,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -189,9 +191,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -254,6 +254,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -306,10 +309,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -324,6 +324,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -692,11 +694,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -891,15 +890,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -102,7 +102,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -116,7 +116,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -128,13 +128,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -189,9 +191,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -254,6 +254,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -306,10 +309,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -324,6 +324,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -692,11 +694,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -891,15 +890,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -102,7 +102,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -116,7 +116,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -128,13 +128,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -189,9 +191,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -254,6 +254,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -306,10 +309,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -324,6 +324,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -692,11 +694,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -891,15 +890,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -102,7 +102,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -116,7 +116,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -128,13 +128,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -189,9 +191,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -254,6 +254,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -306,10 +309,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -324,6 +324,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -692,11 +694,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -891,15 +890,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -101,7 +101,7 @@ Name: %{pkgname}
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -115,7 +115,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -127,13 +127,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# Define the canonical target and host architecture # Define the canonical target and host architecture
# %%gcc_target_arch is supposed to be the full target triple # %%gcc_target_arch is supposed to be the full target triple
@ -188,9 +190,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -253,6 +253,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -305,10 +308,7 @@ only, it is not intended for any other use.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -323,6 +323,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -691,11 +693,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \
@ -890,15 +889,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -97,9 +97,7 @@ BuildRequires: libzstd-devel
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: gettext-devel BuildRequires: gettext-devel
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -162,6 +160,9 @@ ExclusiveArch: do-not-build
%endif %endif
%if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1} %if 0%{?gcc_icecream:1}%{?gcc_target_glibc:1}%{?gcc_libc_bootstrap:1}
ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64 ExclusiveArch: i586 ppc64le ppc64 x86_64 s390x aarch64 riscv64
%if "%{cross_arch}" == "pru"
ExclusiveArch: %arm
%endif
%endif %endif
%define _binary_payload w.ufdio %define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has # Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
@ -396,15 +397,15 @@ done
--slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-c++ %{gcc_target_arch}-c++ %{_bindir}/%{gcc_target_arch}-c++%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-g++ %{gcc_target_arch}-g++ %{_bindir}/%{gcc_target_arch}-g++%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix} \
%if 0%{!?gcc_libc_bootstrap:1} %if 0%{!?gcc_libc_bootstrap:1}
--slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov %{gcc_target_arch}-gcov %{_bindir}/%{gcc_target_arch}-gcov%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-dump %{gcc_target_arch}-gcov-dump %{_bindir}/%{gcc_target_arch}-gcov-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \ --slave %{_bindir}/%{gcc_target_arch}-gcov-tool %{gcc_target_arch}-gcov-tool %{_bindir}/%{gcc_target_arch}-gcov-tool%{binsuffix} \
%endif %endif
--slave %{_bindir}/%{gcc_target_arch}-gcc-ar %{gcc_target_arch}-gcc-ar %{_bindir}/%{gcc_target_arch}-gcc-ar%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-nm %{gcc_target_arch}-gcc-nm %{_bindir}/%{gcc_target_arch}-gcc-nm%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-lto-dump %{gcc_target_arch}-lto-dump %{_bindir}/%{gcc_target_arch}-lto-dump%{binsuffix} \
--slave %{_bindir}/%{gcc_target_arch}-gcc-ranlib %{gcc_target_arch}-gcc-ranlib %{_bindir}/%{gcc_target_arch}-gcc-ranlib%{binsuffix}
%postun %postun
if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then if [ ! -f %{_bindir}/%{gcc_target_arch}-gcc ] ; then

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:15ab3c01aacd92decf1f27ce230b9880aaceba0178398fe845fc395dfdac66a5
size 82957120

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:664732cbd1b65e2496efeef2ac77832a1ae5255e107c7ca3687fae27dd97d57b
size 83135352

View File

@ -17,7 +17,7 @@
# nospeccleaner # nospeccleaner
%if !0%{?usrmerged} %if 0%{?suse_version} < 1550
%define _slibdir /%{_lib} %define _slibdir /%{_lib}
%define slibdir /lib %define slibdir /lib
%define slibdir64 /lib64 %define slibdir64 /lib64
@ -25,6 +25,7 @@
%define _slibdir %{_libdir} %define _slibdir %{_libdir}
%define slibdir %{_prefix}/lib %define slibdir %{_prefix}/lib
%define slibdir64 %{_prefix}/lib64 %define slibdir64 %{_prefix}/lib64
%define usrmerged 1
%endif %endif
# Ada currently fails to build on a few platforms, enable it only # Ada currently fails to build on a few platforms, enable it only
@ -190,7 +191,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 1 Release: 1
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -213,9 +214,7 @@ BuildRequires: texinfo
%endif %endif
# until here, but at least renaming and patching info files breaks this # until here, but at least renaming and patching info files breaks this
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -362,7 +361,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -374,13 +373,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
# GCC-TESTSUITE-DELETE-BEGIN # GCC-TESTSUITE-DELETE-BEGIN
# SRC-COMMON-END # SRC-COMMON-END
@ -725,11 +726,9 @@ Summary: GNU Ada Runtime Libraries
License: GPL-3.0-or-later WITH GCC-exception-3.1 License: GPL-3.0-or-later WITH GCC-exception-3.1
Group: System/Libraries Group: System/Libraries
Provides: libgnarl-@base_ver@@variant@ = %{version}-%{release} Provides: libgnarl-@base_ver@@variant@ = %{version}-%{release}
# FIXME: remove %{after} service-format_spec_file is fixed Conflicts: %selfconflict libgnarl-@base_ver@@variant@
# https://github.com/openSUSE/obs-service-format_spec_file/issues/46
Conflicts: %selfconflict libgnarl-@base_ver@@variant@%{nil}
Provides: libgnat-@base_ver@@variant@ = %{version}-%{release} Provides: libgnat-@base_ver@@variant@ = %{version}-%{release}
Conflicts: %selfconflict libgnat-@base_ver@@variant@%{nil} Conflicts: %selfconflict libgnat-@base_ver@@variant@
%description -n libada@base_ver@@variant@ %description -n libada@base_ver@@variant@
This package contains the shared libraries required to run programs This package contains the shared libraries required to run programs
@ -1195,10 +1194,7 @@ Results from running the gcc and target library testsuites.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -1213,6 +1209,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -1491,7 +1489,7 @@ amdgcn-amdhsa,\
--disable-sjlj-exceptions \ --disable-sjlj-exceptions \
%endif %endif
%if "%{TARGET_ARCH}" == "armv7hl" %if "%{TARGET_ARCH}" == "armv7hl"
--with-cpu=generic-armv7-a \ --with-cpu=generic-armv7-a \
--with-float=hard \ --with-float=hard \
--with-abi=aapcs-linux \ --with-abi=aapcs-linux \
--with-fpu=vfpv3-d16 \ --with-fpu=vfpv3-d16 \
@ -1581,11 +1579,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \

File diff suppressed because it is too large Load Diff

21
gcc12-riscv-pthread.patch Normal file
View File

@ -0,0 +1,21 @@
Index: gcc-12.0.1+git192423/gcc/config/riscv/linux.h
===================================================================
--- gcc-12.0.1+git192423.orig/gcc/config/riscv/linux.h
+++ gcc-12.0.1+git192423/gcc/config/riscv/linux.h
@@ -35,16 +35,6 @@ along with GCC; see the file COPYING3.
#undef MUSL_DYNAMIC_LINKER
#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-riscv" XLEN_SPEC MUSL_ABI_SUFFIX ".so.1"
-/* Because RISC-V only has word-sized atomics, it requries libatomic where
- others do not. So link libatomic by default, as needed. */
-#undef LIB_SPEC
-#ifdef LD_AS_NEEDED_OPTION
-#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC \
- " %{pthread:" LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION "}"
-#else
-#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC " -latomic "
-#endif
-
#define ICACHE_FLUSH_FUNC "__riscv_flush_icache"
#define CPP_SPEC "%{pthread:-D_REENTRANT}"

View File

@ -15,4 +15,5 @@ addFilter ("shlib-legacy-policy-name-error")
# Packages provide libgcc_s1 = $version and conflict with other providers # Packages provide libgcc_s1 = $version and conflict with other providers
# of libgcc_s1 # of libgcc_s1
addFilter ("conflicts-with-provides") addFilter ("conflicts-with-provides")
# SLE12 rpmlint complains about valid SPDX licenses
addFilter ("invalid-license")

View File

@ -1,7 +1,7 @@
# #
# spec file for package gcc12-testresults # spec file for package gcc12-testresults
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -37,7 +37,7 @@
# nospeccleaner # nospeccleaner
%if !0%{?usrmerged} %if 0%{?suse_version} < 1550
%define _slibdir /%{_lib} %define _slibdir /%{_lib}
%define slibdir /lib %define slibdir /lib
%define slibdir64 /lib64 %define slibdir64 /lib64
@ -45,6 +45,7 @@
%define _slibdir %{_libdir} %define _slibdir %{_libdir}
%define slibdir %{_prefix}/lib %define slibdir %{_prefix}/lib
%define slibdir64 %{_prefix}/lib64 %define slibdir64 %{_prefix}/lib64
%define usrmerged 1
%endif %endif
# Ada currently fails to build on a few platforms, enable it only # Ada currently fails to build on a few platforms, enable it only
@ -207,7 +208,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -229,9 +230,7 @@ BuildRequires: texinfo
%endif %endif
# until here, but at least renaming and patching info files breaks this # until here, but at least renaming and patching info files breaks this
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -378,7 +377,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -390,13 +389,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
Summary: Testsuite results Summary: Testsuite results
License: SUSE-Public-Domain License: SUSE-Public-Domain
@ -506,10 +507,7 @@ Results from running the gcc and target library testsuites.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -524,6 +522,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -892,11 +892,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \

View File

@ -1,7 +1,92 @@
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Jul 30 08:45:21 UTC 2022 - Stephan Kulow <coolo@suse.com> Mon May 8 12:58:20 UTC 2023 - Richard Biener <rguenther@suse.com>
- Remove buildrequires on glibc-devel-32bit if disable_32bit is set - Update to GCC 12.3 release, 0c61aa720e62f1baf0bfd178e283, git1204
* includes regression bug fixes
-------------------------------------------------------------------
Wed Mar 29 14:27:43 UTC 2023 - Martin Liška <mliska@suse.cz>
- Speed up builds with --enable-link-serialization.
-------------------------------------------------------------------
Tue Jan 24 11:03:08 UTC 2023 - Richard Biener <rguenther@suse.com>
- Update to gcc-12 branch head, 193f7e62815b4089dfaed4c2bd3, git749
-------------------------------------------------------------------
Tue Dec 27 10:43:05 UTC 2022 - Ludwig Nussel <lnussel@suse.com>
- Don't rely on %usrmerged, set it based on standard %suse_version
-------------------------------------------------------------------
Thu Dec 22 11:45:17 UTC 2022 - Richard Biener <rguenther@suse.com>
- Update to gcc-12 branch head, e4b5fec75aa8d0d01f6e042ec28, git696
* remove gcc12-fifo-jobserver-support.patch which is now
included upstream
-------------------------------------------------------------------
Wed Nov 23 15:21:29 UTC 2022 - Dirk Müller <dmueller@suse.com>
- avoid trailing backslashes at the end of post install scripts
-------------------------------------------------------------------
Thu Oct 20 08:20:31 UTC 2022 - Richard Biener <rguenther@suse.com>
- Update to gcc-12 branch head, 0aaef83351473e8f4eb774f8f99, git537
-------------------------------------------------------------------
Thu Oct 13 09:59:52 UTC 2022 - Richard Biener <rguenther@suse.com>
- Update embedded newlib to version 4.2.0
* includes newlib-4.1.0-aligned_alloc.patch
-------------------------------------------------------------------
Mon Sep 26 11:06:06 UTC 2022 - Dirk Müller <dmueller@suse.com>
- add gcc12-riscv-inline-atomics.patch,
gcc12-riscv-pthread.patch: handle subword size inline atomics
(needed by several openSUSE packages)
-------------------------------------------------------------------
Wed Aug 31 12:38:20 UTC 2022 - Richard Biener <rguenther@suse.com>
- Prune invalid-license rpmlint warnings, the SLE12 codestream
doesn't get fixed but FF applies there, too. [bsc#1185337]
-------------------------------------------------------------------
Tue Aug 30 10:09:37 UTC 2022 - Richard Biener <rguenther@suse.com>
- Update to gcc-12 branch head, e927d1cf141f221c5a32574bde0, git416
* includes GCC 12.2 release
* includes recent fixes backported from trunk
-------------------------------------------------------------------
Mon Aug 29 07:48:00 UTC 2022 - Martin Liška <mliska@suse.cz>
- Add gcc12-fifo-jobserver-support.patch that adds support
for FIFO jobserver for make.
-------------------------------------------------------------------
Sun Aug 21 09:31:35 UTC 2022 - Matwey Kornilov <matwey.kornilov@gmail.com>
- Allow cross-pru-gcc12-bootstrap for armv7l architecture.
PRU architecture is used for real-time MCUs embedded into TI
armv7l and aarch64 SoCs. We need to have cross-pru-gcc12 for
armv7l in order to build both host applications and PRU firmware
during the same build.
-------------------------------------------------------------------
Fri Aug 12 11:06:04 UTC 2022 - Richard Biener <rguenther@suse.com>
- Update to gcc-12 branch head, 6b7d570a5001bb79e34c0d1626a, git372
* includes release candidate for GCC 12.2
-------------------------------------------------------------------
Mon Aug 8 18:31:18 UTC 2022 - Martin Liška <mliska@suse.cz>
- Remove workaround for obs-service-format_spec_file.
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jul 26 06:46:45 UTC 2022 - Richard Biener <rguenther@suse.com> Tue Jul 26 06:46:45 UTC 2022 - Richard Biener <rguenther@suse.com>

View File

@ -1,7 +1,7 @@
# #
# spec file for package gcc12 # spec file for package gcc12
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -16,7 +16,7 @@
# #
%if !0%{?usrmerged} %if 0%{?suse_version} < 1550
%define _slibdir /%{_lib} %define _slibdir /%{_lib}
%define slibdir /lib %define slibdir /lib
%define slibdir64 /lib64 %define slibdir64 /lib64
@ -24,6 +24,7 @@
%define _slibdir %{_libdir} %define _slibdir %{_libdir}
%define slibdir %{_prefix}/lib %define slibdir %{_prefix}/lib
%define slibdir64 %{_prefix}/lib64 %define slibdir64 %{_prefix}/lib64
%define usrmerged 1
%endif %endif
# Ada currently fails to build on a few platforms, enable it only # Ada currently fails to build on a few platforms, enable it only
@ -186,7 +187,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/ URL: https://gcc.gnu.org/
Version: 12.1.1+git287 Version: 12.3.0+git1204
Release: 0 Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@ -208,9 +209,7 @@ BuildRequires: texinfo
%endif %endif
# until here, but at least renaming and patching info files breaks this # until here, but at least renaming and patching info files breaks this
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%if 0%{!?disable_32bit:1}
BuildRequires: glibc-devel-32bit BuildRequires: glibc-devel-32bit
%endif
BuildRequires: mpc-devel BuildRequires: mpc-devel
BuildRequires: mpfr-devel BuildRequires: mpfr-devel
BuildRequires: perl BuildRequires: perl
@ -357,7 +356,7 @@ Source1: change_spec
Source2: gcc12-rpmlintrc Source2: gcc12-rpmlintrc
Source3: gcc12-testresults-rpmlintrc Source3: gcc12-testresults-rpmlintrc
Source4: README.First-for.SuSE.packagers Source4: README.First-for.SuSE.packagers
Source5: newlib-4.1.0.tar.xz Source5: newlib-4.2.0.20211231.tar.xz
Patch2: gcc-add-defaultsspec.diff Patch2: gcc-add-defaultsspec.diff
Patch5: tls-no-direct.diff Patch5: tls-no-direct.diff
Patch6: gcc43-no-unwind-tables.diff Patch6: gcc43-no-unwind-tables.diff
@ -369,13 +368,15 @@ Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
Patch18: gcc10-amdgcn-llvm-as.patch Patch18: gcc10-amdgcn-llvm-as.patch
Patch19: gcc11-gdwarf-4-default.patch Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
# taken from https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593378.html
Patch22: gcc12-riscv-inline-atomics.patch
# remove libatomics linking
Patch23: gcc12-riscv-pthread.patch
# A set of patches from the RH srpm # A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian # Some patches taken from Debian
Patch60: gcc44-textdomain.patch Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch Patch61: gcc44-rename-info-files.patch
# Patches for embedded newlib
Patch100: newlib-4.1.0-aligned_alloc.patch
License: GPL-3.0-or-later License: GPL-3.0-or-later
Summary: The GNU C Compiler and Support Files Summary: The GNU C Compiler and Support Files
@ -1018,11 +1019,9 @@ Summary: GNU Ada Runtime Libraries
License: GPL-3.0-or-later WITH GCC-exception-3.1 License: GPL-3.0-or-later WITH GCC-exception-3.1
Group: System/Libraries Group: System/Libraries
Provides: libgnarl-12 = %{version}-%{release} Provides: libgnarl-12 = %{version}-%{release}
# FIXME: remove %{after} service-format_spec_file is fixed Conflicts: %selfconflict libgnarl-12
# https://github.com/openSUSE/obs-service-format_spec_file/issues/46
Conflicts: %selfconflict libgnarl-12%{nil}
Provides: libgnat-12 = %{version}-%{release} Provides: libgnat-12 = %{version}-%{release}
Conflicts: %selfconflict libgnat-12%{nil} Conflicts: %selfconflict libgnat-12
%description -n libada12 %description -n libada12
This package contains the shared libraries required to run programs This package contains the shared libraries required to run programs
@ -1041,11 +1040,9 @@ Summary: GNU Ada Runtime Libraries
License: GPL-3.0-or-later WITH GCC-exception-3.1 License: GPL-3.0-or-later WITH GCC-exception-3.1
Group: System/Libraries Group: System/Libraries
Provides: libgnarl-12-32bit = %{version}-%{release} Provides: libgnarl-12-32bit = %{version}-%{release}
# FIXME: remove %{after} service-format_spec_file is fixed Conflicts: %selfconflict libgnarl-12-32bit
# https://github.com/openSUSE/obs-service-format_spec_file/issues/46
Conflicts: %selfconflict libgnarl-12-32bit%{nil}
Provides: libgnat-12-32bit = %{version}-%{release} Provides: libgnat-12-32bit = %{version}-%{release}
Conflicts: %selfconflict libgnat-12-32bit%{nil} Conflicts: %selfconflict libgnat-12-32bit
%description -n libada12-32bit %description -n libada12-32bit
This package contains the shared libraries required to run programs This package contains the shared libraries required to run programs
@ -1064,11 +1061,9 @@ Summary: GNU Ada Runtime Libraries
License: GPL-3.0-or-later WITH GCC-exception-3.1 License: GPL-3.0-or-later WITH GCC-exception-3.1
Group: System/Libraries Group: System/Libraries
Provides: libgnarl-12-64bit = %{version}-%{release} Provides: libgnarl-12-64bit = %{version}-%{release}
# FIXME: remove %{after} service-format_spec_file is fixed Conflicts: %selfconflict libgnarl-12-64bit
# https://github.com/openSUSE/obs-service-format_spec_file/issues/46
Conflicts: %selfconflict libgnarl-12-64bit%{nil}
Provides: libgnat-12-64bit = %{version}-%{release} Provides: libgnat-12-64bit = %{version}-%{release}
Conflicts: %selfconflict libgnat-12-64bit%{nil} Conflicts: %selfconflict libgnat-12-64bit
%description -n libada12-64bit %description -n libada12-64bit
This package contains the shared libraries required to run programs This package contains the shared libraries required to run programs
@ -2012,10 +2007,7 @@ Results from running the gcc and target library testsuites.
%prep %prep
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1} %if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
%setup -q -n gcc-%{version} -a 5 %setup -q -n gcc-%{version} -a 5
ln -s newlib-4.1.0/newlib . ln -s newlib-4.2.0.20211231/newlib .
cd newlib
%patch100 -p1
cd ..
%else %else
%setup -q -n gcc-%{version} %setup -q -n gcc-%{version}
%endif %endif
@ -2030,6 +2022,8 @@ cd ..
%patch15 %patch15
%patch16 %patch16
%patch17 -p1 %patch17 -p1
%patch22 -p1
%patch23 -p1
# These patches are needed only for llvm11 # These patches are needed only for llvm11
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550 %if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
%patch18 -p1 %patch18 -p1
@ -2398,11 +2392,8 @@ amdgcn-amdhsa,\
%endif %endif
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1} %if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
--with-build-config=bootstrap-lto-lean \ --with-build-config=bootstrap-lto-lean \
--enable-link-mutex \
%endif
%ifarch riscv64
--enable-link-mutex \
%endif %endif
--enable-link-serialization \
$CONFARGS \ $CONFARGS \
--build=%{GCCDIST} \ --build=%{GCCDIST} \
--host=%{GCCDIST} || \ --host=%{GCCDIST} || \

View File

@ -1,10 +0,0 @@
--- newlib/libc/stdlib/aligned_alloc.c.orig 2021-06-10 12:01:10.692582985 +0200
+++ newlib/libc/stdlib/aligned_alloc.c 2021-06-10 12:01:20.960708060 +0200
@@ -28,6 +28,7 @@
#include <reent.h>
#include <stdlib.h>
+#include <malloc.h>
void *
aligned_alloc (size_t align, size_t size)

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:181a90099c547a4816537e8b7da25e477370cb99438f8fe7163d077e83e90186
size 5710104

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a7b82049dd8fec877427a55a38bfb70cc1c0f7d845e458f31ff5c99ec82763c9
size 5709228