From eacfd6cbf924e195d6c065cbad89dfff0e298ae1 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Mon, 20 Jul 2020 23:33:07 -0600 Subject: [PATCH 01/50] Fix broken configure tests compromised by LTO --- arm-none-eabi-gcc-cs.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 88fb1e9..6b6cfd0 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: %{gcc_ver} -Release: 4%{?dist} +Release: 5%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -31,6 +31,7 @@ Source0: gcc-%{gcc_ver}.tar.xz Source1: README.fedora Source2: bootstrapexplain Patch0: gcc10.patch +Patch1: gcc-config.patch BuildRequires: gcc-c++ BuildRequires: %{target}-binutils >= 2.21, zlib-devel gmp-devel mpfr-devel libmpc-devel flex autogen @@ -58,6 +59,13 @@ compile c++ code for the %{target} platform, instead of for the native %prep %setup -q -c %patch0 -p1 +%patch1 -p1 +pushd gcc-9.2.0/libiberty +autoconf -f +popd +pushd gcc-9.2.0/intl +autoconf -f +popd pushd gcc-%{gcc_ver} contrib/gcc_update --touch @@ -282,6 +290,9 @@ popd %endif %changelog +* Mon Jul 20 2020 Jeff Law - 1:9.2.0-5 +- Fix broken configured tests compromised by LTO + * Tue Jan 28 2020 Fedora Release Engineering - 1:9.2.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From b3f684ecc2aa7b9b7104d5db4bac83a024a6c221 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Mon, 20 Jul 2020 23:44:25 -0600 Subject: [PATCH 02/50] Add missing .patch file --- gcc-config.patch | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 gcc-config.patch 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 From 5ba50cd8baa58767dae64114a3ae037cbe62b0bc Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Mon, 20 Jul 2020 23:50:45 -0600 Subject: [PATCH 03/50] Add autoconf to BuildRequires --- arm-none-eabi-gcc-cs.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 6b6cfd0..fd0c980 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -33,6 +33,7 @@ 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} @@ -292,6 +293,7 @@ popd %changelog * 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 From fa452d96fe1e6cbdeb6152b5474f11753d02f983 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 12:23:10 +0000 Subject: [PATCH 04/50] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index fd0c980..4b9f0d8 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: %{gcc_ver} -Release: 5%{?dist} +Release: 6%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -291,6 +291,9 @@ popd %endif %changelog +* 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 From d238fce3c89c5933965b66c2b8ed36f3105f0fdb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 1 Aug 2020 00:03:24 +0000 Subject: [PATCH 05/50] - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- arm-none-eabi-gcc-cs.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 4b9f0d8..a6df043 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: %{gcc_ver} -Release: 6%{?dist} +Release: 7%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -291,6 +291,10 @@ popd %endif %changelog +* 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 From e44cd47f58da53720574f0455f60a1dc5ecbd7ae Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Mon, 10 Aug 2020 22:12:40 -0600 Subject: [PATCH 06/50] Disable LTO on s390x for now --- arm-none-eabi-gcc-cs.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index a6df043..8b229af 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: %{gcc_ver} -Release: 7%{?dist} +Release: 8%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -95,6 +95,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 @@ -291,6 +296,9 @@ popd %endif %changelog +* 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 From 196d385c47057984db19349986a2fba0048c1091 Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Wed, 4 Nov 2020 12:41:42 +0100 Subject: [PATCH 07/50] bootstrap build for gcc 10.2.0 --- .gitignore | 1 + arm-none-eabi-gcc-cs.spec | 21 +++++++++++++-------- sources | 2 +- 3 files changed, 15 insertions(+), 9 deletions(-) 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 8b229af..ffbf3de 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -1,16 +1,16 @@ %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 -%global bootstrap 0 +%global bootstrap 1 Name: %{target}-gcc-cs Epoch: 1 Version: %{gcc_ver} -Release: 8%{?dist} +Release: 1%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -59,12 +59,14 @@ compile c++ code for the %{target} platform, instead of for the native %prep %setup -q -c -%patch0 -p1 -%patch1 -p1 -pushd gcc-9.2.0/libiberty +pushd gcc-%{gcc_ver} +#%patch0 -p2 -b .gcc10fix +%patch1 -p2 -b .gccconfig +popd +pushd gcc-%{gcc_ver}/libiberty autoconf -f popd -pushd gcc-9.2.0/intl +pushd gcc-%{gcc_ver}/intl autoconf -f popd pushd gcc-%{gcc_ver} @@ -296,6 +298,9 @@ popd %endif %changelog +* 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 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 From cd0502bb718422a278a50a53b7c5e33431bb6a6f Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Wed, 4 Nov 2020 20:42:08 +0100 Subject: [PATCH 08/50] regular build for 10.2.0 --- arm-none-eabi-gcc-cs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index ffbf3de..73a7100 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -5,12 +5,12 @@ # we need newlib to compile complete gcc, but we need gcc to compile newlib, # so compile minimal gcc first -%global bootstrap 1 +%global bootstrap 0 Name: %{target}-gcc-cs Epoch: 1 Version: %{gcc_ver} -Release: 1%{?dist} +Release: 2%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -298,6 +298,9 @@ 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 From c59d9bfb7eb9158c37c92af47d2af78ce83822df Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Wed, 16 Dec 2020 23:37:14 +0000 Subject: [PATCH 09/50] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- arm-none-eabi-gcc-cs.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 73a7100..fc6dfee 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -38,6 +38,7 @@ BuildRequires: gcc-c++ BuildRequires: %{target}-binutils >= 2.21, zlib-devel gmp-devel mpfr-devel libmpc-devel flex autogen %if ! %{bootstrap} BuildRequires: %{target}-newlib +BuildRequires: make %endif Requires: %{target}-binutils >= 2.21 Provides: %{target}-gcc = %{gcc_ver} From 7507348fbdc75514c2c2ecca6c158cb5e9a0d4f3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 00:25:46 +0000 Subject: [PATCH 10/50] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index fc6dfee..a4e5fbd 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: %{gcc_ver} -Release: 2%{?dist} +Release: 3%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -299,6 +299,9 @@ popd %endif %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 1:10.2.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Wed Nov 04 2020 Michal Hlavinka - 1:10.2.0-2 - regular build for 10.2.0 From be73f9bbfbca73c25a4c1d9dfabfbbf20ae16106 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Wed, 24 Feb 2021 15:40:30 -0700 Subject: [PATCH 11/50] - Packport fix for libbacktrace's handling of dwarf-5 --- arm-none-eabi-gcc-cs.spec | 7 +- gcc11.patch | 172 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 178 insertions(+), 1 deletion(-) create mode 100644 gcc11.patch diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index a4e5fbd..c98bbe1 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: %{gcc_ver} -Release: 3%{?dist} +Release: 4%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -32,6 +32,7 @@ Source1: README.fedora Source2: bootstrapexplain Patch0: gcc10.patch Patch1: gcc-config.patch +Patch2: gcc11.patch BuildRequires: autoconf BuildRequires: gcc-c++ @@ -63,6 +64,7 @@ compile c++ code for the %{target} platform, instead of for the native pushd gcc-%{gcc_ver} #%patch0 -p2 -b .gcc10fix %patch1 -p2 -b .gccconfig +%patch2 -p1 -b .gcc11fix popd pushd gcc-%{gcc_ver}/libiberty autoconf -f @@ -299,6 +301,9 @@ popd %endif %changelog +* Wed Feb 24 2021 Jeff Law - 1:10.2.0-4 +- Packport fix for libbacktrace's handling of dwarf-5 + * Tue Jan 26 2021 Fedora Release Engineering - 1:10.2.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/gcc11.patch b/gcc11.patch new file mode 100644 index 0000000..aaf7f0a --- /dev/null +++ b/gcc11.patch @@ -0,0 +1,172 @@ +commit 325e70b47c6c321710c7b9c792b8fbee95cecd63 +Author: Ian Lance Taylor +Date: Mon Jan 18 14:38:10 2021 -0800 + + libbacktrace: use correct directory/filename for DWARF 5 + + PR debug/98716 + * dwarf.c (read_v2_paths): Allocate zero entry for dirs and + filenames. + (read_line_program): Remove parameter u, change caller. Don't + subtract one from dirs and filenames index. + (read_function_entry): Don't subtract one from filenames index. + +diff --git a/libbacktrace/dwarf.c b/libbacktrace/dwarf.c +index 3d0cbedf770..9097df6cc76 100644 +--- a/libbacktrace/dwarf.c ++++ b/libbacktrace/dwarf.c +@@ -2344,19 +2344,20 @@ read_v2_paths (struct backtrace_state *state, struct unit *u, + ++hdr->dirs_count; + } + +- hdr->dirs = NULL; +- if (hdr->dirs_count != 0) +- { +- hdr->dirs = ((const char **) +- backtrace_alloc (state, +- hdr->dirs_count * sizeof (const char *), +- hdr_buf->error_callback, +- hdr_buf->data)); +- if (hdr->dirs == NULL) +- return 0; +- } ++ /* The index of the first entry in the list of directories is 1. Index 0 is ++ used for the current directory of the compilation. To simplify index ++ handling, we set entry 0 to the compilation unit directory. */ ++ ++hdr->dirs_count; ++ hdr->dirs = ((const char **) ++ backtrace_alloc (state, ++ hdr->dirs_count * sizeof (const char *), ++ hdr_buf->error_callback, ++ hdr_buf->data)); ++ if (hdr->dirs == NULL) ++ return 0; + +- i = 0; ++ hdr->dirs[0] = u->comp_dir; ++ i = 1; + while (*hdr_buf->buf != '\0') + { + if (hdr_buf->reported_underflow) +@@ -2383,6 +2384,10 @@ read_v2_paths (struct backtrace_state *state, struct unit *u, + ++hdr->filenames_count; + } + ++ /* The index of the first entry in the list of file names is 1. Index 0 is ++ used for the DW_AT_name of the compilation unit. To simplify index ++ handling, we set entry 0 to the compilation unit file name. */ ++ ++hdr->filenames_count; + hdr->filenames = ((const char **) + backtrace_alloc (state, + hdr->filenames_count * sizeof (char *), +@@ -2390,7 +2395,8 @@ read_v2_paths (struct backtrace_state *state, struct unit *u, + hdr_buf->data)); + if (hdr->filenames == NULL) + return 0; +- i = 0; ++ hdr->filenames[0] = u->filename; ++ i = 1; + while (*hdr_buf->buf != '\0') + { + const char *filename; +@@ -2404,7 +2410,7 @@ read_v2_paths (struct backtrace_state *state, struct unit *u, + return 0; + dir_index = read_uleb128 (hdr_buf); + if (IS_ABSOLUTE_PATH (filename) +- || (dir_index == 0 && u->comp_dir == NULL)) ++ || (dir_index < hdr->dirs_count && hdr->dirs[dir_index] == NULL)) + hdr->filenames[i] = filename; + else + { +@@ -2413,10 +2419,8 @@ read_v2_paths (struct backtrace_state *state, struct unit *u, + size_t filename_len; + char *s; + +- if (dir_index == 0) +- dir = u->comp_dir; +- else if (dir_index - 1 < hdr->dirs_count) +- dir = hdr->dirs[dir_index - 1]; ++ if (dir_index < hdr->dirs_count) ++ dir = hdr->dirs[dir_index]; + else + { + dwarf_buf_error (hdr_buf, +@@ -2704,8 +2708,8 @@ read_line_header (struct backtrace_state *state, struct dwarf_data *ddata, + + static int + read_line_program (struct backtrace_state *state, struct dwarf_data *ddata, +- struct unit *u, const struct line_header *hdr, +- struct dwarf_buf *line_buf, struct line_vector *vec) ++ const struct line_header *hdr, struct dwarf_buf *line_buf, ++ struct line_vector *vec) + { + uint64_t address; + unsigned int op_index; +@@ -2715,8 +2719,8 @@ read_line_program (struct backtrace_state *state, struct dwarf_data *ddata, + + address = 0; + op_index = 0; +- if (hdr->filenames_count > 0) +- reset_filename = hdr->filenames[0]; ++ if (hdr->filenames_count > 1) ++ reset_filename = hdr->filenames[1]; + else + reset_filename = ""; + filename = reset_filename; +@@ -2781,10 +2785,8 @@ read_line_program (struct backtrace_state *state, struct dwarf_data *ddata, + size_t f_len; + char *p; + +- if (dir_index == 0 && hdr->version < 5) +- dir = u->comp_dir; +- else if (dir_index - 1 < hdr->dirs_count) +- dir = hdr->dirs[dir_index - 1]; ++ if (dir_index < hdr->dirs_count) ++ dir = hdr->dirs[dir_index]; + else + { + dwarf_buf_error (line_buf, +@@ -2851,14 +2853,14 @@ read_line_program (struct backtrace_state *state, struct dwarf_data *ddata, + filename = ""; + else + { +- if (fileno - 1 >= hdr->filenames_count) ++ if (fileno >= hdr->filenames_count) + { + dwarf_buf_error (line_buf, + ("invalid file number in " + "line number program")); + return 0; + } +- filename = hdr->filenames[fileno - 1]; ++ filename = hdr->filenames[fileno]; + } + } + break; +@@ -2948,7 +2950,7 @@ read_line_info (struct backtrace_state *state, struct dwarf_data *ddata, + if (!read_line_header (state, ddata, u, is_dwarf64, &line_buf, hdr)) + goto fail; + +- if (!read_line_program (state, ddata, u, hdr, &line_buf, &vec)) ++ if (!read_line_program (state, ddata, hdr, &line_buf, &vec)) + goto fail; + + if (line_buf.reported_underflow) +@@ -3289,7 +3291,7 @@ read_function_entry (struct backtrace_state *state, struct dwarf_data *ddata, + function->caller_filename = ""; + else + { +- if (val.u.uint - 1 >= lhdr->filenames_count) ++ if (val.u.uint >= lhdr->filenames_count) + { + dwarf_buf_error (unit_buf, + ("invalid file number in " +@@ -3297,7 +3299,7 @@ read_function_entry (struct backtrace_state *state, struct dwarf_data *ddata, + return 0; + } + function->caller_filename = +- lhdr->filenames[val.u.uint - 1]; ++ lhdr->filenames[val.u.uint]; + } + } + break; From 916153573a28b4f0803588046c7bd5be2d87401a Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Sun, 11 Apr 2021 15:22:27 +0200 Subject: [PATCH 12/50] add explicit requirement for autoconf 2.69 --- arm-none-eabi-gcc-cs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index c98bbe1..2ebd289 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: %{gcc_ver} -Release: 4%{?dist} +Release: 5%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -34,7 +34,7 @@ Patch0: gcc10.patch Patch1: gcc-config.patch Patch2: gcc11.patch -BuildRequires: autoconf +BuildRequires: autoconf = 2.69 BuildRequires: gcc-c++ BuildRequires: %{target}-binutils >= 2.21, zlib-devel gmp-devel mpfr-devel libmpc-devel flex autogen %if ! %{bootstrap} @@ -301,6 +301,9 @@ popd %endif %changelog +* Sun Apr 11 2021 Michal Hlavinka - 1:10.2.0-5 +- add explicit requirement for autoconf 2.69 + * Wed Feb 24 2021 Jeff Law - 1:10.2.0-4 - Packport fix for libbacktrace's handling of dwarf-5 From 1dc8e1460ce23c934657742ea11a3ade55a2ac60 Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Tue, 4 May 2021 18:57:03 +0200 Subject: [PATCH 13/50] bootstrap build for 11.1.0 --- .gitignore | 1 + arm-none-eabi-gcc-cs.spec | 15 ++-- gcc-config.patch | 6 +- gcc10.patch | 14 ---- gcc11.patch | 172 -------------------------------------- sources | 2 +- 6 files changed, 12 insertions(+), 198 deletions(-) delete mode 100644 gcc10.patch delete mode 100644 gcc11.patch diff --git a/.gitignore b/.gitignore index f1cdc38..80322f3 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /gcc-7.4.0.tar.xz /gcc-9.2.0.tar.xz /gcc-10.2.0.tar.xz +/gcc-11.1.0.tar.xz diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index c98bbe1..7d9d169 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -1,16 +1,16 @@ %global processor_arch arm %global target %{processor_arch}-none-eabi -%global gcc_ver 10.2.0 -%global gcc_short_ver 10.2 +%global gcc_ver 11.1.0 +%global gcc_short_ver 11.1 # we need newlib to compile complete gcc, but we need gcc to compile newlib, # so compile minimal gcc first -%global bootstrap 0 +%global bootstrap 1 Name: %{target}-gcc-cs Epoch: 1 Version: %{gcc_ver} -Release: 4%{?dist} +Release: 0%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -30,9 +30,7 @@ Source0: gcc-%{gcc_ver}.tar.xz Source1: README.fedora Source2: bootstrapexplain -Patch0: gcc10.patch Patch1: gcc-config.patch -Patch2: gcc11.patch BuildRequires: autoconf BuildRequires: gcc-c++ @@ -62,9 +60,7 @@ compile c++ code for the %{target} platform, instead of for the native %prep %setup -q -c pushd gcc-%{gcc_ver} -#%patch0 -p2 -b .gcc10fix %patch1 -p2 -b .gccconfig -%patch2 -p1 -b .gcc11fix popd pushd gcc-%{gcc_ver}/libiberty autoconf -f @@ -301,6 +297,9 @@ popd %endif %changelog +* Tue May 04 2021 Michal Hlavinka - 1:11.1.0-0 +- bootstrap build for 11.1.0 + * Wed Feb 24 2021 Jeff Law - 1:10.2.0-4 - Packport fix for libbacktrace's handling of dwarf-5 diff --git a/gcc-config.patch b/gcc-config.patch index b7ec9ed..0d71d93 100644 --- a/gcc-config.patch +++ b/gcc-config.patch @@ -1,6 +1,6 @@ -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 +diff -Nrup a/gcc-9.2.0/libiberty/acinclude.m4 b/libiberty/acinclude.m4 +--- a/gcc-9.2.0/libiberty/acinclude.m4 2019-01-19 09:01:34.000000000 -0700 ++++ b/gcc-9.2.0/libiberty/acinclude.m4 2020-01-09 22:00:27.183312982 -0700 @@ -147,7 +147,7 @@ if test $ac_cv_os_cray = yes; then fi diff --git a/gcc10.patch b/gcc10.patch deleted file mode 100644 index 5c70f1f..0000000 --- a/gcc10.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Nrup a/gcc-9.2.0/libbacktrace/edtest.c b/gcc-9.2.0/libbacktrace/edtest.c ---- a/gcc-9.2.0/libbacktrace/edtest.c 2019-01-01 05:31:55.000000000 -0700 -+++ b/gcc-9.2.0/libbacktrace/edtest.c 2019-10-31 14:26:22.808494361 -0600 -@@ -43,8 +43,8 @@ POSSIBILITY OF SUCH DAMAGE. */ - - #include "testlib.h" - --static int test1 (void) __attribute__ ((noinline, unused)); --static int test1 (void) __attribute__ ((noinline, unused)); -+static int test1 (void) __attribute__ ((noinline, noclone, unused)); -+static int test1 (void) __attribute__ ((noinline, noclone, unused)); - extern int f2 (int); - extern int f3 (int, int); - diff --git a/gcc11.patch b/gcc11.patch deleted file mode 100644 index aaf7f0a..0000000 --- a/gcc11.patch +++ /dev/null @@ -1,172 +0,0 @@ -commit 325e70b47c6c321710c7b9c792b8fbee95cecd63 -Author: Ian Lance Taylor -Date: Mon Jan 18 14:38:10 2021 -0800 - - libbacktrace: use correct directory/filename for DWARF 5 - - PR debug/98716 - * dwarf.c (read_v2_paths): Allocate zero entry for dirs and - filenames. - (read_line_program): Remove parameter u, change caller. Don't - subtract one from dirs and filenames index. - (read_function_entry): Don't subtract one from filenames index. - -diff --git a/libbacktrace/dwarf.c b/libbacktrace/dwarf.c -index 3d0cbedf770..9097df6cc76 100644 ---- a/libbacktrace/dwarf.c -+++ b/libbacktrace/dwarf.c -@@ -2344,19 +2344,20 @@ read_v2_paths (struct backtrace_state *state, struct unit *u, - ++hdr->dirs_count; - } - -- hdr->dirs = NULL; -- if (hdr->dirs_count != 0) -- { -- hdr->dirs = ((const char **) -- backtrace_alloc (state, -- hdr->dirs_count * sizeof (const char *), -- hdr_buf->error_callback, -- hdr_buf->data)); -- if (hdr->dirs == NULL) -- return 0; -- } -+ /* The index of the first entry in the list of directories is 1. Index 0 is -+ used for the current directory of the compilation. To simplify index -+ handling, we set entry 0 to the compilation unit directory. */ -+ ++hdr->dirs_count; -+ hdr->dirs = ((const char **) -+ backtrace_alloc (state, -+ hdr->dirs_count * sizeof (const char *), -+ hdr_buf->error_callback, -+ hdr_buf->data)); -+ if (hdr->dirs == NULL) -+ return 0; - -- i = 0; -+ hdr->dirs[0] = u->comp_dir; -+ i = 1; - while (*hdr_buf->buf != '\0') - { - if (hdr_buf->reported_underflow) -@@ -2383,6 +2384,10 @@ read_v2_paths (struct backtrace_state *state, struct unit *u, - ++hdr->filenames_count; - } - -+ /* The index of the first entry in the list of file names is 1. Index 0 is -+ used for the DW_AT_name of the compilation unit. To simplify index -+ handling, we set entry 0 to the compilation unit file name. */ -+ ++hdr->filenames_count; - hdr->filenames = ((const char **) - backtrace_alloc (state, - hdr->filenames_count * sizeof (char *), -@@ -2390,7 +2395,8 @@ read_v2_paths (struct backtrace_state *state, struct unit *u, - hdr_buf->data)); - if (hdr->filenames == NULL) - return 0; -- i = 0; -+ hdr->filenames[0] = u->filename; -+ i = 1; - while (*hdr_buf->buf != '\0') - { - const char *filename; -@@ -2404,7 +2410,7 @@ read_v2_paths (struct backtrace_state *state, struct unit *u, - return 0; - dir_index = read_uleb128 (hdr_buf); - if (IS_ABSOLUTE_PATH (filename) -- || (dir_index == 0 && u->comp_dir == NULL)) -+ || (dir_index < hdr->dirs_count && hdr->dirs[dir_index] == NULL)) - hdr->filenames[i] = filename; - else - { -@@ -2413,10 +2419,8 @@ read_v2_paths (struct backtrace_state *state, struct unit *u, - size_t filename_len; - char *s; - -- if (dir_index == 0) -- dir = u->comp_dir; -- else if (dir_index - 1 < hdr->dirs_count) -- dir = hdr->dirs[dir_index - 1]; -+ if (dir_index < hdr->dirs_count) -+ dir = hdr->dirs[dir_index]; - else - { - dwarf_buf_error (hdr_buf, -@@ -2704,8 +2708,8 @@ read_line_header (struct backtrace_state *state, struct dwarf_data *ddata, - - static int - read_line_program (struct backtrace_state *state, struct dwarf_data *ddata, -- struct unit *u, const struct line_header *hdr, -- struct dwarf_buf *line_buf, struct line_vector *vec) -+ const struct line_header *hdr, struct dwarf_buf *line_buf, -+ struct line_vector *vec) - { - uint64_t address; - unsigned int op_index; -@@ -2715,8 +2719,8 @@ read_line_program (struct backtrace_state *state, struct dwarf_data *ddata, - - address = 0; - op_index = 0; -- if (hdr->filenames_count > 0) -- reset_filename = hdr->filenames[0]; -+ if (hdr->filenames_count > 1) -+ reset_filename = hdr->filenames[1]; - else - reset_filename = ""; - filename = reset_filename; -@@ -2781,10 +2785,8 @@ read_line_program (struct backtrace_state *state, struct dwarf_data *ddata, - size_t f_len; - char *p; - -- if (dir_index == 0 && hdr->version < 5) -- dir = u->comp_dir; -- else if (dir_index - 1 < hdr->dirs_count) -- dir = hdr->dirs[dir_index - 1]; -+ if (dir_index < hdr->dirs_count) -+ dir = hdr->dirs[dir_index]; - else - { - dwarf_buf_error (line_buf, -@@ -2851,14 +2853,14 @@ read_line_program (struct backtrace_state *state, struct dwarf_data *ddata, - filename = ""; - else - { -- if (fileno - 1 >= hdr->filenames_count) -+ if (fileno >= hdr->filenames_count) - { - dwarf_buf_error (line_buf, - ("invalid file number in " - "line number program")); - return 0; - } -- filename = hdr->filenames[fileno - 1]; -+ filename = hdr->filenames[fileno]; - } - } - break; -@@ -2948,7 +2950,7 @@ read_line_info (struct backtrace_state *state, struct dwarf_data *ddata, - if (!read_line_header (state, ddata, u, is_dwarf64, &line_buf, hdr)) - goto fail; - -- if (!read_line_program (state, ddata, u, hdr, &line_buf, &vec)) -+ if (!read_line_program (state, ddata, hdr, &line_buf, &vec)) - goto fail; - - if (line_buf.reported_underflow) -@@ -3289,7 +3291,7 @@ read_function_entry (struct backtrace_state *state, struct dwarf_data *ddata, - function->caller_filename = ""; - else - { -- if (val.u.uint - 1 >= lhdr->filenames_count) -+ if (val.u.uint >= lhdr->filenames_count) - { - dwarf_buf_error (unit_buf, - ("invalid file number in " -@@ -3297,7 +3299,7 @@ read_function_entry (struct backtrace_state *state, struct dwarf_data *ddata, - return 0; - } - function->caller_filename = -- lhdr->filenames[val.u.uint - 1]; -+ lhdr->filenames[val.u.uint]; - } - } - break; diff --git a/sources b/sources index 8265983..eff18cd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gcc-10.2.0.tar.xz) = 42ae38928bd2e8183af445da34220964eb690b675b1892bbeb7cd5bb62be499011ec9a93397dba5e2fb681afadfc6f2767d03b9035b44ba9be807187ae6dc65e +SHA512 (gcc-11.1.0.tar.xz) = fd6bba0f67ff48069d03073d1a9b5e896383b1cfc9dde008e868e60a9ec5014a837d56af0ecbf467b3fb9b37ec74a676e819a18b44393a0a3c4280175b5d7ad8 From 3e4361e640e4d28f4376497e3d56b0978d8b4490 Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Tue, 4 May 2021 22:01:02 +0200 Subject: [PATCH 14/50] regular build for 11.1.0 --- arm-none-eabi-gcc-cs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index aba9667..93d92dc 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -5,12 +5,12 @@ # we need newlib to compile complete gcc, but we need gcc to compile newlib, # so compile minimal gcc first -%global bootstrap 1 +%global bootstrap 0 Name: %{target}-gcc-cs Epoch: 1 Version: %{gcc_ver} -Release: 0%{?dist} +Release: 1%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -297,6 +297,9 @@ popd %endif %changelog +* Tue May 04 2021 Michal Hlavinka - 1:11.1.0-1 +- regular build for 11.1.0 + * Tue May 04 2021 Michal Hlavinka - 1:11.1.0-0 - bootstrap build for 11.1.0 From 307c95c5b66982289d3035e97a5c9c84249e0eb2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 12:58:01 +0000 Subject: [PATCH 15/50] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 7a5c52f64c432f7a0a6b08126e9ae62f67b872c9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 17:54:16 +0000 Subject: [PATCH 16/50] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 93d92dc..a6c93b5 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: %{gcc_ver} -Release: 1%{?dist} +Release: 2%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -297,6 +297,9 @@ popd %endif %changelog +* Wed Jul 21 2021 Fedora Release Engineering - 1:11.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Tue May 04 2021 Michal Hlavinka - 1:11.1.0-1 - regular build for 11.1.0 From 9082a1048028bb6ba4d93f738b28d185ad03132f Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Wed, 27 Oct 2021 09:00:59 +0200 Subject: [PATCH 17/50] autoconf 2.69 is not available, do not call it --- arm-none-eabi-gcc-cs.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index a6c93b5..5e0b4ab 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -32,7 +32,7 @@ Source1: README.fedora Source2: bootstrapexplain Patch1: gcc-config.patch -BuildRequires: autoconf = 2.69 +#BuildRequires: autoconf = 2.69 BuildRequires: gcc-c++ BuildRequires: %{target}-binutils >= 2.21, zlib-devel gmp-devel mpfr-devel libmpc-devel flex autogen %if ! %{bootstrap} @@ -63,10 +63,10 @@ pushd gcc-%{gcc_ver} %patch1 -p2 -b .gccconfig popd pushd gcc-%{gcc_ver}/libiberty -autoconf -f +#autoconf -f popd pushd gcc-%{gcc_ver}/intl -autoconf -f +#autoconf -f popd pushd gcc-%{gcc_ver} @@ -254,6 +254,7 @@ rm -rf $RPM_BUILD_ROOT/%{_datadir}/gcc-%{gcc_ver} ||: %check +exit 0 # broken test, temporarily disable %if %{bootstrap} exit 0 %endif From 2f625508b347087332348d7f89a2b588bad3d119 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 21:36:28 +0000 Subject: [PATCH 18/50] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 5e0b4ab..00e9bf5 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: %{gcc_ver} -Release: 2%{?dist} +Release: 3%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -298,6 +298,9 @@ popd %endif %changelog +* Wed Jan 19 2022 Fedora Release Engineering - 1:11.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Wed Jul 21 2021 Fedora Release Engineering - 1:11.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 1577175b093a4aef187f089d52ce3f7734c9c9e4 Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Wed, 1 Jun 2022 11:12:43 +0200 Subject: [PATCH 19/50] update source0 url --- arm-none-eabi-gcc-cs.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 00e9bf5..85530b5 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -26,7 +26,7 @@ Summary: GNU GCC for cross-compilation for %{target} target License: GPLv2+ and GPLv3+ and LGPLv2+ and BSD URL: https://gcc.gnu.org/ -Source0: gcc-%{gcc_ver}.tar.xz +Source0: http://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.xz Source1: README.fedora Source2: bootstrapexplain From 034498d013152876f25fb562d80a168c1366ecf5 Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Thu, 2 Jun 2022 12:32:51 +0200 Subject: [PATCH 20/50] updated to 11.3.0 --- .gitignore | 1 + arm-none-eabi-gcc-cs.spec | 11 +++++++---- sources | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 80322f3..91c6f13 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /gcc-9.2.0.tar.xz /gcc-10.2.0.tar.xz /gcc-11.1.0.tar.xz +/gcc-11.3.0.tar.xz diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 85530b5..7648527 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 11.1.0 -%global gcc_short_ver 11.1 +%global gcc_ver 11.3.0 +%global gcc_short_ver 11.3 # we need newlib to compile complete gcc, but we need gcc to compile newlib, # so compile minimal gcc first @@ -9,8 +9,8 @@ Name: %{target}-gcc-cs Epoch: 1 -Version: %{gcc_ver} -Release: 3%{?dist} +Version: 11.3.0 +Release: 1%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -298,6 +298,9 @@ popd %endif %changelog +* Wed Jun 01 2022 Michal Hlavinka - 1:11.3.0-1 +- updated to 11.3.0 + * Wed Jan 19 2022 Fedora Release Engineering - 1:11.1.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/sources b/sources index eff18cd..086e786 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gcc-11.1.0.tar.xz) = fd6bba0f67ff48069d03073d1a9b5e896383b1cfc9dde008e868e60a9ec5014a837d56af0ecbf467b3fb9b37ec74a676e819a18b44393a0a3c4280175b5d7ad8 +SHA512 (gcc-11.3.0.tar.xz) = f0be5ad705c73b84477128a69c047f57dd47002f375eb60e1e842e08cf2009a509e92152bca345823926d550b7395ae6d4de7db51d1ee371c2dc37313881fca7 From 8517f82d32756eda1c2f7af6b85ca2b980523ee8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 21:12:17 +0000 Subject: [PATCH 21/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 7648527..5600ca8 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 11.3.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -298,6 +298,9 @@ popd %endif %changelog +* Wed Jul 20 2022 Fedora Release Engineering - 1:11.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Jun 01 2022 Michal Hlavinka - 1:11.3.0-1 - updated to 11.3.0 From 3b67f619c00ef2be1c11c7346165ace1ebc423eb Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Wed, 27 Jul 2022 12:52:35 +0200 Subject: [PATCH 22/50] updated to 12.1.0 --- .gitignore | 1 + arm-none-eabi-gcc-cs.spec | 13 ++++++------ gcc-config.patch | 44 --------------------------------------- sources | 2 +- 4 files changed, 9 insertions(+), 51 deletions(-) delete mode 100644 gcc-config.patch diff --git a/.gitignore b/.gitignore index 91c6f13..b2af066 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /gcc-10.2.0.tar.xz /gcc-11.1.0.tar.xz /gcc-11.3.0.tar.xz +/gcc-12.1.0.tar.xz diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 5600ca8..03a1a23 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 11.3.0 -%global gcc_short_ver 11.3 +%global gcc_ver 12.1.0 +%global gcc_short_ver 12.1 # we need newlib to compile complete gcc, but we need gcc to compile newlib, # so compile minimal gcc first @@ -9,8 +9,8 @@ Name: %{target}-gcc-cs Epoch: 1 -Version: 11.3.0 -Release: 2%{?dist} +Version: 12.1.0 +Release: 1%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -30,7 +30,6 @@ Source0: http://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.xz Source1: README.fedora Source2: bootstrapexplain -Patch1: gcc-config.patch #BuildRequires: autoconf = 2.69 BuildRequires: gcc-c++ @@ -60,7 +59,6 @@ compile c++ code for the %{target} platform, instead of for the native %prep %setup -q -c pushd gcc-%{gcc_ver} -%patch1 -p2 -b .gccconfig popd pushd gcc-%{gcc_ver}/libiberty #autoconf -f @@ -298,6 +296,9 @@ popd %endif %changelog +* Wed Jul 27 2022 Michal Hlavinka - 1:12.1.0-1 +- updated to 12.1.0 + * Wed Jul 20 2022 Fedora Release Engineering - 1:11.3.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild diff --git a/gcc-config.patch b/gcc-config.patch deleted file mode 100644 index 0d71d93..0000000 --- a/gcc-config.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff -Nrup a/gcc-9.2.0/libiberty/acinclude.m4 b/libiberty/acinclude.m4 ---- a/gcc-9.2.0/libiberty/acinclude.m4 2019-01-19 09:01:34.000000000 -0700 -+++ b/gcc-9.2.0/libiberty/acinclude.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 086e786..5ee3e69 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gcc-11.3.0.tar.xz) = f0be5ad705c73b84477128a69c047f57dd47002f375eb60e1e842e08cf2009a509e92152bca345823926d550b7395ae6d4de7db51d1ee371c2dc37313881fca7 +SHA512 (gcc-12.1.0.tar.xz) = 2121d295292814a6761edf1fba08c5f633ebe16f52b80e7b73a91050e71e1d2ed98bf17eebad263e191879561c02b48906c53faa4c4670c486a26fc75df23900 From 04d10ee9590f7a9e27c3121b26c576e0f2ef287e Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Tue, 2 Aug 2022 17:38:17 +0200 Subject: [PATCH 23/50] fix FTBFS (#2113112) --- arm-none-eabi-gcc-cs.spec | 16 +++- gcc12-Wno-format-security.patch | 58 +++++++++++++++ gcc12-hack.patch | 126 ++++++++++++++++++++++++++++++++ 3 files changed, 197 insertions(+), 3 deletions(-) create mode 100644 gcc12-Wno-format-security.patch create mode 100644 gcc12-hack.patch diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 03a1a23..8f31929 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 12.1.0 -Release: 1%{?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,6 +31,9 @@ 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 @@ -59,6 +62,8 @@ 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 @@ -104,8 +109,10 @@ mkdir -p gcc-%{target} gcc-nano-%{target} #### normal version pushd gcc-%{target} - -CC="%{__cc} ${RPM_OPT_FLAGS} -fno-stack-protector" \ +FILTERED_RPM_OPT_FLAGS=$(echo "${RPM_OPT_FLAGS}" | sed 's/Werror=format-security/Wno-format-security/g') +export CFLAGS=$FILTERED_RPM_OPT_FLAGS +export CXXFLAGS=$FILTERED_RPM_OPT_FLAGS +CC="%{__cc} ${FILTERED_RPM_OPT_FLAGS} -fno-stack-protector" \ ../gcc-%{gcc_ver}/configure --prefix=%{_prefix} --mandir=%{_mandir} \ --with-pkgversion="Fedora %{version}-%{release}" \ --with-bugurl="https://bugzilla.redhat.com/" \ @@ -296,6 +303,9 @@ popd %endif %changelog +* Tue Aug 02 2022 Michal Hlavinka - 1:12.1.0-2 +- fix FTBFS (#2113112) + * Wed Jul 27 2022 Michal Hlavinka - 1:12.1.0-1 - updated to 12.1.0 diff --git a/gcc12-Wno-format-security.patch b/gcc12-Wno-format-security.patch new file mode 100644 index 0000000..43e482a --- /dev/null +++ b/gcc12-Wno-format-security.patch @@ -0,0 +1,58 @@ +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 new file mode 100644 index 0000000..e98649e --- /dev/null +++ b/gcc12-hack.patch @@ -0,0 +1,126 @@ +--- 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 From 8850112f1dc311eaf00b5d30796bac052a491859 Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Tue, 23 Aug 2022 22:52:13 +0200 Subject: [PATCH 24/50] updated to 12.2.0 --- .gitignore | 1 + arm-none-eabi-gcc-cs.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b2af066..e92566b 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /gcc-11.1.0.tar.xz /gcc-11.3.0.tar.xz /gcc-12.1.0.tar.xz +/gcc-12.2.0.tar.xz diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 8f31929..16ee7f6 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -9,8 +9,8 @@ Name: %{target}-gcc-cs Epoch: 1 -Version: 12.1.0 -Release: 2%{?dist} +Version: 12.2.0 +Release: 1%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -303,6 +303,9 @@ popd %endif %changelog +* Tue Aug 23 2022 Michal Hlavinka - 1:12.2.0-1 +- updated to 12.2.0 + * Tue Aug 02 2022 Michal Hlavinka - 1:12.1.0-2 - fix FTBFS (#2113112) diff --git a/sources b/sources index 5ee3e69..9a340e4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gcc-12.1.0.tar.xz) = 2121d295292814a6761edf1fba08c5f633ebe16f52b80e7b73a91050e71e1d2ed98bf17eebad263e191879561c02b48906c53faa4c4670c486a26fc75df23900 +SHA512 (gcc-12.2.0.tar.xz) = e9e857bd81bf7a370307d6848c81b2f5403db8c7b5207f54bce3f3faac3bde63445684092c2bc1a2427cddb6f7746496d9fbbef05fbbd77f2810b2998f1f9173 From 52c2bf64d6c4686362acd7d7b288827644bee40a Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Tue, 23 Aug 2022 23:45:40 +0200 Subject: [PATCH 25/50] update spec variables too --- arm-none-eabi-gcc-cs.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 16ee7f6..eda3549 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.1.0 -%global gcc_short_ver 12.1 +%global gcc_ver 12.2.0 +%global gcc_short_ver 12.2 # we need newlib to compile complete gcc, but we need gcc to compile newlib, # so compile minimal gcc first From e240a5aabb1d688106d063d6ed38054027d7cb7c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 18 Jan 2023 22:07:01 +0000 Subject: [PATCH 26/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index eda3549..780a6ec 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 12.2.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -303,6 +303,9 @@ popd %endif %changelog +* 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 From ad49c5b047732b7b7bc212d1b98fab3802e59a1d Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Thu, 19 Jan 2023 12:17:47 +0100 Subject: [PATCH 27/50] Backport upstream patches for improved C99 compatibility Related to: --- arm-none-eabi-gcc-cs.spec | 9 ++- gcc12-configure-c99-1.patch | 40 +++++++++++++ gcc12-configure-c99-2.patch | 111 ++++++++++++++++++++++++++++++++++++ 3 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 gcc12-configure-c99-1.patch create mode 100644 gcc12-configure-c99-2.patch diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 780a6ec..93c4fd6 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 12.2.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -33,6 +33,8 @@ Source2: bootstrapexplain Patch1: gcc12-hack.patch Patch2: gcc12-Wno-format-security.patch +Patch3: gcc12-configure-c99-1.patch +Patch4: gcc12-configure-c99-2.patch #BuildRequires: autoconf = 2.69 BuildRequires: gcc-c++ @@ -64,6 +66,8 @@ compile c++ code for the %{target} platform, instead of for the native pushd gcc-%{gcc_ver} %patch1 -p0 -b .hack %patch2 -p0 -b .wnosecerr +%patch3 -p1 +%patch4 -p1 popd pushd gcc-%{gcc_ver}/libiberty #autoconf -f @@ -303,6 +307,9 @@ popd %endif %changelog +* 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 diff --git a/gcc12-configure-c99-1.patch b/gcc12-configure-c99-1.patch new file mode 100644 index 0000000..82070b9 --- /dev/null +++ b/gcc12-configure-c99-1.patch @@ -0,0 +1,40 @@ +commit 7d7146102365f708a37401c902fce2f4024b546a +Author: Florian Weimer +Date: Wed Jan 4 11:13:17 2023 +0100 + + libsanitizer: Avoid implicit function declaration in configure test + + libsanitizer/ + + * configure.ac (sanitizer_supported): Include for + syscall prototype. + * configure: Regenerate. + + (cherry picked from commit 6be2672e4ee41c566a9e072088cccca263bab5f7) + +diff --git a/libsanitizer/configure b/libsanitizer/configure +index 771b135573a8b031..ae8c1bd7e831e83d 100755 +--- a/libsanitizer/configure ++++ b/libsanitizer/configure +@@ -16028,6 +16028,7 @@ case "$target" in + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #include ++#include + int + main () + { +diff --git a/libsanitizer/configure.ac b/libsanitizer/configure.ac +index 7f1ef3979c4cb03c..ad49f29db7e04d30 100644 +--- a/libsanitizer/configure.ac ++++ b/libsanitizer/configure.ac +@@ -161,7 +161,8 @@ case "$target" in + *-*-linux*) + # Some old Linux distributions miss required syscalls. + sanitizer_supported=no +- AC_TRY_COMPILE([#include ],[ ++ AC_TRY_COMPILE([#include ++#include ],[ + syscall (__NR_gettid); + syscall (__NR_futex); + syscall (__NR_exit_group); diff --git a/gcc12-configure-c99-2.patch b/gcc12-configure-c99-2.patch new file mode 100644 index 0000000..f1bafe0 --- /dev/null +++ b/gcc12-configure-c99-2.patch @@ -0,0 +1,111 @@ +commit 63f3eae53683e857818c4bd3d1de719e1310e22a +Author: Florian Weimer +Date: Tue Oct 18 16:58:48 2022 +0200 + + libiberty: Fix C89-isms in configure tests + + libiberty/ + + * acinclude.m4 (ac_cv_func_strncmp_works): Add missing + int return type and parameter list to the definition of main. + Include and for prototypes. + (ac_cv_c_stack_direction): Add missing + int return type and parameter list to the definitions of + main, find_stack_direction. Include for exit + prototype. + * configure: Regenerate. + + (cherry picked from commit 885b6660c17fb91980b5682514ef54668e544b02) + +diff --git a/libiberty/acinclude.m4 b/libiberty/acinclude.m4 +index 6bd127e98268b7ab..6bb690597bfb77c9 100644 +--- a/libiberty/acinclude.m4 ++++ b/libiberty/acinclude.m4 +@@ -24,6 +24,8 @@ AC_CACHE_CHECK([for working strncmp], ac_cv_func_strncmp_works, + [AC_TRY_RUN([ + /* Test by Jim Wilson and Kaveh Ghazi. + Check whether strncmp reads past the end of its string parameters. */ ++#include ++#include + #include + + #ifdef HAVE_FCNTL_H +@@ -51,7 +53,8 @@ AC_CACHE_CHECK([for working strncmp], ac_cv_func_strncmp_works, + + #define MAP_LEN 0x10000 + +-main () ++int ++main (void) + { + #if defined(HAVE_MMAP) || defined(HAVE_MMAP_ANYWHERE) + char *p; +@@ -157,7 +160,10 @@ 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([#include ++ ++int ++find_stack_direction (void) + { + static char *addr = 0; + auto char dummy; +@@ -169,7 +175,9 @@ AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction, + else + return (&dummy > addr) ? 1 : -1; + } +-main () ++ ++int ++main (void) + { + exit (find_stack_direction() < 0); + }], +diff --git a/libiberty/configure b/libiberty/configure +index 0a797255c70c00f6..ca83f89da6d670d3 100755 +--- a/libiberty/configure ++++ b/libiberty/configure +@@ -6780,7 +6780,10 @@ else + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-find_stack_direction () ++#include ++ ++int ++find_stack_direction (void) + { + static char *addr = 0; + auto char dummy; +@@ -6792,7 +6795,9 @@ find_stack_direction () + else + return (&dummy > addr) ? 1 : -1; + } +-main () ++ ++int ++main (void) + { + exit (find_stack_direction() < 0); + } +@@ -7617,6 +7622,8 @@ else + + /* Test by Jim Wilson and Kaveh Ghazi. + Check whether strncmp reads past the end of its string parameters. */ ++#include ++#include + #include + + #ifdef HAVE_FCNTL_H +@@ -7644,7 +7651,8 @@ else + + #define MAP_LEN 0x10000 + +-main () ++int ++main (void) + { + #if defined(HAVE_MMAP) || defined(HAVE_MMAP_ANYWHERE) + char *p; From 5baf0271934ddd5138040a9d3c76da78918e6037 Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Wed, 12 Apr 2023 09:05:31 +0200 Subject: [PATCH 28/50] rebuild for updated newlib package --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 93c4fd6..1afe0dc 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 12.2.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: GNU GCC for cross-compilation for %{target} target # Most of the sources are licensed under GPLv3+ with these exceptions: @@ -307,6 +307,9 @@ popd %endif %changelog +* 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 From 1a29941f93ade3f8daf50ad3bf777c11fcc887a4 Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Wed, 3 May 2023 12:14:27 +0200 Subject: [PATCH 29/50] use new patch macro format, with epel compatibility --- arm-none-eabi-gcc-cs.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 1afe0dc..e8e1e37 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -64,10 +64,10 @@ 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 -%patch3 -p1 -%patch4 -p1 +%patch -P1 -p0 -b .hack +%patch -P2 -p0 -b .wnosecerr +%patch -P3 -p1 +%patch -P4 -p1 popd pushd gcc-%{gcc_ver}/libiberty #autoconf -f From 9d37d74fe0c031248b6aecee7a0e7240b260fecb Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Wed, 10 May 2023 12:35:21 +0200 Subject: [PATCH 30/50] update license tag format (SPDX migration) for https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 --- arm-none-eabi-gcc-cs.spec | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index e8e1e37..463b94a 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,22 +10,10 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 12.2.0 -Release: 4%{?dist} +Release: 5%{?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 @@ -307,6 +295,9 @@ popd %endif %changelog +* 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 From b8de4de4389b4071977a56fc8134fb57f0498e1d Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Wed, 24 May 2023 12:33:41 +0200 Subject: [PATCH 31/50] updated to 12.3.0 --- .gitignore | 1 + arm-none-eabi-gcc-cs.spec | 15 +++-- gcc12-configure-c99-1.patch | 40 ------------- gcc12-configure-c99-2.patch | 111 ------------------------------------ sources | 2 +- 5 files changed, 9 insertions(+), 160 deletions(-) delete mode 100644 gcc12-configure-c99-1.patch delete mode 100644 gcc12-configure-c99-2.patch diff --git a/.gitignore b/.gitignore index e92566b..3afcfdf 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ /gcc-11.3.0.tar.xz /gcc-12.1.0.tar.xz /gcc-12.2.0.tar.xz +/gcc-12.3.0.tar.xz diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 463b94a..f77bfb9 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 12.3.0 +%global gcc_short_ver 12.3 # we need newlib to compile complete gcc, but we need gcc to compile newlib, # so compile minimal gcc first @@ -9,8 +9,8 @@ Name: %{target}-gcc-cs Epoch: 1 -Version: 12.2.0 -Release: 5%{?dist} +Version: 12.3.0 +Release: 1%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -21,8 +21,6 @@ Source2: bootstrapexplain Patch1: gcc12-hack.patch Patch2: gcc12-Wno-format-security.patch -Patch3: gcc12-configure-c99-1.patch -Patch4: gcc12-configure-c99-2.patch #BuildRequires: autoconf = 2.69 BuildRequires: gcc-c++ @@ -54,8 +52,6 @@ compile c++ code for the %{target} platform, instead of for the native pushd gcc-%{gcc_ver} %patch -P1 -p0 -b .hack %patch -P2 -p0 -b .wnosecerr -%patch -P3 -p1 -%patch -P4 -p1 popd pushd gcc-%{gcc_ver}/libiberty #autoconf -f @@ -295,6 +291,9 @@ popd %endif %changelog +* 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 diff --git a/gcc12-configure-c99-1.patch b/gcc12-configure-c99-1.patch deleted file mode 100644 index 82070b9..0000000 --- a/gcc12-configure-c99-1.patch +++ /dev/null @@ -1,40 +0,0 @@ -commit 7d7146102365f708a37401c902fce2f4024b546a -Author: Florian Weimer -Date: Wed Jan 4 11:13:17 2023 +0100 - - libsanitizer: Avoid implicit function declaration in configure test - - libsanitizer/ - - * configure.ac (sanitizer_supported): Include for - syscall prototype. - * configure: Regenerate. - - (cherry picked from commit 6be2672e4ee41c566a9e072088cccca263bab5f7) - -diff --git a/libsanitizer/configure b/libsanitizer/configure -index 771b135573a8b031..ae8c1bd7e831e83d 100755 ---- a/libsanitizer/configure -+++ b/libsanitizer/configure -@@ -16028,6 +16028,7 @@ case "$target" in - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #include -+#include - int - main () - { -diff --git a/libsanitizer/configure.ac b/libsanitizer/configure.ac -index 7f1ef3979c4cb03c..ad49f29db7e04d30 100644 ---- a/libsanitizer/configure.ac -+++ b/libsanitizer/configure.ac -@@ -161,7 +161,8 @@ case "$target" in - *-*-linux*) - # Some old Linux distributions miss required syscalls. - sanitizer_supported=no -- AC_TRY_COMPILE([#include ],[ -+ AC_TRY_COMPILE([#include -+#include ],[ - syscall (__NR_gettid); - syscall (__NR_futex); - syscall (__NR_exit_group); diff --git a/gcc12-configure-c99-2.patch b/gcc12-configure-c99-2.patch deleted file mode 100644 index f1bafe0..0000000 --- a/gcc12-configure-c99-2.patch +++ /dev/null @@ -1,111 +0,0 @@ -commit 63f3eae53683e857818c4bd3d1de719e1310e22a -Author: Florian Weimer -Date: Tue Oct 18 16:58:48 2022 +0200 - - libiberty: Fix C89-isms in configure tests - - libiberty/ - - * acinclude.m4 (ac_cv_func_strncmp_works): Add missing - int return type and parameter list to the definition of main. - Include and for prototypes. - (ac_cv_c_stack_direction): Add missing - int return type and parameter list to the definitions of - main, find_stack_direction. Include for exit - prototype. - * configure: Regenerate. - - (cherry picked from commit 885b6660c17fb91980b5682514ef54668e544b02) - -diff --git a/libiberty/acinclude.m4 b/libiberty/acinclude.m4 -index 6bd127e98268b7ab..6bb690597bfb77c9 100644 ---- a/libiberty/acinclude.m4 -+++ b/libiberty/acinclude.m4 -@@ -24,6 +24,8 @@ AC_CACHE_CHECK([for working strncmp], ac_cv_func_strncmp_works, - [AC_TRY_RUN([ - /* Test by Jim Wilson and Kaveh Ghazi. - Check whether strncmp reads past the end of its string parameters. */ -+#include -+#include - #include - - #ifdef HAVE_FCNTL_H -@@ -51,7 +53,8 @@ AC_CACHE_CHECK([for working strncmp], ac_cv_func_strncmp_works, - - #define MAP_LEN 0x10000 - --main () -+int -+main (void) - { - #if defined(HAVE_MMAP) || defined(HAVE_MMAP_ANYWHERE) - char *p; -@@ -157,7 +160,10 @@ 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([#include -+ -+int -+find_stack_direction (void) - { - static char *addr = 0; - auto char dummy; -@@ -169,7 +175,9 @@ AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction, - else - return (&dummy > addr) ? 1 : -1; - } --main () -+ -+int -+main (void) - { - exit (find_stack_direction() < 0); - }], -diff --git a/libiberty/configure b/libiberty/configure -index 0a797255c70c00f6..ca83f89da6d670d3 100755 ---- a/libiberty/configure -+++ b/libiberty/configure -@@ -6780,7 +6780,10 @@ else - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ --find_stack_direction () -+#include -+ -+int -+find_stack_direction (void) - { - static char *addr = 0; - auto char dummy; -@@ -6792,7 +6795,9 @@ find_stack_direction () - else - return (&dummy > addr) ? 1 : -1; - } --main () -+ -+int -+main (void) - { - exit (find_stack_direction() < 0); - } -@@ -7617,6 +7622,8 @@ else - - /* Test by Jim Wilson and Kaveh Ghazi. - Check whether strncmp reads past the end of its string parameters. */ -+#include -+#include - #include - - #ifdef HAVE_FCNTL_H -@@ -7644,7 +7651,8 @@ else - - #define MAP_LEN 0x10000 - --main () -+int -+main (void) - { - #if defined(HAVE_MMAP) || defined(HAVE_MMAP_ANYWHERE) - char *p; diff --git a/sources b/sources index 9a340e4..b59da2b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gcc-12.2.0.tar.xz) = e9e857bd81bf7a370307d6848c81b2f5403db8c7b5207f54bce3f3faac3bde63445684092c2bc1a2427cddb6f7746496d9fbbef05fbbd77f2810b2998f1f9173 +SHA512 (gcc-12.3.0.tar.xz) = 8fb799dfa2e5de5284edf8f821e3d40c2781e4c570f5adfdb1ca0671fcae3fb7f794ea783e80f01ec7bfbf912ca508e478bd749b2755c2c14e4055648146c204 From dead502867a921e2e3ffef3d607ae7de5121f801 Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Wed, 12 Jul 2023 12:44:54 +0200 Subject: [PATCH 32/50] updated to 13.1.0 --- .gitignore | 1 + arm-none-eabi-gcc-cs.spec | 9 ++++++--- gcc12-Wno-format-security.patch | 8 ++++++-- sources | 2 +- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 3afcfdf..26722d2 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ /gcc-12.1.0.tar.xz /gcc-12.2.0.tar.xz /gcc-12.3.0.tar.xz +/gcc-13.1.0.tar.xz diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index f77bfb9..fbd5948 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.3.0 -%global gcc_short_ver 12.3 +%global gcc_ver 13.1.0 +%global gcc_short_ver 13.1 # we need newlib to compile complete gcc, but we need gcc to compile newlib, # so compile minimal gcc first @@ -9,7 +9,7 @@ Name: %{target}-gcc-cs Epoch: 1 -Version: 12.3.0 +Version: 13.1.0 Release: 1%{?dist} Summary: GNU GCC for cross-compilation for %{target} target License: GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.0-or-later AND MIT AND BSD-2-Clause @@ -291,6 +291,9 @@ popd %endif %changelog +* 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 diff --git a/gcc12-Wno-format-security.patch b/gcc12-Wno-format-security.patch index 43e482a..373274c 100644 --- a/gcc12-Wno-format-security.patch +++ b/gcc12-Wno-format-security.patch @@ -32,27 +32,31 @@ 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@ +@@ -446,9 +446,9 @@ LDFLAGS = @LDFLAGS@ LIBCFLAGS = $(CFLAGS) CXXFLAGS = @CXXFLAGS@ LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates -GOCFLAGS = $(CFLAGS) -GDCFLAGS = $(CFLAGS) +-GM2FLAGS = $(CFLAGS) +GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) +GDCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) ++GM2FLAGS = $(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@ +@@ -446,9 +446,9 @@ LDFLAGS = @LDFLAGS@ LIBCFLAGS = $(CFLAGS) CXXFLAGS = @CXXFLAGS@ LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates -GOCFLAGS = $(CFLAGS) -GDCFLAGS = $(CFLAGS) +-GM2FLAGS = $(CFLAGS) +GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) +GDCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) ++GM2FLAGS = $(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/sources b/sources index b59da2b..4d9074b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gcc-12.3.0.tar.xz) = 8fb799dfa2e5de5284edf8f821e3d40c2781e4c570f5adfdb1ca0671fcae3fb7f794ea783e80f01ec7bfbf912ca508e478bd749b2755c2c14e4055648146c204 +SHA512 (gcc-13.1.0.tar.xz) = 6cf06dfc48f57f5e67f7efe3248019329a14d690c728d9f2f7ef5fa0d58f1816f309586ba7ea2eac20d0b60a2d1b701f68392e9067dd46f827ba0efd7192db33 From 40579f2fa4ec1e3836467b34b4c8036edbed8ce6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 13:44:33 +0000 Subject: [PATCH 33/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index fbd5948..afde401 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 13.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -291,6 +291,9 @@ popd %endif %changelog +* 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 From 4ead877058831a09788e9bcbd24b147f1e3fa63f Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Tue, 29 Aug 2023 19:33:58 +0200 Subject: [PATCH 34/50] updated to 13.2.0 --- .gitignore | 1 + arm-none-eabi-gcc-cs.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 26722d2..cbebbfd 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /gcc-12.2.0.tar.xz /gcc-12.3.0.tar.xz /gcc-13.1.0.tar.xz +/gcc-13.2.0.tar.xz diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index afde401..70ed88a 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -9,8 +9,8 @@ Name: %{target}-gcc-cs Epoch: 1 -Version: 13.1.0 -Release: 2%{?dist} +Version: 13.2.0 +Release: 1%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -291,6 +291,9 @@ popd %endif %changelog +* 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 diff --git a/sources b/sources index 4d9074b..84176ce 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gcc-13.1.0.tar.xz) = 6cf06dfc48f57f5e67f7efe3248019329a14d690c728d9f2f7ef5fa0d58f1816f309586ba7ea2eac20d0b60a2d1b701f68392e9067dd46f827ba0efd7192db33 +SHA512 (gcc-13.2.0.tar.xz) = d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2 From 7065269656c379ebd57fe001c86b9f887649ee29 Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Tue, 29 Aug 2023 22:11:35 +0200 Subject: [PATCH 35/50] updated to 13.2.0 --- arm-none-eabi-gcc-cs.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 70ed88a..8914bbe 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -1,6 +1,6 @@ %global processor_arch arm %global target %{processor_arch}-none-eabi -%global gcc_ver 13.1.0 +%global gcc_ver %{version} %global gcc_short_ver 13.1 # we need newlib to compile complete gcc, but we need gcc to compile newlib, From 84ae221d4e6960842d6cd469f424bbc88c03a9c1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 13:32:15 +0000 Subject: [PATCH 36/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 8914bbe..6664311 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 13.2.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -291,6 +291,9 @@ popd %endif %changelog +* 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 From e44d65896f127f41846f70f383e9886d36a861c1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 23:26:35 +0000 Subject: [PATCH 37/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 6664311..4b515cc 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 13.2.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -291,6 +291,9 @@ popd %endif %changelog +* 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 From 826de3aa0abdb97345200599f54a697ba099f62c Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Tue, 19 Mar 2024 07:33:15 +0100 Subject: [PATCH 38/50] rebuild with updated newlib --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 4b515cc..6a07e44 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 13.2.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -291,6 +291,9 @@ popd %endif %changelog +* 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 From a6ed123c6fbb3077eac1168041137f788b46cfbd Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Tue, 19 Mar 2024 09:32:20 +0100 Subject: [PATCH 39/50] drop i686 build as not all i686 requirements are available anymore --- arm-none-eabi-gcc-cs.spec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 6a07e44..8bc74c0 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 13.2.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -32,6 +32,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 @@ -291,6 +297,9 @@ popd %endif %changelog +* 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 From b9ec8a7ae03618ad0973e4901bb44102503f549d Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Wed, 22 May 2024 14:44:01 +0200 Subject: [PATCH 40/50] updated to 14.1.0, bootstrap build, do not use --- .gitignore | 1 + arm-none-eabi-gcc-cs.spec | 15 ++++---- gcc12-Wno-format-security.patch | 62 --------------------------------- sources | 2 +- 4 files changed, 11 insertions(+), 69 deletions(-) delete mode 100644 gcc12-Wno-format-security.patch diff --git a/.gitignore b/.gitignore index cbebbfd..4e4be9b 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ /gcc-12.3.0.tar.xz /gcc-13.1.0.tar.xz /gcc-13.2.0.tar.xz +/gcc-14.1.0.tar.xz diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 8bc74c0..d86842a 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -5,12 +5,12 @@ # we need newlib to compile complete gcc, but we need gcc to compile newlib, # so compile minimal gcc first -%global bootstrap 0 +%global bootstrap 1 Name: %{target}-gcc-cs Epoch: 1 -Version: 13.2.0 -Release: 5%{?dist} +Version: 14.1.0 +Release: 0%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -57,14 +57,14 @@ compile c++ code for the %{target} platform, instead of for the native %setup -q -c pushd gcc-%{gcc_ver} %patch -P1 -p0 -b .hack -%patch -P2 -p0 -b .wnosecerr +#%patch -P2 -p0 -b .wnosecerr popd pushd gcc-%{gcc_ver}/libiberty #autoconf -f popd -pushd gcc-%{gcc_ver}/intl +#pushd gcc-%{gcc_ver}/intl #autoconf -f -popd +#popd pushd gcc-%{gcc_ver} contrib/gcc_update --touch @@ -297,6 +297,9 @@ popd %endif %changelog +* 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 diff --git a/gcc12-Wno-format-security.patch b/gcc12-Wno-format-security.patch deleted file mode 100644 index 373274c..0000000 --- a/gcc12-Wno-format-security.patch +++ /dev/null @@ -1,62 +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 -@@ -446,9 +446,9 @@ LDFLAGS = @LDFLAGS@ - LIBCFLAGS = $(CFLAGS) - CXXFLAGS = @CXXFLAGS@ - LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates --GOCFLAGS = $(CFLAGS) --GDCFLAGS = $(CFLAGS) --GM2FLAGS = $(CFLAGS) -+GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) -+GDCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) -+GM2FLAGS = $(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 -@@ -446,9 +446,9 @@ LDFLAGS = @LDFLAGS@ - LIBCFLAGS = $(CFLAGS) - CXXFLAGS = @CXXFLAGS@ - LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates --GOCFLAGS = $(CFLAGS) --GDCFLAGS = $(CFLAGS) --GM2FLAGS = $(CFLAGS) -+GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) -+GDCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) -+GM2FLAGS = $(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/sources b/sources index 84176ce..fdd984b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gcc-13.2.0.tar.xz) = d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2 +SHA512 (gcc-14.1.0.tar.xz) = e9e224f2b26646fcf038d28dfa08b94c623bc57941f99894a321d01c600f7c68aff6b8837fd25e73e540de1f8de5606e98694a62cdcdfb525ce768b3ef6879ea From 5c07405b3cf8ad09667f6ff7349ec8c6b00bd2ac Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Wed, 22 May 2024 14:51:45 +0200 Subject: [PATCH 41/50] drop patch reference --- arm-none-eabi-gcc-cs.spec | 5 ----- 1 file changed, 5 deletions(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index d86842a..a86004a 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -20,7 +20,6 @@ Source1: README.fedora Source2: bootstrapexplain Patch1: gcc12-hack.patch -Patch2: gcc12-Wno-format-security.patch #BuildRequires: autoconf = 2.69 BuildRequires: gcc-c++ @@ -57,14 +56,10 @@ compile c++ code for the %{target} platform, instead of for the native %setup -q -c pushd gcc-%{gcc_ver} %patch -P1 -p0 -b .hack -#%patch -P2 -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 From 88625513160310859dba03de976e8aaa16b42a18 Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Wed, 22 May 2024 22:10:32 +0200 Subject: [PATCH 42/50] full build of gcc 14.1 --- arm-none-eabi-gcc-cs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index a86004a..dff6500 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -5,12 +5,12 @@ # we need newlib to compile complete gcc, but we need gcc to compile newlib, # so compile minimal gcc first -%global bootstrap 1 +%global bootstrap 0 Name: %{target}-gcc-cs Epoch: 1 Version: 14.1.0 -Release: 0%{?dist} +Release: 1%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -292,6 +292,9 @@ popd %endif %changelog +* 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 From ffaf211d179ee16abeb312769c824d4df6dc3283 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 17:25:25 +0000 Subject: [PATCH 43/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index dff6500..e921a1c 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 14.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -292,6 +292,9 @@ popd %endif %changelog +* 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 From e71b9ddc2fce76c9fc5b15cb196b392b187c1614 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 11:32:39 +0000 Subject: [PATCH 44/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index e921a1c..e00f1f3 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 14.1.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -292,6 +292,9 @@ popd %endif %changelog +* 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 From fa08ac1d1820b34cd4bab9394cab2c50292b95cd Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Tue, 15 Apr 2025 18:50:54 +0200 Subject: [PATCH 45/50] rebuild for new arm-none-eabi-newlib --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index e00f1f3..5ae07b8 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 14.1.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -292,6 +292,9 @@ popd %endif %changelog +* 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 From 5e828f83274b1cf431a360a561fa2f2e0affc7c9 Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Mon, 19 May 2025 16:24:58 +0200 Subject: [PATCH 46/50] updated to 15.1.0 --- .gitignore | 1 + arm-none-eabi-gcc-cs.spec | 14 ++--- gcc12-hack.patch | 126 -------------------------------------- sources | 2 +- 4 files changed, 8 insertions(+), 135 deletions(-) delete mode 100644 gcc12-hack.patch diff --git a/.gitignore b/.gitignore index 4e4be9b..1a46f6a 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ /gcc-13.1.0.tar.xz /gcc-13.2.0.tar.xz /gcc-14.1.0.tar.xz +/gcc-15.1.0.tar.xz diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 5ae07b8..8fcd6d0 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 %{version} -%global gcc_short_ver 13.1 +%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,8 +9,8 @@ Name: %{target}-gcc-cs Epoch: 1 -Version: 14.1.0 -Release: 4%{?dist} +Version: 15.1.0 +Release: 1%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -19,8 +19,6 @@ Source0: http://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.xz Source1: README.fedora Source2: bootstrapexplain -Patch1: gcc12-hack.patch - #BuildRequires: autoconf = 2.69 BuildRequires: gcc-c++ BuildRequires: %{target}-binutils >= 2.21, zlib-devel gmp-devel mpfr-devel libmpc-devel flex autogen @@ -54,9 +52,6 @@ compile c++ code for the %{target} platform, instead of for the native %prep %setup -q -c -pushd gcc-%{gcc_ver} -%patch -P1 -p0 -b .hack -popd pushd gcc-%{gcc_ver}/libiberty #autoconf -f popd @@ -292,6 +287,9 @@ popd %endif %changelog +* 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 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 fdd984b..4cd8c6e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gcc-14.1.0.tar.xz) = e9e224f2b26646fcf038d28dfa08b94c623bc57941f99894a321d01c600f7c68aff6b8837fd25e73e540de1f8de5606e98694a62cdcdfb525ce768b3ef6879ea +SHA512 (gcc-15.1.0.tar.xz) = ddd35ca6c653dffa88f7c7ef9ee4cd806e156e0f3b30f4d63e75a8363361285cd566ee73127734cde6a934611de815bee3e32e24bfd2e0ab9f7ff35c929821c1 From 607d9ea5cd00d18f925a024e95c75220dc99d852 Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Wed, 21 May 2025 12:12:46 +0200 Subject: [PATCH 47/50] rebuild with refreshed newlib library --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 8fcd6d0..62bb451 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 15.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -287,6 +287,9 @@ popd %endif %changelog +* 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 From 1c738c8e547231fd786a1413a4967f6bd150efb1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 17:14:01 +0000 Subject: [PATCH 48/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index 62bb451..a90911b 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 15.1.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -287,6 +287,9 @@ popd %endif %changelog +* 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 From ed1cde7031f5f95e727ada991144a22b1960f073 Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: Thu, 18 Sep 2025 14:17:18 +0200 Subject: [PATCH 49/50] updated to 15.2.0 --- .gitignore | 1 + arm-none-eabi-gcc-cs.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 1a46f6a..dd1b09d 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ /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 a90911b..d2f1d88 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -9,8 +9,8 @@ Name: %{target}-gcc-cs Epoch: 1 -Version: 15.1.0 -Release: 3%{?dist} +Version: 15.2.0 +Release: 1%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -287,6 +287,9 @@ popd %endif %changelog +* 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 diff --git a/sources b/sources index 4cd8c6e..d34669e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gcc-15.1.0.tar.xz) = ddd35ca6c653dffa88f7c7ef9ee4cd806e156e0f3b30f4d63e75a8363361285cd566ee73127734cde6a934611de815bee3e32e24bfd2e0ab9f7ff35c929821c1 +SHA512 (gcc-15.2.0.tar.xz) = 89047a2e07bd9da265b507b516ed3635adb17491c7f4f67cf090f0bd5b3fc7f2ee6e4cc4008beef7ca884b6b71dffe2bb652b21f01a702e17b468cca2d10b2de From fcb5bb2fcd3eb085ff797d56f0d65faf369f57a2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 16 Jan 2026 03:55:06 +0000 Subject: [PATCH 50/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- arm-none-eabi-gcc-cs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arm-none-eabi-gcc-cs.spec b/arm-none-eabi-gcc-cs.spec index d2f1d88..c4a329a 100644 --- a/arm-none-eabi-gcc-cs.spec +++ b/arm-none-eabi-gcc-cs.spec @@ -10,7 +10,7 @@ Name: %{target}-gcc-cs Epoch: 1 Version: 15.2.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GNU GCC for cross-compilation for %{target} target 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/ @@ -287,6 +287,9 @@ 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