diff --git a/.gitignore b/.gitignore index e92566b..dd1b09d 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,9 @@ /gcc-11.3.0.tar.xz /gcc-12.1.0.tar.xz /gcc-12.2.0.tar.xz +/gcc-12.3.0.tar.xz +/gcc-13.1.0.tar.xz +/gcc-13.2.0.tar.xz +/gcc-14.1.0.tar.xz +/gcc-15.1.0.tar.xz +/gcc-15.2.0.tar.xz diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index eda3549..c4a329a 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 12.2.0 -%global gcc_short_ver 12.2 +%global gcc_ver %{version} +%global gcc_short_ver 15.1 # we need newlib to compile complete gcc, but we need gcc to compile newlib, # so compile minimal gcc first @@ -9,31 +9,16 @@ Name: %{target}-gcc-cs Epoch: 1 -Version: 12.2.0 -Release: 1%{?dist} +Version: 15.2.0 +Release: 2%{?dist} Summary: GNU GCC for cross-compilation for %{target} target - -# Most of the sources are licensed under GPLv3+ with these exceptions: -# LGPLv2+ libquadmath/ libjava/libltdl/ gcc/testsuite/objc.dg/gnu-encoding/generate-random -# libgcc/soft-fp/ libffi/msvcc.sh -# LGPLv3+ gcc/prefix.c -# BSD libgo/go/regexp/testdata/testregex.cz zlib/example.c libffi/ -# libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java -# GPLv2+ libitm/testsuite/libitm.c/memset-1.c libjava/ -# Public Domain libjava/classpath/external/sax/org/xml/sax/ext/EntityResolver2.java -# libjava/classpath/external/sax/org/xml/sax/ext/DeclHandler.java -# BSL zlib/contrib/dotzlib/DotZLib/GZipStream.cs -License: GPLv2+ and GPLv3+ and LGPLv2+ and BSD +License: GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.0-or-later AND MIT AND BSD-2-Clause URL: https://gcc.gnu.org/ - Source0: http://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.xz Source1: README.fedora Source2: bootstrapexplain -Patch1: gcc12-hack.patch -Patch2: gcc12-Wno-format-security.patch - #BuildRequires: autoconf = 2.69 BuildRequires: gcc-c++ BuildRequires: %{target}-binutils >= 2.21, zlib-devel gmp-devel mpfr-devel libmpc-devel flex autogen @@ -44,6 +29,12 @@ BuildRequires: make Requires: %{target}-binutils >= 2.21 Provides: %{target}-gcc = %{gcc_ver} +%if 0%{?fedora} > 39 +# as per https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +# ppl-devel is no longer available for 32bit, so we have to skip it too +ExcludeArch: %{ix86} +%endif + %description This is a Cross Compiling version of GNU GCC, which can be used to compile for the %{target} platform, instead of for the @@ -61,16 +52,9 @@ compile c++ code for the %{target} platform, instead of for the native %prep %setup -q -c -pushd gcc-%{gcc_ver} -%patch1 -p0 -b .hack -%patch2 -p0 -b .wnosecerr -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 @@ -303,6 +287,72 @@ popd %endif %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 1:15.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Thu Sep 18 2025 Michal Hlavinka - 1:15.2.0-1 +- updated to 15.2.0 + +* Wed Jul 23 2025 Fedora Release Engineering - 1:15.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Wed May 21 2025 Michal Hlavinka - 1:15.1.0-2 +- rebuild with refreshed newlib library + +* Mon May 19 2025 Michal Hlavinka - 1:15.1.0-1 +- updated to 15.1.0 + +* Tue Apr 15 2025 Michal Hlavinka - 1:14.1.0-4 +- rebuild for new arm-none-eabi-newlib + +* Thu Jan 16 2025 Fedora Release Engineering - 1:14.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jul 17 2024 Fedora Release Engineering - 1:14.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed May 22 2024 Michal Hlavinka - 1:14.1.0-1 +- full build of gcc 14.1 + +* Wed May 22 2024 Michal Hlavinka - 1:14.1.0-0 +- updated to 14.1.0, bootstrap build, do not use + +* Tue Mar 19 2024 Michal Hlavinka - 1:13.2.0-5 +- drop i686 build as not all i686 requirements are available anymore + +* Tue Mar 19 2024 Michal Hlavinka - 1:13.2.0-4 +- rebuild with updated newlib + +* Mon Jan 22 2024 Fedora Release Engineering - 1:13.2.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 1:13.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Aug 29 2023 Michal Hlavinka - 1:13.2.0-1 +- updated to 13.2.0 + +* Wed Jul 19 2023 Fedora Release Engineering - 1:13.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jul 12 2023 Michal Hlavinka - 1:13.1.0-1 +- updated to 13.1.0 + +* Wed May 24 2023 Michal Hlavinka - 1:12.3.0-1 +- updated to 12.3.0 + +* Wed May 10 2023 Michal Hlavinka - 1:12.2.0-5 +- update license tag format (SPDX migration) for https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 + +* Wed Apr 12 2023 Michal Hlavinka - 1:12.2.0-4 +- rebuild for updated newlib package + +* Thu Jan 19 2023 Florian Weimer - 1:12.2.0-3 +- Backport upstream patches for improved C99 compatibility + +* Wed Jan 18 2023 Fedora Release Engineering - 1:12.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Tue Aug 23 2022 Michal Hlavinka - 1:12.2.0-1 - updated to 12.2.0 diff --git a/gcc12-Wno-format-security.patch b/gcc12-Wno-format-security.patch deleted file mode 100644 index 43e482a..0000000 --- a/gcc12-Wno-format-security.patch +++ /dev/null @@ -1,58 +0,0 @@ -2022-01-07 Jakub Jelinek - - * Makefile.tpl (GOCFLAGS, GDCFLAGS): Filter out -Wformat-security. - * Makefile.in: Regenerated. - -2017-02-25 Jakub Jelinek - - * configure.ac: When adding -Wno-format, also add -Wno-format-security. - * configure: Regenerated. - ---- gcc/configure.ac.jj 2017-02-13 12:20:53.000000000 +0100 -+++ gcc/configure.ac 2017-02-25 12:42:32.859175403 +0100 -@@ -570,7 +570,7 @@ AC_ARG_ENABLE(build-format-warnings, - AS_HELP_STRING([--disable-build-format-warnings],[don't use -Wformat while building GCC]), - [],[enable_build_format_warnings=yes]) - AS_IF([test $enable_build_format_warnings = no], -- [wf_opt=-Wno-format],[wf_opt=]) -+ [wf_opt="-Wno-format -Wno-format-security"],[wf_opt=]) - ACX_PROG_CXX_WARNING_OPTS( - m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings ], - [-Wcast-qual $wf_opt])), ---- gcc/configure.jj 2017-02-13 12:20:52.000000000 +0100 -+++ gcc/configure 2017-02-25 12:42:50.041946391 +0100 -@@ -7077,7 +7077,7 @@ else - fi - - if test $enable_build_format_warnings = no; then : -- wf_opt=-Wno-format -+ wf_opt="-Wno-format -Wno-format-security" - else - wf_opt= - fi ---- Makefile.tpl.jj 2021-12-30 15:12:42.188164847 +0100 -+++ Makefile.tpl 2022-01-07 12:06:12.115550714 +0100 -@@ -447,8 +447,8 @@ LDFLAGS = @LDFLAGS@ - LIBCFLAGS = $(CFLAGS) - CXXFLAGS = @CXXFLAGS@ - LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates --GOCFLAGS = $(CFLAGS) --GDCFLAGS = $(CFLAGS) -+GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) -+GDCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) - - # Pass additional PGO and LTO compiler options to the PGO build. - BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS) ---- Makefile.in.jj 2021-12-30 15:12:42.188164847 +0100 -+++ Makefile.in 2022-01-07 12:06:27.335334561 +0100 -@@ -444,8 +444,8 @@ LDFLAGS = @LDFLAGS@ - LIBCFLAGS = $(CFLAGS) - CXXFLAGS = @CXXFLAGS@ - LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates --GOCFLAGS = $(CFLAGS) --GDCFLAGS = $(CFLAGS) -+GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) -+GDCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) - - # Pass additional PGO and LTO compiler options to the PGO build. - BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS) diff --git a/gcc12-hack.patch b/gcc12-hack.patch deleted file mode 100644 index e98649e..0000000 --- a/gcc12-hack.patch +++ /dev/null @@ -1,126 +0,0 @@ ---- libada/Makefile.in.jj 2019-01-09 13:01:18.015608205 +0100 -+++ libada/Makefile.in 2019-01-11 18:16:23.441726931 +0100 -@@ -71,18 +71,40 @@ version := $(shell @get_gcc_base_ver@ $( - libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR) - ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR)) - -+DEFAULTMULTIFLAGS := -+ifeq ($(MULTISUBDIR),) -+targ:=$(subst -, ,$(target)) -+arch:=$(word 1,$(targ)) -+ifeq ($(words $(targ)),2) -+osys:=$(word 2,$(targ)) -+else -+osys:=$(word 3,$(targ)) -+endif -+ifeq ($(strip $(filter-out i%86 x86_64 powerpc% ppc% s390% sparc% linux%, $(arch) $(osys))),) -+ifeq ($(shell $(CC) $(CFLAGS) -print-multi-os-directory),../lib64) -+DEFAULTMULTIFLAGS := -m64 -+else -+ifeq ($(strip $(filter-out s390%, $(arch))),) -+DEFAULTMULTIFLAGS := -m31 -+else -+DEFAULTMULTIFLAGS := -m32 -+endif -+endif -+endif -+endif -+ - # exeext should not be used because it's the *host* exeext. We're building - # a *target* library, aren't we?!? Likewise for CC. Still, provide bogus - # definitions just in case something slips through the safety net provided - # by recursive make invocations in gcc/ada/Makefile.in - LIBADA_FLAGS_TO_PASS = \ - "MAKEOVERRIDES=" \ -- "LDFLAGS=$(LDFLAGS)" \ -+ "LDFLAGS=$(LDFLAGS) $(DEFAULTMULTIFLAGS)" \ - "LN_S=$(LN_S)" \ - "SHELL=$(SHELL)" \ -- "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \ -- "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \ -- "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \ -+ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \ -+ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \ -+ "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \ - "PICFLAG_FOR_TARGET=$(PICFLAG)" \ - "THREAD_KIND=$(THREAD_KIND)" \ - "TRACE=$(TRACE)" \ -@@ -93,7 +115,7 @@ LIBADA_FLAGS_TO_PASS = \ - "exeext=.exeext.should.not.be.used " \ - 'CC=the.host.compiler.should.not.be.needed' \ - "GCC_FOR_TARGET=$(CC)" \ -- "CFLAGS=$(CFLAGS)" -+ "CFLAGS=$(CFLAGS) $(DEFAULTMULTIFLAGS)" - - .PHONY: libada gnatlib gnatlib-shared gnatlib-sjlj gnatlib-zcx osconstool - ---- config-ml.in.jj 2019-01-09 12:50:16.646501448 +0100 -+++ config-ml.in 2019-01-11 18:16:23.442726914 +0100 -@@ -511,6 +511,8 @@ multi-do: - ADAFLAGS="$(ADAFLAGS) $${flags}" \ - prefix="$(prefix)" \ - exec_prefix="$(exec_prefix)" \ -+ mandir="$(mandir)" \ -+ infodir="$(infodir)" \ - GOCFLAGS="$(GOCFLAGS) $${flags}" \ - GDCFLAGS="$(GDCFLAGS) $${flags}" \ - CXXFLAGS="$(CXXFLAGS) $${flags}" \ ---- libcpp/macro.cc.jj 2019-01-09 13:01:21.420552123 +0100 -+++ libcpp/macro.cc 2019-01-11 18:18:17.736876285 +0100 -@@ -3256,8 +3256,6 @@ static cpp_macro * - create_iso_definition (cpp_reader *pfile) - { - bool following_paste_op = false; -- const char *paste_op_error_msg = -- N_("'##' cannot appear at either end of a macro expansion"); - unsigned int num_extra_tokens = 0; - unsigned nparms = 0; - cpp_hashnode **params = NULL; -@@ -3382,7 +3380,9 @@ create_iso_definition (cpp_reader *pfile - function-like macros, but not at the end. */ - if (following_paste_op) - { -- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg); -+ cpp_error (pfile, CPP_DL_ERROR, -+ "'##' cannot appear at either end of a macro " -+ "expansion"); - goto out; - } - if (!vaopt_tracker.completed ()) -@@ -3397,7 +3397,9 @@ create_iso_definition (cpp_reader *pfile - function-like macros, but not at the beginning. */ - if (macro->count == 1) - { -- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg); -+ cpp_error (pfile, CPP_DL_ERROR, -+ "'##' cannot appear at either end of a macro " -+ "expansion"); - goto out; - } - ---- libcpp/expr.cc.jj 2019-01-09 13:01:22.415535734 +0100 -+++ libcpp/expr.cc 2019-01-11 18:16:23.444726882 +0100 -@@ -803,16 +803,17 @@ cpp_classify_number (cpp_reader *pfile, - if ((result & CPP_N_WIDTH) == CPP_N_LARGE - && CPP_OPTION (pfile, cpp_warn_long_long)) - { -- const char *message = CPP_OPTION (pfile, cplusplus) -- ? N_("use of C++11 long long integer constant") -- : N_("use of C99 long long integer constant"); -- - if (CPP_OPTION (pfile, c99)) - cpp_warning_with_line (pfile, CPP_W_LONG_LONG, virtual_location, -- 0, message); -+ 0, CPP_OPTION (pfile, cplusplus) -+ ? N_("use of C++11 long long integer constant") -+ : N_("use of C99 long long integer constant")); - else - cpp_pedwarning_with_line (pfile, CPP_W_LONG_LONG, -- virtual_location, 0, message); -+ virtual_location, 0, -+ CPP_OPTION (pfile, cplusplus) -+ ? N_("use of C++11 long long integer constant") -+ : N_("use of C99 long long integer constant")); - } - - if ((result & CPP_N_SIZE_T) == CPP_N_SIZE_T diff --git a/sources b/sources index 9a340e4..d34669e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gcc-12.2.0.tar.xz) = e9e857bd81bf7a370307d6848c81b2f5403db8c7b5207f54bce3f3faac3bde63445684092c2bc1a2427cddb6f7746496d9fbbef05fbbd77f2810b2998f1f9173 +SHA512 (gcc-15.2.0.tar.xz) = 89047a2e07bd9da265b507b516ed3635adb17491c7f4f67cf090f0bd5b3fc7f2ee6e4cc4008beef7ca884b6b71dffe2bb652b21f01a702e17b468cca2d10b2de