diff --git a/dkarm-eabi/patches/gcc-9.1.0.patch b/dkarm-eabi/patches/gcc-10.1.0.patch similarity index 78% rename from dkarm-eabi/patches/gcc-9.1.0.patch rename to dkarm-eabi/patches/gcc-10.1.0.patch index 9d91e29..a814931 100644 --- a/dkarm-eabi/patches/gcc-9.1.0.patch +++ b/dkarm-eabi/patches/gcc-10.1.0.patch @@ -1,8 +1,8 @@ diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in -index 3a55f6ac6d2..1a16dcc1c74 100644 +index 728be500b80..74c1abad635 100644 --- a/gcc/config/arm/arm-cpus.in +++ b/gcc/config/arm/arm-cpus.in -@@ -352,7 +352,7 @@ begin arch armv6k +@@ -392,7 +392,7 @@ begin arch armv6k tune for mpcore tune flags CO_PROC base 6K @@ -12,15 +12,9 @@ index 3a55f6ac6d2..1a16dcc1c74 100644 optalias vfpv2 fp option nofp remove ALL_FP diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf -index 8911d489f14..b1976386bab 100644 +index 3d92bd23322..35cefcde676 100644 --- a/gcc/config/arm/t-arm-elf +++ b/gcc/config/arm/t-arm-elf -@@ -1,4 +1,4 @@ --# Copyright (C) 1998-2019 Free Software Foundation, Inc. -+# Copyright (C) 1998-2017 Free Software Foundation, Inc. - # - # This file is part of GCC. - # @@ -16,111 +16,14 @@ # along with GCC; see the file COPYING3. If not see # . @@ -56,7 +50,7 @@ index 8911d489f14..b1976386bab 100644 -all_v7_a_r := armv7-a armv7ve armv7-r - -all_v8_archs := armv8-a armv8-a+crc armv8.1-a armv8.2-a armv8.3-a armv8.4-a \ -- armv8.5-a +- armv8.5-a armv8.6-a - -# No floating point variants, require thumb1 softfp -all_nofp_t := armv6-m armv6s-m armv8-m.base @@ -139,7 +133,7 @@ index 8911d489f14..b1976386bab 100644 -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h -index cf9ba6b4dc0..008d7555ecb 100644 +index 9ad2947505f..1790caa8e88 100644 --- a/gcc/config/arm/unknown-elf.h +++ b/gcc/config/arm/unknown-elf.h @@ -29,7 +29,7 @@ @@ -158,11 +152,53 @@ index cf9ba6b4dc0..008d7555ecb 100644 -#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %{!nolibc:%L} --end-group" +#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" + +diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c +index 250fef59b55..36b2239aa5d 100644 +--- a/gcc/config/i386/host-mingw32.c ++++ b/gcc/config/i386/host-mingw32.c +@@ -44,9 +44,6 @@ static size_t mingw32_gt_pch_alloc_granularity (void); + + static inline void w32_error(const char*, const char*, int, const char*); + +-/* FIXME: Is this big enough? */ +-static const size_t pch_VA_max_size = 128 * 1024 * 1024; +- + /* Granularity for reserving address space. */ + static size_t va_granularity = 0x10000; + +@@ -88,9 +85,6 @@ static void * + mingw32_gt_pch_get_address (size_t size, int) + { + void* res; +- size = (size + va_granularity - 1) & ~(va_granularity - 1); +- if (size > pch_VA_max_size) +- return NULL; + + /* FIXME: We let system determine base by setting first arg to NULL. + Allocating at top of available address space avoids unnecessary +@@ -100,7 +94,7 @@ mingw32_gt_pch_get_address (size_t size, int) + If we allocate at bottom we need to reserve the address as early + as possible and at the same point in each invocation. */ + +- res = VirtualAlloc (NULL, pch_VA_max_size, ++ res = VirtualAlloc (NULL, size, + MEM_RESERVE | MEM_TOP_DOWN, + PAGE_NOACCESS); + if (!res) +@@ -150,7 +144,7 @@ mingw32_gt_pch_use_address (void *addr, size_t size, int fd, + + /* Offset must be also be a multiple of allocation granularity for + this to work. We can't change the offset. */ +- if ((offset & (va_granularity - 1)) != 0 || size > pch_VA_max_size) ++ if ((offset & (va_granularity - 1)) != 0) + return -1; + + diff --git a/gcc/gcc.c b/gcc/gcc.c -index 4f57765b012..2899202cc05 100644 +index 9f790db0daf..97f52d0b893 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -794,6 +794,11 @@ proper position among the other output files. */ +@@ -793,6 +793,11 @@ proper position among the other output files. */ #endif #endif @@ -174,7 +210,7 @@ index 4f57765b012..2899202cc05 100644 /* config.h can define STARTFILE_SPEC to override the default crt0 files. */ #ifndef STARTFILE_SPEC #define STARTFILE_SPEC \ -@@ -1086,6 +1091,7 @@ static const char *link_spec = LINK_SPEC; +@@ -1085,6 +1090,7 @@ static const char *link_spec = LINK_SPEC; static const char *lib_spec = LIB_SPEC; static const char *link_gomp_spec = ""; static const char *libgcc_spec = LIBGCC_SPEC; @@ -182,7 +218,7 @@ index 4f57765b012..2899202cc05 100644 static const char *endfile_spec = ENDFILE_SPEC; static const char *startfile_spec = STARTFILE_SPEC; static const char *linker_name_spec = LINKER_NAME; -@@ -1583,6 +1589,7 @@ static struct spec_list static_specs[] = +@@ -1582,6 +1588,7 @@ static struct spec_list static_specs[] = INIT_STATIC_SPEC ("lib", &lib_spec), INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), INIT_STATIC_SPEC ("libgcc", &libgcc_spec), @@ -200,16 +236,3 @@ index dddddc7c444..c2502597953 100644 # the option is safe. -LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions +LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 4927a9f8977..2a79e3e137d 100644 ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -47,7 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - - /* Target machine header files require this define. */ - #define IN_LIBGCC2 -- -+#define USED_FOR_TARGET - /* FIXME: Including auto-host is incorrect, but until we have - identified the set of defines that need to go into auto-target.h, - this will have to do. */ diff --git a/select_toolchain.sh b/select_toolchain.sh index 4537d1d..ff709ae 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -30,7 +30,7 @@ done case "$VERSION" in "1" ) - GCC_VER=9.1.0 + GCC_VER=10.1.0 BINUTILS_VER=2.32 NEWLIB_VER=3.1.0 GDB_VER=8.2.1