toolchain: gcc: add support for GCC 13
Release Notes: https://gcc.gnu.org/pipermail/gcc-announce/2023/000175.html Manually Refreshed: - 910-mbsd_multi.patch - 970-macos_arm64-building-fix.patch Automatically Refreshed: - 010-documentation.patch - 230-musl_libssp.patch - 300-mips_Os_cpu_rtx_cost_model.patch - 820-libgcc_pic.patch - 840-armv4_pass_fix-v4bx_to_ld.patch - 850-use_shared_libgcc.patch - 870-ppc_no_crtsavres.patch - 920-specs_nonfatal_getenv.patch Signed-off-by: Nick Hainke <vincent@systemli.org>
This commit is contained in:
parent
1e88a16248
commit
29128b0bd4
13 changed files with 40 additions and 28 deletions
|
@ -11,6 +11,9 @@ choice
|
||||||
|
|
||||||
config GCC_USE_VERSION_12
|
config GCC_USE_VERSION_12
|
||||||
bool "gcc 12.x"
|
bool "gcc 12.x"
|
||||||
|
|
||||||
|
config GCC_USE_VERSION_13
|
||||||
|
bool "gcc 13.x"
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config GCC_USE_GRAPHITE
|
config GCC_USE_GRAPHITE
|
||||||
|
|
|
@ -2,7 +2,12 @@ config GCC_VERSION_11
|
||||||
default y if GCC_USE_VERSION_11
|
default y if GCC_USE_VERSION_11
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
config GCC_VERSION_13
|
||||||
|
default y if GCC_USE_VERSION_13
|
||||||
|
bool
|
||||||
|
|
||||||
config GCC_VERSION
|
config GCC_VERSION
|
||||||
string
|
string
|
||||||
default "11.3.0" if GCC_VERSION_11
|
default "11.3.0" if GCC_VERSION_11
|
||||||
|
default "13.1.0" if GCC_VERSION_13
|
||||||
default "12.2.0"
|
default "12.2.0"
|
||||||
|
|
|
@ -37,6 +37,10 @@ ifeq ($(PKG_VERSION),12.2.0)
|
||||||
PKG_HASH:=e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
|
PKG_HASH:=e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(PKG_VERSION),13.1.0)
|
||||||
|
PKG_HASH:=61d684f0aa5e76ac6585ad8898a2427aade8979ed5e7f85492286c4dfc13ee86
|
||||||
|
endif
|
||||||
|
|
||||||
PATCH_DIR=../patches-$(GCC_MAJOR_VERSION).x
|
PATCH_DIR=../patches-$(GCC_MAJOR_VERSION).x
|
||||||
|
|
||||||
BUGURL=http://bugs.openwrt.org/
|
BUGURL=http://bugs.openwrt.org/
|
||||||
|
@ -187,10 +191,10 @@ define Host/SetToolchainInfo
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(GCC_MAJOR_VERSION),12)
|
ifeq ($(GCC_MAJOR_VERSION),11)
|
||||||
GCC_VERSION_FILE:=gcc/genversion.cc
|
|
||||||
else
|
|
||||||
GCC_VERSION_FILE:=gcc/version.c
|
GCC_VERSION_FILE:=gcc/version.c
|
||||||
|
else
|
||||||
|
GCC_VERSION_FILE:=gcc/genversion.cc
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(GCC_PREPARE),)
|
ifneq ($(GCC_PREPARE),)
|
||||||
|
|
|
@ -12,7 +12,7 @@ Date: Tue Feb 26 16:16:33 2013 +0000
|
||||||
|
|
||||||
--- a/gcc/Makefile.in
|
--- a/gcc/Makefile.in
|
||||||
+++ b/gcc/Makefile.in
|
+++ b/gcc/Makefile.in
|
||||||
@@ -3366,18 +3366,10 @@ doc/gcc.info: $(TEXI_GCC_FILES)
|
@@ -3397,18 +3397,10 @@ doc/gcc.info: $(TEXI_GCC_FILES)
|
||||||
doc/gccint.info: $(TEXI_GCCINT_FILES)
|
doc/gccint.info: $(TEXI_GCCINT_FILES)
|
||||||
doc/cppinternals.info: $(TEXI_CPPINT_FILES)
|
doc/cppinternals.info: $(TEXI_CPPINT_FILES)
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/gcc/gcc.cc
|
--- a/gcc/gcc.cc
|
||||||
+++ b/gcc/gcc.cc
|
+++ b/gcc/gcc.cc
|
||||||
@@ -985,7 +985,9 @@ proper position among the other output f
|
@@ -972,7 +972,9 @@ proper position among the other output f
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef LINK_SSP_SPEC
|
#ifndef LINK_SSP_SPEC
|
||||||
|
|
|
@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
|
|
||||||
--- a/gcc/config/mips/mips.cc
|
--- a/gcc/config/mips/mips.cc
|
||||||
+++ b/gcc/config/mips/mips.cc
|
+++ b/gcc/config/mips/mips.cc
|
||||||
@@ -20216,7 +20216,7 @@ mips_option_override (void)
|
@@ -20213,7 +20213,7 @@ mips_option_override (void)
|
||||||
flag_pcc_struct_return = 0;
|
flag_pcc_struct_return = 0;
|
||||||
|
|
||||||
/* Decide which rtx_costs structure to use. */
|
/* Decide which rtx_costs structure to use. */
|
||||||
|
|
|
@ -8,7 +8,7 @@ Date: Mon Oct 19 23:26:09 2009 +0000
|
||||||
|
|
||||||
--- a/libgcc/Makefile.in
|
--- a/libgcc/Makefile.in
|
||||||
+++ b/libgcc/Makefile.in
|
+++ b/libgcc/Makefile.in
|
||||||
@@ -930,11 +930,12 @@ $(libgcov-driver-objects): %$(objext): $
|
@@ -933,11 +933,12 @@ $(libgcov-driver-objects): %$(objext): $
|
||||||
|
|
||||||
# Static libraries.
|
# Static libraries.
|
||||||
libgcc.a: $(libgcc-objects)
|
libgcc.a: $(libgcc-objects)
|
||||||
|
@ -22,7 +22,7 @@ Date: Mon Oct 19 23:26:09 2009 +0000
|
||||||
-rm -f $@
|
-rm -f $@
|
||||||
|
|
||||||
objects="$(objects)"; \
|
objects="$(objects)"; \
|
||||||
@@ -958,7 +959,7 @@ all: libunwind.a
|
@@ -961,7 +962,7 @@ all: libunwind.a
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(enable_shared),yes)
|
ifeq ($(enable_shared),yes)
|
||||||
|
@ -31,7 +31,7 @@ Date: Mon Oct 19 23:26:09 2009 +0000
|
||||||
ifneq ($(LIBUNWIND),)
|
ifneq ($(LIBUNWIND),)
|
||||||
all: libunwind$(SHLIB_EXT)
|
all: libunwind$(SHLIB_EXT)
|
||||||
libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT)
|
libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT)
|
||||||
@@ -1164,6 +1165,10 @@ install-shared:
|
@@ -1167,6 +1168,10 @@ install-shared:
|
||||||
chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
|
chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
|
||||||
$(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
|
$(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ Date: Wed Feb 2 19:34:36 2011 +0000
|
||||||
|
|
||||||
--- a/gcc/config/arm/linux-eabi.h
|
--- a/gcc/config/arm/linux-eabi.h
|
||||||
+++ b/gcc/config/arm/linux-eabi.h
|
+++ b/gcc/config/arm/linux-eabi.h
|
||||||
@@ -91,10 +91,15 @@
|
@@ -88,10 +88,15 @@
|
||||||
#define MUSL_DYNAMIC_LINKER \
|
#define MUSL_DYNAMIC_LINKER \
|
||||||
"/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1"
|
"/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1"
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,8 @@ Date: Sun Feb 12 20:25:47 2012 +0000
|
||||||
SVN-Revision: 30486
|
SVN-Revision: 30486
|
||||||
--- a/gcc/config/arm/linux-eabi.h
|
--- a/gcc/config/arm/linux-eabi.h
|
||||||
+++ b/gcc/config/arm/linux-eabi.h
|
+++ b/gcc/config/arm/linux-eabi.h
|
||||||
@@ -132,10 +132,6 @@
|
@@ -129,10 +129,6 @@
|
||||||
"%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \
|
"%{Ofast|ffast-math|funsafe-math-optimizations:%{!shared:crtfastmath.o%s}} " \
|
||||||
LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC)
|
LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC)
|
||||||
|
|
||||||
-/* Use the default LIBGCC_SPEC, not the version in linux-elf.h, as we
|
-/* Use the default LIBGCC_SPEC, not the version in linux-elf.h, as we
|
||||||
|
@ -20,8 +20,8 @@ Date: Sun Feb 12 20:25:47 2012 +0000
|
||||||
is used. */
|
is used. */
|
||||||
--- a/gcc/config/linux.h
|
--- a/gcc/config/linux.h
|
||||||
+++ b/gcc/config/linux.h
|
+++ b/gcc/config/linux.h
|
||||||
@@ -71,6 +71,10 @@ see the files COPYING3 and COPYING.RUNTI
|
@@ -58,6 +58,10 @@ see the files COPYING3 and COPYING.RUNTI
|
||||||
builtin_version ("CRuntime_Musl"); \
|
builtin_assert ("system=posix"); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
+#ifndef LIBGCC_SPEC
|
+#ifndef LIBGCC_SPEC
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/gcc/config/rs6000/rs6000-logue.cc
|
--- a/gcc/config/rs6000/rs6000-logue.cc
|
||||||
+++ b/gcc/config/rs6000/rs6000-logue.cc
|
+++ b/gcc/config/rs6000/rs6000-logue.cc
|
||||||
@@ -348,7 +348,7 @@ rs6000_savres_strategy (rs6000_stack_t *
|
@@ -344,7 +344,7 @@ rs6000_savres_strategy (rs6000_stack_t *
|
||||||
/* Define cutoff for using out-of-line functions to save registers. */
|
/* Define cutoff for using out-of-line functions to save registers. */
|
||||||
if (DEFAULT_ABI == ABI_V4 || TARGET_ELF)
|
if (DEFAULT_ABI == ABI_V4 || TARGET_ELF)
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,7 +17,7 @@ Date: Tue Jul 31 00:52:27 2007 +0000
|
||||||
|
|
||||||
--- a/gcc/c-family/c-opts.cc
|
--- a/gcc/c-family/c-opts.cc
|
||||||
+++ b/gcc/c-family/c-opts.cc
|
+++ b/gcc/c-family/c-opts.cc
|
||||||
@@ -107,6 +107,9 @@ static dump_flags_t original_dump_flags;
|
@@ -104,6 +104,9 @@ static size_t include_cursor;
|
||||||
/* Whether any standard preincluded header has been preincluded. */
|
/* Whether any standard preincluded header has been preincluded. */
|
||||||
static bool done_preinclude;
|
static bool done_preinclude;
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ Date: Tue Jul 31 00:52:27 2007 +0000
|
||||||
static void handle_OPT_d (const char *);
|
static void handle_OPT_d (const char *);
|
||||||
static void set_std_cxx98 (int);
|
static void set_std_cxx98 (int);
|
||||||
static void set_std_cxx11 (int);
|
static void set_std_cxx11 (int);
|
||||||
@@ -478,6 +481,12 @@ c_common_handle_option (size_t scode, co
|
@@ -475,6 +478,12 @@ c_common_handle_option (size_t scode, co
|
||||||
flag_no_builtin = !value;
|
flag_no_builtin = !value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ Date: Tue Jul 31 00:52:27 2007 +0000
|
||||||
case OPT_fconstant_string_class_:
|
case OPT_fconstant_string_class_:
|
||||||
constant_string_class_name = arg;
|
constant_string_class_name = arg;
|
||||||
break;
|
break;
|
||||||
@@ -1218,6 +1227,47 @@ c_common_init (void)
|
@@ -1228,6 +1237,47 @@ c_common_init (void)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -90,7 +90,7 @@ Date: Tue Jul 31 00:52:27 2007 +0000
|
||||||
|
|
||||||
--- a/gcc/c-family/c.opt
|
--- a/gcc/c-family/c.opt
|
||||||
+++ b/gcc/c-family/c.opt
|
+++ b/gcc/c-family/c.opt
|
||||||
@@ -1755,6 +1755,9 @@ C++ ObjC++ Optimization Alias(fexception
|
@@ -1837,6 +1837,9 @@ C++ ObjC++ Optimization Alias(fexception
|
||||||
fhonor-std
|
fhonor-std
|
||||||
C++ ObjC++ WarnRemoved
|
C++ ObjC++ WarnRemoved
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@ Date: Tue Jul 31 00:52:27 2007 +0000
|
||||||
Assume normal C execution environment.
|
Assume normal C execution environment.
|
||||||
--- a/gcc/common.opt
|
--- a/gcc/common.opt
|
||||||
+++ b/gcc/common.opt
|
+++ b/gcc/common.opt
|
||||||
@@ -1770,6 +1770,9 @@ fharden-conditional-branches
|
@@ -1801,6 +1801,9 @@ fharden-conditional-branches
|
||||||
Common Var(flag_harden_conditional_branches) Optimization
|
Common Var(flag_harden_conditional_branches) Optimization
|
||||||
Harden conditional branches by checking reversed conditions.
|
Harden conditional branches by checking reversed conditions.
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@ Date: Tue Jul 31 00:52:27 2007 +0000
|
||||||
; On SVR4 targets, it also controls whether or not to emit a
|
; On SVR4 targets, it also controls whether or not to emit a
|
||||||
--- a/gcc/doc/invoke.texi
|
--- a/gcc/doc/invoke.texi
|
||||||
+++ b/gcc/doc/invoke.texi
|
+++ b/gcc/doc/invoke.texi
|
||||||
@@ -9596,6 +9596,17 @@ This option is only supported for C and
|
@@ -10061,6 +10061,17 @@ This option is only supported for C and
|
||||||
@option{-Wall} and by @option{-Wpedantic}, which can be disabled with
|
@option{-Wall} and by @option{-Wpedantic}, which can be disabled with
|
||||||
@option{-Wno-pointer-sign}.
|
@option{-Wno-pointer-sign}.
|
||||||
|
|
||||||
|
@ -129,12 +129,12 @@ Date: Tue Jul 31 00:52:27 2007 +0000
|
||||||
+The warning is quelled if @env{GCC_HONOUR_COPTS} is set to @samp{s}.
|
+The warning is quelled if @env{GCC_HONOUR_COPTS} is set to @samp{s}.
|
||||||
+This flag and environment variable only affect the C language.
|
+This flag and environment variable only affect the C language.
|
||||||
+
|
+
|
||||||
@item -Wstack-protector
|
|
||||||
@opindex Wstack-protector
|
@opindex Wstack-protector
|
||||||
@opindex Wno-stack-protector
|
@opindex Wno-stack-protector
|
||||||
|
@item -Wstack-protector
|
||||||
--- a/gcc/opts.cc
|
--- a/gcc/opts.cc
|
||||||
+++ b/gcc/opts.cc
|
+++ b/gcc/opts.cc
|
||||||
@@ -2692,6 +2692,9 @@ common_handle_option (struct gcc_options
|
@@ -2767,6 +2767,9 @@ common_handle_option (struct gcc_options
|
||||||
add_comma_separated_to_vector (&opts->x_flag_ignored_attributes, arg);
|
add_comma_separated_to_vector (&opts->x_flag_ignored_attributes, arg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ Date: Sat Apr 21 03:02:39 2012 +0000
|
||||||
|
|
||||||
--- a/gcc/gcc.cc
|
--- a/gcc/gcc.cc
|
||||||
+++ b/gcc/gcc.cc
|
+++ b/gcc/gcc.cc
|
||||||
@@ -10213,8 +10213,10 @@ getenv_spec_function (int argc, const ch
|
@@ -10174,8 +10174,10 @@ getenv_spec_function (int argc, const ch
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!value)
|
if (!value)
|
||||||
|
|
|
@ -17,10 +17,10 @@ Date: Mon Aug 16 13:16:21 2021 +0100
|
||||||
|
|
||||||
--- a/gcc/config/aarch64/aarch64.h
|
--- a/gcc/config/aarch64/aarch64.h
|
||||||
+++ b/gcc/config/aarch64/aarch64.h
|
+++ b/gcc/config/aarch64/aarch64.h
|
||||||
@@ -1290,7 +1290,7 @@ extern const char *aarch64_rewrite_mcpu
|
@@ -1185,7 +1185,7 @@ extern enum aarch64_code_model aarch64_c
|
||||||
#define MCPU_TO_MARCH_SPEC_FUNCTIONS \
|
|
||||||
{ "rewrite_mcpu", aarch64_rewrite_mcpu },
|
|
||||||
|
|
||||||
|
/* Extra specs when building a native AArch64-hosted compiler.
|
||||||
|
Option rewriting rules based on host system. */
|
||||||
-#if defined(__aarch64__)
|
-#if defined(__aarch64__)
|
||||||
+#if defined(__aarch64__) && ! defined(__APPLE__)
|
+#if defined(__aarch64__) && ! defined(__APPLE__)
|
||||||
extern const char *host_detect_local_cpu (int argc, const char **argv);
|
extern const char *host_detect_local_cpu (int argc, const char **argv);
|
||||||
|
|
Loading…
Reference in a new issue