diff --git a/.gitignore b/.gitignore index f6d84bc..f1cdc38 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /gcc-7.3.0.tar.xz /gcc-7.4.0.tar.xz /gcc-9.2.0.tar.xz +/gcc-10.2.0.tar.xz diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 88fb1e9..73a7100 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -1,7 +1,7 @@ %global processor_arch arm %global target %{processor_arch}-none-eabi -%global gcc_ver 9.2.0 -%global gcc_short_ver 9.2 +%global gcc_ver 10.2.0 +%global gcc_short_ver 10.2 # we need newlib to compile complete gcc, but we need gcc to compile newlib, # so compile minimal gcc first @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: %{gcc_ver} -Release: 4%{?dist} +Release: 2%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -31,7 +31,9 @@ Source0: gcc-%{gcc_ver}.tar.xz Source1: README.fedora Source2: bootstrapexplain Patch0: gcc10.patch +Patch1: gcc-config.patch +BuildRequires: autoconf BuildRequires: gcc-c++ BuildRequires: %{target}-binutils >= 2.21, zlib-devel gmp-devel mpfr-devel libmpc-devel flex autogen %if ! %{bootstrap} @@ -57,7 +59,16 @@ compile c++ code for the %{target} platform, instead of for the native %prep %setup -q -c -%patch0 -p1 +pushd gcc-%{gcc_ver} +#%patch0 -p2 -b .gcc10fix +%patch1 -p2 -b .gccconfig +popd +pushd gcc-%{gcc_ver}/libiberty +autoconf -f +popd +pushd gcc-%{gcc_ver}/intl +autoconf -f +popd pushd gcc-%{gcc_ver} contrib/gcc_update --touch @@ -86,6 +97,11 @@ sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ %build +# This package's testsuite fails on s390 when LTO is enabled. Disable +# LTO for now on s390x until the root cause is identified +%ifarch s390x +%define _lto_cflags %{nil} +%endif mkdir -p gcc-%{target} gcc-nano-%{target} #### normal version @@ -282,6 +298,26 @@ popd %endif %changelog +* Wed Nov 04 2020 Michal Hlavinka - 1:10.2.0-2 +- regular build for 10.2.0 + +* Wed Nov 04 2020 Michal Hlavinka - 1:10.2.0-1 +- bootstrap build for gcc 10.2.0 + +* Mon Aug 10 2020 Jeff Law - 1:9.2.0-8 +- Disable LTO on s390x for now + +* Sat Aug 01 2020 Fedora Release Engineering - 1:9.2.0-7 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 1:9.2.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 20 2020 Jeff Law - 1:9.2.0-5 +- Fix broken configured tests compromised by LTO +- Add autoconf to BuildRequires + * Tue Jan 28 2020 Fedora Release Engineering - 1:9.2.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/gcc-config.patch b/gcc-config.patch new file mode 100644 index 0000000..b7ec9ed --- /dev/null +++ b/gcc-config.patch @@ -0,0 +1,44 @@ +diff -Nrup a/gcc-9.2.0/libiberty/aclocal.m4 b/libiberty/aclocal.m4 +--- a/gcc-9.2.0/libiberty/aclocal.m4 2019-01-19 09:01:34.000000000 -0700 ++++ b/gcc-9.2.0/libiberty/aclocal.m4 2020-01-09 22:00:27.183312982 -0700 +@@ -147,7 +147,7 @@ if test $ac_cv_os_cray = yes; then + fi + + AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction, +-[AC_TRY_RUN([find_stack_direction () ++[AC_TRY_RUN([__attribute__ ((noclone,noinline)) find_stack_direction () + { + static char *addr = 0; + auto char dummy; +diff --git a/config/intdiv0.m4 b/gcc-9.2.0/config/intdiv0.m4 +index 55dddcf1..ba906efc 100644 +--- a/gcc-9.2.0/config/intdiv0.m4 ++++ b/gcc-9.2.0/config/intdiv0.m4 +@@ -31,10 +31,10 @@ sigfpe_handler (sig) int sig; + exit (sig != SIGFPE); + } + +-int x = 1; +-int y = 0; +-int z; +-int nan; ++volatile int x = 1; ++volatile int y = 0; ++volatile int z; ++volatile int nan; + + int main () + { +diff --git a/gcc-9.2.0/libiberty/configure.ac b/gcc-9.2.0/libiberty/configure.ac +index f1ce7601..fc20d228 100644 +--- a/gcc-9.2.0/libiberty/configure.ac ++++ b/gcc-9.2.0/libiberty/configure.ac +@@ -661,7 +661,7 @@ if test -z "${setobjs}"; then + for v in $vars; do + AC_MSG_CHECKING([for $v]) + AC_CACHE_VAL(libiberty_cv_var_$v, +- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[int *p;]],[[extern int $v []; p = $v;]])], ++ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[__attribute__ ((used)) int *p;]],[[extern int $v []; p = $v;]])], + [eval "libiberty_cv_var_$v=yes"], + [eval "libiberty_cv_var_$v=no"])]) + if eval "test \"`echo '$libiberty_cv_var_'$v`\" = yes"; then diff --git a/sources b/sources index 9ccf65e..8265983 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gcc-9.2.0.tar.xz) = a12dff52af876aee0fd89a8d09cdc455f35ec46845e154023202392adc164848faf8ee881b59b681b696e27c69fd143a214014db4214db62f9891a1c8365c040 +SHA512 (gcc-10.2.0.tar.xz) = 42ae38928bd2e8183af445da34220964eb690b675b1892bbeb7cd5bb62be499011ec9a93397dba5e2fb681afadfc6f2767d03b9035b44ba9be807187ae6dc65e