From 67b8703a8c9e7de7fddbc73921148e8c5dc62ec7 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 6 May 2022 19:46:27 +0100 Subject: [PATCH] devkitPPC: update gcc to 12.1.0 --- build-devkit.sh | 2 +- .../{gcc-11.2.0.patch => gcc-12.1.0.patch} | 272 +++++------------- dkppc/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 79 insertions(+), 199 deletions(-) rename dkppc/patches/{gcc-11.2.0.patch => gcc-12.1.0.patch} (75%) diff --git a/build-devkit.sh b/build-devkit.sh index f93c0a4..5df0480 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash #--------------------------------------------------------------------------------- # devkitARM release 58 -# devkitPPC release 40 +# devkitPPC release 41 # devkitA64 release 19 #--------------------------------------------------------------------------------- diff --git a/dkppc/patches/gcc-11.2.0.patch b/dkppc/patches/gcc-12.1.0.patch similarity index 75% rename from dkppc/patches/gcc-11.2.0.patch rename to dkppc/patches/gcc-12.1.0.patch index ec882b0..4a6b4c7 100644 --- a/dkppc/patches/gcc-11.2.0.patch +++ b/dkppc/patches/gcc-12.1.0.patch @@ -1,8 +1,7 @@ -diff --git a/config/gthr.m4 b/config/gthr.m4 -index 4b937306ad0..bfd0375bd60 100644 ---- a/config/gthr.m4 -+++ b/config/gthr.m4 -@@ -13,6 +13,7 @@ AC_DEFUN([GCC_AC_THREAD_HEADER], +diff -NBaur gcc-12.1.0/config/gthr.m4 gcc-12.1.0-dkppc/config/gthr.m4 +--- gcc-12.1.0/config/gthr.m4 2022-05-06 08:30:56.000000000 +0100 ++++ gcc-12.1.0-dkppc/config/gthr.m4 2022-05-06 19:17:44.784777075 +0100 +@@ -13,6 +13,7 @@ case $1 in aix) thread_header=config/rs6000/gthr-aix.h ;; dce) thread_header=config/pa/gthr-dce.h ;; @@ -10,73 +9,10 @@ index 4b937306ad0..bfd0375bd60 100644 gcn) thread_header=config/gcn/gthr-gcn.h ;; lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/gcc/config.host b/gcc/config.host -index 0a02c33cc80..38f7adc655e 100644 ---- a/gcc/config.host -+++ b/gcc/config.host -@@ -251,6 +251,10 @@ case ${host} in - host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o" - host_lto_plugin_soname=liblto_plugin.dll - ;; -+ aarch64-*-darwin*) -+ out_host_hook_obj="${out_host_hook_obj} host-aarch64-darwin.o" -+ host_xmake_file="${host_xmake_file} aarch64/x-darwin" -+ ;; - i[34567]86-*-darwin* | x86_64-*-darwin*) - out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o" - host_xmake_file="${host_xmake_file} i386/x-darwin" -diff --git a/gcc/config/aarch64/host-aarch64-darwin.c b/gcc/config/aarch64/host-aarch64-darwin.c -new file mode 100644 -index 00000000000..92c38b0b9db ---- /dev/null -+++ b/gcc/config/aarch64/host-aarch64-darwin.c -@@ -0,0 +1,32 @@ -+/* i386-darwin host-specific hook definitions. -+ Copyright (C) 2003-2021 Free Software Foundation, Inc. -+ -+This file is part of GCC. -+ -+GCC is free software; you can redistribute it and/or modify it under -+the terms of the GNU General Public License as published by the Free -+Software Foundation; either version 3, or (at your option) any later -+version. -+ -+GCC is distributed in the hope that it will be useful, but WITHOUT ANY -+WARRANTY; without even the implied warranty of MERCHANTABILITY or -+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -+for more details. -+ -+You should have received a copy of the GNU General Public License -+along with GCC; see the file COPYING3. If not see -+. */ -+ -+#define IN_TARGET_CODE 1 -+ -+#include "config.h" -+#include "system.h" -+#include "coretypes.h" -+#include "hosthooks.h" -+#include "hosthooks-def.h" -+#include "config/host-darwin.h" -+ -+/* Darwin doesn't do anything special for aarch64 hosts; this file exists just -+ to include config/host-darwin.h. */ -+ -+const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER; -diff --git a/gcc/config/aarch64/x-darwin b/gcc/config/aarch64/x-darwin -new file mode 100644 -index 00000000000..6d788d5e89c ---- /dev/null -+++ b/gcc/config/aarch64/x-darwin -@@ -0,0 +1,3 @@ -+host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c -+ $(COMPILE) $< -+ $(POSTCOMPILE) -diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c -index 360a280b23a..2c03947999a 100644 ---- a/gcc/config/i386/host-mingw32.c -+++ b/gcc/config/i386/host-mingw32.c -@@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void); +diff -NBaur gcc-12.1.0/gcc/config/i386/host-mingw32.cc gcc-12.1.0-dkppc/gcc/config/i386/host-mingw32.cc +--- gcc-12.1.0/gcc/config/i386/host-mingw32.cc 2022-05-06 08:30:56.000000000 +0100 ++++ gcc-12.1.0-dkppc/gcc/config/i386/host-mingw32.cc 2022-05-06 19:17:44.784777075 +0100 +@@ -45,7 +45,11 @@ static inline void w32_error(const char*, const char*, int, const char*); /* FIXME: Is this big enough? */ @@ -88,11 +24,10 @@ index 360a280b23a..2c03947999a 100644 /* Granularity for reserving address space. */ static size_t va_granularity = 0x10000; -diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h -index 65d1fa2cd1f..51991aab75c 100644 ---- a/gcc/config/newlib-stdint.h -+++ b/gcc/config/newlib-stdint.h -@@ -25,7 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +diff -NBaur gcc-12.1.0/gcc/config/newlib-stdint.h gcc-12.1.0-dkppc/gcc/config/newlib-stdint.h +--- gcc-12.1.0/gcc/config/newlib-stdint.h 2022-05-06 08:30:57.000000000 +0100 ++++ gcc-12.1.0-dkppc/gcc/config/newlib-stdint.h 2022-05-06 19:17:44.784777075 +0100 +@@ -25,7 +25,7 @@ /* newlib uses 32-bit long in certain cases for all non-SPU targets. */ #ifndef STDINT_LONG32 @@ -101,19 +36,18 @@ index 65d1fa2cd1f..51991aab75c 100644 #endif #define SIG_ATOMIC_TYPE "int" -diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h -index a7953fad965..04abd41239b 100644 ---- a/gcc/config/rs6000/rs6000.h -+++ b/gcc/config/rs6000/rs6000.h -@@ -196,6 +196,7 @@ ASM_OPT_ANY +diff -NBaur gcc-12.1.0/gcc/config/rs6000/rs6000.h gcc-12.1.0-dkppc/gcc/config/rs6000/rs6000.h +--- gcc-12.1.0/gcc/config/rs6000/rs6000.h 2022-05-06 08:30:57.000000000 +0100 ++++ gcc-12.1.0-dkppc/gcc/config/rs6000/rs6000.h 2022-05-06 19:22:10.793624730 +0100 +@@ -196,6 +196,7 @@ /* -mcpu=native handling only makes sense with compiler running on an PowerPC chip. If changing this condition, also change - the condition in driver-rs6000.c. */ + the condition in driver-rs6000.cc. */ +#if 0 #if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX) - /* In driver-rs6000.c. */ + /* In driver-rs6000.cc. */ extern const char *host_detect_local_cpu (int argc, const char **argv); -@@ -207,6 +208,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); +@@ -207,6 +208,8 @@ #else #define ASM_CPU_NATIVE_SPEC "%(asm_default)" #endif @@ -122,11 +56,10 @@ index a7953fad965..04abd41239b 100644 #ifndef CC1_CPU_SPEC #ifdef HAVE_LOCAL_CPU_DETECT -diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h -index 510abe169c5..988e82007b0 100644 ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -590,7 +590,11 @@ GNU_USER_TARGET_CC1_SPEC +diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.h +--- gcc-12.1.0/gcc/config/rs6000/sysv4.h 2022-05-06 08:30:57.000000000 +0100 ++++ gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.h 2022-05-06 19:17:44.784777075 +0100 +@@ -589,7 +589,11 @@ /* Default starting address if specified. */ #define LINK_START_SPEC "\ @@ -139,7 +72,7 @@ index 510abe169c5..988e82007b0 100644 myellowknife : %(link_start_yellowknife) ; \ mmvme : %(link_start_mvme) ; \ msim : %(link_start_sim) ; \ -@@ -621,7 +625,8 @@ GNU_USER_TARGET_CC1_SPEC +@@ -620,7 +624,8 @@ /* Any specific OS flags. */ #define LINK_OS_SPEC "\ @@ -149,7 +82,7 @@ index 510abe169c5..988e82007b0 100644 myellowknife : %(link_os_yellowknife) ; \ mmvme : %(link_os_mvme) ; \ msim : %(link_os_sim) ; \ -@@ -636,7 +641,10 @@ GNU_USER_TARGET_CC1_SPEC +@@ -635,7 +640,10 @@ /* Override rs6000.h definition. */ #undef CPP_SPEC #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \ @@ -161,7 +94,7 @@ index 510abe169c5..988e82007b0 100644 myellowknife : %(cpp_os_yellowknife) ; \ mmvme : %(cpp_os_mvme) ; \ msim : %(cpp_os_sim) ; \ -@@ -650,7 +658,10 @@ GNU_USER_TARGET_CC1_SPEC +@@ -649,7 +657,10 @@ #undef STARTFILE_SPEC #define STARTFILE_SPEC "\ @@ -173,7 +106,7 @@ index 510abe169c5..988e82007b0 100644 myellowknife : %(startfile_yellowknife) ; \ mmvme : %(startfile_mvme) ; \ msim : %(startfile_sim) ; \ -@@ -664,7 +675,8 @@ GNU_USER_TARGET_CC1_SPEC +@@ -663,7 +674,8 @@ #undef LIB_SPEC #define LIB_SPEC "\ @@ -183,7 +116,7 @@ index 510abe169c5..988e82007b0 100644 myellowknife : %(lib_yellowknife) ; \ mmvme : %(lib_mvme) ; \ msim : %(lib_sim) ; \ -@@ -674,11 +686,12 @@ GNU_USER_TARGET_CC1_SPEC +@@ -673,11 +685,12 @@ mcall-openbsd: %(lib_openbsd) ; \ : %(lib_default) }" @@ -198,7 +131,7 @@ index 510abe169c5..988e82007b0 100644 myellowknife : %(endfile_yellowknife) ; \ mmvme : %(endfile_mvme) ; \ msim : %(endfile_sim) ; \ -@@ -694,16 +707,27 @@ GNU_USER_TARGET_CC1_SPEC +@@ -693,16 +706,27 @@ /* Motorola ADS support. */ #define LIB_ADS_SPEC "--start-group -lads -lc --end-group" @@ -226,7 +159,7 @@ index 510abe169c5..988e82007b0 100644 /* Motorola Yellowknife support. */ #define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group" -@@ -851,6 +875,7 @@ ncrtn.o%s" +@@ -850,6 +874,7 @@ #undef SUBTARGET_EXTRA_SPECS #define SUBTARGET_EXTRA_SPECS \ { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ @@ -234,7 +167,7 @@ index 510abe169c5..988e82007b0 100644 { "lib_ads", LIB_ADS_SPEC }, \ { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ { "lib_mvme", LIB_MVME_SPEC }, \ -@@ -860,6 +885,7 @@ ncrtn.o%s" +@@ -859,6 +884,7 @@ { "lib_netbsd", LIB_NETBSD_SPEC }, \ { "lib_openbsd", LIB_OPENBSD_SPEC }, \ { "lib_default", LIB_DEFAULT_SPEC }, \ @@ -242,7 +175,7 @@ index 510abe169c5..988e82007b0 100644 { "startfile_ads", STARTFILE_ADS_SPEC }, \ { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ { "startfile_mvme", STARTFILE_MVME_SPEC }, \ -@@ -869,6 +895,7 @@ ncrtn.o%s" +@@ -868,6 +894,7 @@ { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ { "startfile_default", STARTFILE_DEFAULT_SPEC }, \ @@ -250,7 +183,7 @@ index 510abe169c5..988e82007b0 100644 { "endfile_ads", ENDFILE_ADS_SPEC }, \ { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ { "endfile_mvme", ENDFILE_MVME_SPEC }, \ -@@ -880,7 +907,11 @@ ncrtn.o%s" +@@ -879,7 +906,11 @@ { "endfile_default", ENDFILE_DEFAULT_SPEC }, \ { "link_shlib", LINK_SHLIB_SPEC }, \ { "link_start", LINK_START_SPEC }, \ @@ -262,7 +195,7 @@ index 510abe169c5..988e82007b0 100644 { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ { "link_start_mvme", LINK_START_MVME_SPEC }, \ { "link_start_sim", LINK_START_SIM_SPEC }, \ -@@ -890,6 +921,7 @@ ncrtn.o%s" +@@ -889,6 +920,7 @@ { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \ { "link_start_default", LINK_START_DEFAULT_SPEC }, \ { "link_os", LINK_OS_SPEC }, \ @@ -270,7 +203,7 @@ index 510abe169c5..988e82007b0 100644 { "link_os_ads", LINK_OS_ADS_SPEC }, \ { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ { "link_os_mvme", LINK_OS_MVME_SPEC }, \ -@@ -901,6 +933,9 @@ ncrtn.o%s" +@@ -900,6 +932,9 @@ { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ { "link_secure_plt", LINK_SECURE_PLT_SPEC }, \ @@ -280,11 +213,10 @@ index 510abe169c5..988e82007b0 100644 { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ -diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt -index 7ab55c49940..763709e907e 100644 ---- a/gcc/config/rs6000/sysv4.opt -+++ b/gcc/config/rs6000/sysv4.opt -@@ -124,6 +124,26 @@ mads +diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.opt gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.opt +--- gcc-12.1.0/gcc/config/rs6000/sysv4.opt 2022-05-06 08:30:57.000000000 +0100 ++++ gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.opt 2022-05-06 19:17:44.784777075 +0100 +@@ -124,6 +124,26 @@ Target RejectNegative Link with libads.a, libc.a and crt0.o. @@ -311,11 +243,10 @@ index 7ab55c49940..763709e907e 100644 myellowknife Target RejectNegative Link with libyk.a, libc.a and crt0.o. -diff --git a/gcc/configure b/gcc/configure -index 9b28369e3bf..79b95018a89 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -12593,7 +12593,7 @@ case ${enable_threads} in +diff -NBaur gcc-12.1.0/gcc/configure gcc-12.1.0-dkppc/gcc/configure +--- gcc-12.1.0/gcc/configure 2022-05-06 08:30:57.000000000 +0100 ++++ gcc-12.1.0-dkppc/gcc/configure 2022-05-06 19:17:44.788859483 +0100 +@@ -12884,7 +12884,7 @@ # default target_thread_file='single' ;; @@ -324,11 +255,10 @@ index 9b28369e3bf..79b95018a89 100755 single | tpf | vxworks | win32) target_thread_file=${enable_threads} ;; -diff --git a/gcc/configure.ac b/gcc/configure.ac -index 162e08cbc02..34d35d0de8d 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -1925,7 +1925,7 @@ case ${enable_threads} in +diff -NBaur gcc-12.1.0/gcc/configure.ac gcc-12.1.0-dkppc/gcc/configure.ac +--- gcc-12.1.0/gcc/configure.ac 2022-05-06 08:30:57.000000000 +0100 ++++ gcc-12.1.0-dkppc/gcc/configure.ac 2022-05-06 19:17:44.788859483 +0100 +@@ -1994,7 +1994,7 @@ # default target_thread_file='single' ;; @@ -337,10 +267,9 @@ index 162e08cbc02..34d35d0de8d 100644 single | tpf | vxworks | win32) target_thread_file=${enable_threads} ;; -diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S -index b372409dd42..708ba039963 100644 ---- a/libgcc/config/rs6000/crtrestvr.S -+++ b/libgcc/config/rs6000/crtrestvr.S +diff -NBaur gcc-12.1.0/libgcc/config/rs6000/crtrestvr.S gcc-12.1.0-dkppc/libgcc/config/rs6000/crtrestvr.S +--- gcc-12.1.0/libgcc/config/rs6000/crtrestvr.S 2022-05-06 08:30:59.000000000 +0100 ++++ gcc-12.1.0-dkppc/libgcc/config/rs6000/crtrestvr.S 2022-05-06 19:17:44.792941894 +0100 @@ -24,7 +24,7 @@ /* On PowerPC64 Linux, these functions are provided by the linker. */ @@ -350,15 +279,14 @@ index b372409dd42..708ba039963 100644 #undef __ALTIVEC__ #define __ALTIVEC__ 1 #include "ppc-asm.h" -@@ -86,3 +86,4 @@ FUNC_END(_restvr_20) +@@ -86,3 +86,4 @@ CFI_ENDPROC #endif +#endif -diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S -index 48a4d65eed4..6835ea69279 100644 ---- a/libgcc/config/rs6000/crtsavevr.S -+++ b/libgcc/config/rs6000/crtsavevr.S +diff -NBaur gcc-12.1.0/libgcc/config/rs6000/crtsavevr.S gcc-12.1.0-dkppc/libgcc/config/rs6000/crtsavevr.S +--- gcc-12.1.0/libgcc/config/rs6000/crtsavevr.S 2022-05-06 08:30:59.000000000 +0100 ++++ gcc-12.1.0-dkppc/libgcc/config/rs6000/crtsavevr.S 2022-05-06 19:17:44.792941894 +0100 @@ -24,7 +24,7 @@ /* On PowerPC64 Linux, these functions are provided by the linker. */ @@ -368,16 +296,14 @@ index 48a4d65eed4..6835ea69279 100644 #undef __ALTIVEC__ #define __ALTIVEC__ 1 #include "ppc-asm.h" -@@ -86,3 +86,4 @@ FUNC_END(_savevr_20) +@@ -86,3 +86,4 @@ CFI_ENDPROC #endif +#endif -diff --git a/libgcc/config/rs6000/gthr-dkp.c b/libgcc/config/rs6000/gthr-dkp.c -new file mode 100644 -index 00000000000..26180aa7f36 ---- /dev/null -+++ b/libgcc/config/rs6000/gthr-dkp.c +diff -NBaur gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.c gcc-12.1.0-dkppc/libgcc/config/rs6000/gthr-dkp.c +--- gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.c 1970-01-01 01:00:00.000000000 +0100 ++++ gcc-12.1.0-dkppc/libgcc/config/rs6000/gthr-dkp.c 2022-05-06 19:17:44.792941894 +0100 @@ -0,0 +1,319 @@ +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ @@ -698,11 +624,9 @@ index 00000000000..26180aa7f36 + + return __gthr_impl_cond_destroy(__cond); +} -diff --git a/libgcc/config/rs6000/gthr-dkp.h b/libgcc/config/rs6000/gthr-dkp.h -new file mode 100644 -index 00000000000..72ecf82ab83 ---- /dev/null -+++ b/libgcc/config/rs6000/gthr-dkp.h +diff -NBaur gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.h gcc-12.1.0-dkppc/libgcc/config/rs6000/gthr-dkp.h +--- gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.h 1970-01-01 01:00:00.000000000 +0100 ++++ gcc-12.1.0-dkppc/libgcc/config/rs6000/gthr-dkp.h 2022-05-06 19:17:44.792941894 +0100 @@ -0,0 +1,187 @@ +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ @@ -891,21 +815,19 @@ index 00000000000..72ecf82ab83 +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_DKP_H */ -diff --git a/libgcc/config/rs6000/t-ppccomm b/libgcc/config/rs6000/t-ppccomm -index fb812d3801f..7f6669d530f 100644 ---- a/libgcc/config/rs6000/t-ppccomm -+++ b/libgcc/config/rs6000/t-ppccomm +diff -NBaur gcc-12.1.0/libgcc/config/rs6000/t-ppccomm gcc-12.1.0-dkppc/libgcc/config/rs6000/t-ppccomm +--- gcc-12.1.0/libgcc/config/rs6000/t-ppccomm 2022-05-06 08:30:59.000000000 +0100 ++++ gcc-12.1.0-dkppc/libgcc/config/rs6000/t-ppccomm 2022-05-06 19:17:44.792941894 +0100 @@ -1,4 +1,5 @@ LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c \ + $(srcdir)/config/rs6000/gthr-dkp.c \ $(srcdir)/config/rs6000/tramp.S # This can't end up in shared libgcc -diff --git a/libgcc/configure b/libgcc/configure -index 4919a56f518..546b3413deb 100755 ---- a/libgcc/configure -+++ b/libgcc/configure -@@ -5679,6 +5679,7 @@ tm_file="${tm_file_}" +diff -NBaur gcc-12.1.0/libgcc/configure gcc-12.1.0-dkppc/libgcc/configure +--- gcc-12.1.0/libgcc/configure 2022-05-06 08:30:59.000000000 +0100 ++++ gcc-12.1.0-dkppc/libgcc/configure 2022-05-06 19:17:44.792941894 +0100 +@@ -5689,6 +5689,7 @@ case $target_thread_file in aix) thread_header=config/rs6000/gthr-aix.h ;; dce) thread_header=config/pa/gthr-dce.h ;; @@ -913,11 +835,10 @@ index 4919a56f518..546b3413deb 100755 gcn) thread_header=config/gcn/gthr-gcn.h ;; lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c -index 675930db043..bdfd6f6b0bb 100644 ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -325,7 +325,7 @@ register_tm_clones (void) +diff -NBaur gcc-12.1.0/libgcc/crtstuff.c gcc-12.1.0-dkppc/libgcc/crtstuff.c +--- gcc-12.1.0/libgcc/crtstuff.c 2022-05-06 08:30:59.000000000 +0100 ++++ gcc-12.1.0-dkppc/libgcc/crtstuff.c 2022-05-06 19:17:44.792941894 +0100 +@@ -325,7 +325,7 @@ #ifdef OBJECT_FORMAT_ELF @@ -926,11 +847,10 @@ index 675930db043..bdfd6f6b0bb 100644 /* Declare the __dso_handle variable. It should have a unique value in every shared-object; in a main program its value is zero. The object should in any case be protected. This means the instance -diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index 326a279c54f..d2cb9d18294 100755 ---- a/libstdc++-v3/configure -+++ b/libstdc++-v3/configure -@@ -15698,6 +15698,7 @@ $as_echo "$target_thread_file" >&6; } +diff -NBaur gcc-12.1.0/libstdc++-v3/configure gcc-12.1.0-dkppc/libstdc++-v3/configure +--- gcc-12.1.0/libstdc++-v3/configure 2022-05-06 08:31:00.000000000 +0100 ++++ gcc-12.1.0-dkppc/libstdc++-v3/configure 2022-05-06 19:17:44.801106712 +0100 +@@ -15765,6 +15765,7 @@ case $target_thread_file in aix) thread_header=config/rs6000/gthr-aix.h ;; dce) thread_header=config/pa/gthr-dce.h ;; @@ -938,43 +858,3 @@ index 326a279c54f..d2cb9d18294 100755 gcn) thread_header=config/gcn/gthr-gcn.h ;; lynx) thread_header=config/gthr-lynx.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;; -diff --git a/libstdc++-v3/include/c_compatibility/fenv.h b/libstdc++-v3/include/c_compatibility/fenv.h -index 0413e3b7c25..ff5f8bbe1a1 100644 ---- a/libstdc++-v3/include/c_compatibility/fenv.h -+++ b/libstdc++-v3/include/c_compatibility/fenv.h -@@ -26,6 +26,10 @@ - * This is a Standard C++ Library header. - */ - -+#if !defined __cplusplus || defined _GLIBCXX_INCLUDE_NEXT_C_HEADERS -+# include_next -+#else -+ - #ifndef _GLIBCXX_FENV_H - #define _GLIBCXX_FENV_H 1 - -@@ -79,3 +83,5 @@ namespace std - #endif // C++11 - - #endif // _GLIBCXX_FENV_H -+ -+#endif // __cplusplus -diff --git a/libstdc++-v3/include/c_global/cfenv b/libstdc++-v3/include/c_global/cfenv -index 0b0ec35a837..d24cb1a3c81 100644 ---- a/libstdc++-v3/include/c_global/cfenv -+++ b/libstdc++-v3/include/c_global/cfenv -@@ -37,9 +37,11 @@ - - #include - --#if _GLIBCXX_HAVE_FENV_H --# include --#endif -+// Need to ensure this finds the C library's not a libstdc++ -+// wrapper that might already be installed later in the include search path. -+#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS -+#include_next -+#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS - - #ifdef _GLIBCXX_USE_C99_FENV_TR1 - diff --git a/dkppc/scripts/build-gcc.sh b/dkppc/scripts/build-gcc.sh index c734e8c..177c388 100755 --- a/dkppc/scripts/build-gcc.sh +++ b/dkppc/scripts/build-gcc.sh @@ -101,7 +101,7 @@ then --with-newlib \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --prefix=$prefix \ - --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 40" \ + --with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 41" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ $EXTRA_GCC_PARAMS \ diff --git a/select_toolchain.sh b/select_toolchain.sh index 5ddd770..d2c4608 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -39,7 +39,7 @@ case "$VERSION" in toolchain=DEVKITARM ;; "2" ) - GCC_VER=11.2.0 + GCC_VER=12.1.0 BINUTILS_VER=2.37 MN_BINUTILS_VER=2.24 NEWLIB_VER=4.2.0.20211231