Compare commits

...

16 Commits

Author SHA1 Message Date
Dave Murphy
84ca4f5c18 devkitA64: remove old gcc patch 2023-04-02 19:42:31 +01:00
Dave Murphy
a07a271bdb devkitA64: add __DEVKITPRO__ to built-in defines 2023-04-02 19:42:30 +01:00
Dave Murphy
026a498a51 devkitA64: update newlib to 4.3.0 2023-04-02 19:42:30 +01:00
omerien
b5de354a1e Use https urls (#56) 2022-11-20 15:39:15 +00:00
Dave Murphy
ca6cded363 devkitA64: update gcc to 12.2.0 2022-11-13 11:23:23 +00:00
Dave Murphy
149a2358b8 devkitARM: remove stale patches 2022-11-08 10:43:28 +00:00
Dave Murphy
426c8d0e62 devkitARM: update gcc to 12.2.0 2022-11-06 20:46:02 +00:00
Dave Murphy
a33bf405d2 devkitARM: update binutils to 2.39 2022-11-06 20:44:51 +00:00
Dave Murphy
eac2e40528 devkitPPC: remove old patch file 2022-05-22 21:21:35 +01:00
Dave Murphy
e377ef05f6 devkitPPC: remove obsolete flag setting 2022-05-06 21:15:06 +01:00
Dave Murphy
67b8703a8c devkitPPC: update gcc to 12.1.0 2022-05-06 19:46:27 +01:00
Dave Murphy
df8b66a808 devkitA64: update gcc to 12.1.0 2022-05-06 17:46:22 +01:00
Dave Murphy
219b5dcebd devkitARM: update gcc to 12.1.0 2022-05-06 13:27:04 +01:00
Dave Murphy
a370be5c4a devkitA64: update gcc to 12.1.0-RC-20220429 2022-05-02 22:19:23 +01:00
Dave Murphy
a84866105a devkitARM: update gcc to 12.1.0-RC-20220429 2022-04-30 18:00:21 +01:00
Dave Murphy
c0146427e1 devkitARM: update binutils to 2.38 2022-04-30 17:57:26 +01:00
12 changed files with 3311 additions and 2221 deletions

View File

@@ -24,9 +24,9 @@ For building gcc libgmp, libmpfr and libmpc are required - these are built as
static libraries to make packaging simpler. If you're building the tools for static libraries to make packaging simpler. If you're building the tools for
personal use then the versions packaged by your chosen distro should suffice. personal use then the versions packaged by your chosen distro should suffice.
http://gmplib.org/ https://gmplib.org/
http://www.mpfr.org/ https://www.mpfr.org/
http://www.multiprecision.org/ https://www.multiprecision.org/
sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev
@@ -34,10 +34,10 @@ Some of the tools for devkitARM and devkitPPC also require FreeImage, zlib,
expat, and libusb. Again these are built as static libraries for ease of expat, and libusb. Again these are built as static libraries for ease of
packaging but you can probably use the versions supplied by your distro. packaging but you can probably use the versions supplied by your distro.
http://freeimage.sourceforge.net/ https://freeimage.sourceforge.net/
http://www.zlib.net https://www.zlib.net
http://www.libusb.org https://www.libusb.org
http://expat.sourceforge.net/ https://expat.sourceforge.net/
sudo apt-get install libfreeimage-dev zlib1g-dev libusb-dev libudev-dev libexpat1-dev sudo apt-get install libfreeimage-dev zlib1g-dev libusb-dev libudev-dev libexpat1-dev

View File

@@ -1,8 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# devkitARM release 57 # devkitARM release 59
# devkitPPC release 40 # devkitPPC release 41
# devkitA64 release 18 # devkitA64 release 21
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
if [ 0 -eq 1 ] ; then if [ 0 -eq 1 ] ; then

View File

@@ -1,8 +1,8 @@
diff --git a/gcc/config.gcc b/gcc/config.gcc diff --git a/gcc/config.gcc b/gcc/config.gcc
index 357b0bed067..6b1e254785a 100644 index c5064dd3766..decfa78fb7b 100644
--- a/gcc/config.gcc --- a/gcc/config.gcc
+++ b/gcc/config.gcc +++ b/gcc/config.gcc
@@ -1090,7 +1090,14 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) @@ -1093,7 +1093,14 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
tmake_file="${tmake_file} aarch64/t-aarch64" tmake_file="${tmake_file} aarch64/t-aarch64"
case $target in case $target in
aarch64-*-elf*) aarch64-*-elf*)
@@ -17,23 +17,8 @@ index 357b0bed067..6b1e254785a 100644
;; ;;
aarch64-*-fuchsia*) aarch64-*-fuchsia*)
tm_file="${tm_file} fuchsia.h" tm_file="${tm_file} fuchsia.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/aarch64-elf-raw.h b/gcc/config/aarch64/aarch64-elf-raw.h diff --git a/gcc/config/aarch64/aarch64-elf-raw.h b/gcc/config/aarch64/aarch64-elf-raw.h
index e986149e400..9264d53f32c 100644 index d4d820a9d54..ed5dd440846 100644
--- a/gcc/config/aarch64/aarch64-elf-raw.h --- a/gcc/config/aarch64/aarch64-elf-raw.h
+++ b/gcc/config/aarch64/aarch64-elf-raw.h +++ b/gcc/config/aarch64/aarch64-elf-raw.h
@@ -22,6 +22,7 @@ @@ -22,6 +22,7 @@
@@ -45,7 +30,7 @@ index e986149e400..9264d53f32c 100644
#define ENDFILE_SPEC \ #define ENDFILE_SPEC \
" crtend%O%s crtn%O%s " \ " crtend%O%s crtn%O%s " \
diff --git a/gcc/config/aarch64/aarch64-opts.h b/gcc/config/aarch64/aarch64-opts.h diff --git a/gcc/config/aarch64/aarch64-opts.h b/gcc/config/aarch64/aarch64-opts.h
index af3b7364a74..6df7a0dc8a1 100644 index 93572fe8330..9327c52a819 100644
--- a/gcc/config/aarch64/aarch64-opts.h --- a/gcc/config/aarch64/aarch64-opts.h
+++ b/gcc/config/aarch64/aarch64-opts.h +++ b/gcc/config/aarch64/aarch64-opts.h
@@ -48,6 +48,12 @@ enum aarch64_tls_type { @@ -48,6 +48,12 @@ enum aarch64_tls_type {
@@ -61,11 +46,11 @@ index af3b7364a74..6df7a0dc8a1 100644
/* The code model defines the address generation strategy. /* The code model defines the address generation strategy.
Most have a PIC and non-PIC variant. */ Most have a PIC and non-PIC variant. */
enum aarch64_code_model { enum aarch64_code_model {
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index c2f4b27f6e4..ec05f056568 100644 index 5c9e7791a12..718db155d57 100644
--- a/gcc/config/aarch64/aarch64.c --- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.cc
@@ -18053,8 +18053,24 @@ aarch64_load_tp (rtx target) @@ -19413,8 +19413,24 @@ aarch64_load_tp (rtx target)
|| !register_operand (target, Pmode)) || !register_operand (target, Pmode))
target = gen_reg_rtx (Pmode); target = gen_reg_rtx (Pmode);
@@ -93,10 +78,10 @@ index c2f4b27f6e4..ec05f056568 100644
} }
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index bfffbcd6abf..814de8c2918 100644 index 359b6e8561f..f5b596fc312 100644
--- a/gcc/config/aarch64/aarch64.h --- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h
@@ -1191,6 +1191,10 @@ typedef struct @@ -1245,6 +1245,10 @@ typedef struct
/* Check TLS Descriptors mechanism is selected. */ /* Check TLS Descriptors mechanism is selected. */
#define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS) #define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS)
@@ -107,7 +92,7 @@ index bfffbcd6abf..814de8c2918 100644
extern enum aarch64_code_model aarch64_cmodel; extern enum aarch64_code_model aarch64_cmodel;
/* When using the tiny addressing model conditional and unconditional branches /* When using the tiny addressing model conditional and unconditional branches
@@ -1236,7 +1240,7 @@ extern const char *aarch64_rewrite_mcpu (int argc, const char **argv); @@ -1290,7 +1294,7 @@ extern const char *aarch64_rewrite_mcpu (int argc, const char **argv);
#define MCPU_TO_MARCH_SPEC_FUNCTIONS \ #define MCPU_TO_MARCH_SPEC_FUNCTIONS \
{ "rewrite_mcpu", aarch64_rewrite_mcpu }, { "rewrite_mcpu", aarch64_rewrite_mcpu },
@@ -117,10 +102,10 @@ index bfffbcd6abf..814de8c2918 100644
#define HAVE_LOCAL_CPU_DETECT #define HAVE_LOCAL_CPU_DETECT
# define EXTRA_SPEC_FUNCTIONS \ # define EXTRA_SPEC_FUNCTIONS \
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index aef6da9732d..1cbffec5ef8 100644 index 34b8059b45b..4debacf3cb9 100644
--- a/gcc/config/aarch64/aarch64.md --- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md
@@ -6772,11 +6772,22 @@ @@ -6906,11 +6906,22 @@
(define_insn "aarch64_load_tp_hard" (define_insn "aarch64_load_tp_hard"
[(set (match_operand:DI 0 "register_operand" "=r") [(set (match_operand:DI 0 "register_operand" "=r")
(unspec:DI [(const_int 0)] UNSPEC_TLS))] (unspec:DI [(const_int 0)] UNSPEC_TLS))]
@@ -146,7 +131,7 @@ index aef6da9732d..1cbffec5ef8 100644
;; instructions in the TLS stubs, in order to enable linker relaxation. ;; instructions in the TLS stubs, in order to enable linker relaxation.
;; Therefore we treat the stubs as an atomic sequence. ;; Therefore we treat the stubs as an atomic sequence.
diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt
index 32191cf1acf..49b03937bdd 100644 index 92220b26ee2..68abc1764f6 100644
--- a/gcc/config/aarch64/aarch64.opt --- a/gcc/config/aarch64/aarch64.opt
+++ b/gcc/config/aarch64/aarch64.opt +++ b/gcc/config/aarch64/aarch64.opt
@@ -122,6 +122,21 @@ Enum(aarch64_tls_size) String(32) Value(32) @@ -122,6 +122,21 @@ Enum(aarch64_tls_size) String(32) Value(32)
@@ -180,49 +165,11 @@ index 32191cf1acf..49b03937bdd 100644
Generate local calls to out-of-line atomic operations. Generate local calls to out-of-line atomic operations.
-param=aarch64-sve-compare-costs= -param=aarch64-sve-compare-costs=
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
+<http://www.gnu.org/licenses/>. */
+
+#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/t-aarch64 b/gcc/config/aarch64/t-aarch64 diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
index 7e1606c47ac..3b650075724 100644 index ba74abc0a43..5202ec05d0b 100644
--- a/gcc/config/aarch64/t-aarch64 --- a/gcc/config/aarch64/t-aarch64
+++ b/gcc/config/aarch64/t-aarch64 +++ b/gcc/config/aarch64/t-aarch64
@@ -165,8 +165,10 @@ aarch64-cc-fusion.o: $(srcdir)/config/aarch64/aarch64-cc-fusion.cc \ @@ -177,8 +177,10 @@ aarch64-cc-fusion.o: $(srcdir)/config/aarch64/aarch64-cc-fusion.cc \
$(srcdir)/config/aarch64/aarch64-cc-fusion.cc $(srcdir)/config/aarch64/aarch64-cc-fusion.cc
comma=, comma=,
@@ -235,21 +182,12 @@ index 7e1606c47ac..3b650075724 100644
insn-conditions.md: s-check-sve-md insn-conditions.md: s-check-sve-md
s-check-sve-md: $(srcdir)/config/aarch64/check-sve-md.awk \ s-check-sve-md: $(srcdir)/config/aarch64/check-sve-md.awk \
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/devkitpro.h b/gcc/config/devkitpro.h diff --git a/gcc/config/devkitpro.h b/gcc/config/devkitpro.h
new file mode 100644 new file mode 100644
index 00000000000..11ba0f5ab1c index 00000000000..a25459e4352
--- /dev/null --- /dev/null
+++ b/gcc/config/devkitpro.h +++ b/gcc/config/devkitpro.h
@@ -0,0 +1,31 @@ @@ -0,0 +1,32 @@
+/* Definitions for devkitPro toolchains. +/* Definitions for devkitPro toolchains.
+ Copyright (C) 2016-2018 Free Software Foundation, Inc. + Copyright (C) 2016-2018 Free Software Foundation, Inc.
+ +
@@ -278,6 +216,7 @@ index 00000000000..11ba0f5ab1c
+#define TARGET_OS_CPP_BUILTINS() \ +#define TARGET_OS_CPP_BUILTINS() \
+ do { \ + do { \
+ builtin_define ("__DEVKITA64__"); \ + builtin_define ("__DEVKITA64__"); \
+ builtin_define ("__DEVKITPRO__"); \
+ } while (0) + } while (0)
+ +
+ +
@@ -316,10 +255,10 @@ index 00000000000..9acbbf9d27c
+Driver +Driver
+ +
+; This comment is to ensure we retain the blank line above. +; This comment is to ensure we retain the blank line above.
diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c diff --git a/gcc/config/i386/host-mingw32.cc b/gcc/config/i386/host-mingw32.cc
index 360a280b23a..2c03947999a 100644 index 3b0d83ffc60..6e063b6ccd0 100644
--- a/gcc/config/i386/host-mingw32.c --- a/gcc/config/i386/host-mingw32.cc
+++ b/gcc/config/i386/host-mingw32.c +++ b/gcc/config/i386/host-mingw32.cc
@@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void); @@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void);
static inline void w32_error(const char*, const char*, int, const char*); static inline void w32_error(const char*, const char*, int, const char*);
@@ -332,11 +271,11 @@ index 360a280b23a..2c03947999a 100644
/* Granularity for reserving address space. */ /* Granularity for reserving address space. */
static size_t va_granularity = 0x10000; static size_t va_granularity = 0x10000;
diff --git a/gcc/gcc.c b/gcc/gcc.c diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 4d790f9dd4a..10f0d08524c 100644 index bb07cc244e3..eff31f5093d 100644
--- a/gcc/gcc.c --- a/gcc/gcc.cc
+++ b/gcc/gcc.c +++ b/gcc/gcc.cc
@@ -853,6 +853,11 @@ proper position among the other output files. */ @@ -860,6 +860,11 @@ proper position among the other output files. */
#endif #endif
#endif #endif
@@ -348,7 +287,7 @@ index 4d790f9dd4a..10f0d08524c 100644
/* config.h can define STARTFILE_SPEC to override the default crt0 files. */ /* config.h can define STARTFILE_SPEC to override the default crt0 files. */
#ifndef STARTFILE_SPEC #ifndef STARTFILE_SPEC
#define STARTFILE_SPEC \ #define STARTFILE_SPEC \
@@ -1197,6 +1202,7 @@ static const char *link_spec = LINK_SPEC; @@ -1204,6 +1209,7 @@ static const char *link_spec = LINK_SPEC;
static const char *lib_spec = LIB_SPEC; static const char *lib_spec = LIB_SPEC;
static const char *link_gomp_spec = ""; static const char *link_gomp_spec = "";
static const char *libgcc_spec = LIBGCC_SPEC; static const char *libgcc_spec = LIBGCC_SPEC;
@@ -356,7 +295,7 @@ index 4d790f9dd4a..10f0d08524c 100644
static const char *endfile_spec = ENDFILE_SPEC; static const char *endfile_spec = ENDFILE_SPEC;
static const char *startfile_spec = STARTFILE_SPEC; static const char *startfile_spec = STARTFILE_SPEC;
static const char *linker_name_spec = LINKER_NAME; static const char *linker_name_spec = LINKER_NAME;
@@ -1702,6 +1708,7 @@ static struct spec_list static_specs[] = @@ -1709,6 +1715,7 @@ static struct spec_list static_specs[] =
INIT_STATIC_SPEC ("lib", &lib_spec), INIT_STATIC_SPEC ("lib", &lib_spec),
INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec),
INIT_STATIC_SPEC ("libgcc", &libgcc_spec), INIT_STATIC_SPEC ("libgcc", &libgcc_spec),
@@ -365,7 +304,7 @@ index 4d790f9dd4a..10f0d08524c 100644
INIT_STATIC_SPEC ("cross_compile", &cross_compile), INIT_STATIC_SPEC ("cross_compile", &cross_compile),
INIT_STATIC_SPEC ("version", &compiler_version), INIT_STATIC_SPEC ("version", &compiler_version),
diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c
index 675930db043..bdfd6f6b0bb 100644 index b98b86a5a88..3f62b3616d2 100644
--- a/libgcc/crtstuff.c --- a/libgcc/crtstuff.c
+++ b/libgcc/crtstuff.c +++ b/libgcc/crtstuff.c
@@ -325,7 +325,7 @@ register_tm_clones (void) @@ -325,7 +325,7 @@ register_tm_clones (void)
@@ -378,7 +317,7 @@ index 675930db043..bdfd6f6b0bb 100644
in every shared-object; in a main program its value is zero. The in every shared-object; in a main program its value is zero. The
object should in any case be protected. This means the instance object should in any case be protected. This means the instance
diff --git a/libgcc/gthr.h b/libgcc/gthr.h diff --git a/libgcc/gthr.h b/libgcc/gthr.h
index cca3f294b7b..deffea4107b 100644 index 7943c94f6d1..6d23362f7f0 100644
--- a/libgcc/gthr.h --- a/libgcc/gthr.h
+++ b/libgcc/gthr.h +++ b/libgcc/gthr.h
@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see @@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -391,10 +330,10 @@ index cca3f294b7b..deffea4107b 100644
#define GTHREAD_USE_WEAK 0 #define GTHREAD_USE_WEAK 0
#endif #endif
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index 40a41ef2a1c..4d06c6f9953 100644 index 7708f4cf6c5..d3f484a5623 100644
--- a/libstdc++-v3/include/Makefile.am --- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am +++ b/libstdc++-v3/include/Makefile.am
@@ -1347,6 +1347,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} @@ -1366,6 +1366,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
-e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
-e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
-e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \
@@ -403,10 +342,10 @@ index 40a41ef2a1c..4d06c6f9953 100644
< $< > $@ < $< > $@
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
index fcd2b5b2d40..c034367994a 100644 index 7023c2de23e..d150a616d13 100644
--- a/libstdc++-v3/include/Makefile.in --- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in
@@ -1830,6 +1830,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} @@ -1857,6 +1857,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
-e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
-e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
-e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \
@@ -414,43 +353,3 @@ index fcd2b5b2d40..c034367994a 100644
-e 's,^#include "\(.*\)",#include <bits/\1>,g' \ -e 's,^#include "\(.*\)",#include <bits/\1>,g' \
< $< > $@ < $< > $@
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 <fenv.h>
+#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 <bits/c++config.h>
-#if _GLIBCXX_HAVE_FENV_H
-# include <fenv.h>
-#endif
+// Need to ensure this finds the C library's <fenv.h> not a libstdc++
+// wrapper that might already be installed later in the include search path.
+#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
+#include_next <fenv.h>
+#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS
#ifdef _GLIBCXX_USE_C99_FENV_TR1

View File

@@ -62,7 +62,7 @@ then
--enable-lto \ --enable-lto \
--disable-tm-clone-registry \ --disable-tm-clone-registry \
--disable-__cxa_atexit \ --disable-__cxa_atexit \
--with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 18" \ --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 21" \
$CROSS_PARAMS \ $CROSS_PARAMS \
$CROSS_GCC_PARAMS \ $CROSS_GCC_PARAMS \
$EXTRA_GCC_PARAMS \ $EXTRA_GCC_PARAMS \

View File

@@ -1,17 +0,0 @@
diff --git a/libiberty/rust-demangle.c b/libiberty/rust-demangle.c
index df09b7b8fddb82b21f97afee8821166d92220094..ac1eb8eb02c6d42533c0faa7aebdce432ac947e9 100644 (file)
--- a/libiberty/rust-demangle.c
+++ b/libiberty/rust-demangle.c
@@ -75,10 +75,10 @@ struct rust_demangler
int version;
/* Recursion depth. */
- uint recursion;
+ unsigned recursion;
/* Maximum number of times demangle_path may be called recursively. */
#define RUST_MAX_RECURSION_COUNT 1024
-#define RUST_NO_RECURSION_LIMIT ((uint) -1)
+#define RUST_NO_RECURSION_LIMIT ((unsigned) -1)
uint64_t bound_lifetime_depth;
};

View File

@@ -1,70 +1,7 @@
diff --git a/gcc/config.host b/gcc/config.host diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/arm-cpus.in gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/arm-cpus.in
index 0a02c33cc80..38f7adc655e 100644 --- gcc-12.1.0-RC-20220429/gcc/config/arm/arm-cpus.in 2022-04-29 14:58:22.000000000 +0100
--- a/gcc/config.host +++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/arm-cpus.in 2022-04-30 13:31:09.120134164 +0100
+++ b/gcc/config.host @@ -412,7 +412,7 @@
@@ -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
+<http://www.gnu.org/licenses/>. */
+
+#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/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in
index ab4b6acf5ea..2b8d0da296f 100644
--- a/gcc/config/arm/arm-cpus.in
+++ b/gcc/config/arm/arm-cpus.in
@@ -402,7 +402,7 @@ begin arch armv6k
tune for mpcore tune for mpcore
tune flags CO_PROC tune flags CO_PROC
base 6K base 6K
@@ -73,11 +10,16 @@ index ab4b6acf5ea..2b8d0da296f 100644
option fp add VFPv2 FP_DBL option fp add VFPv2 FP_DBL
optalias vfpv2 fp optalias vfpv2 fp
option nofp remove ALL_FP option nofp remove ALL_FP
diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/t-arm-elf gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/t-arm-elf
index d68def30867..d31f1e31ee6 100644 --- gcc-12.1.0-RC-20220429/gcc/config/arm/t-arm-elf 2022-04-29 14:58:22.000000000 +0100
--- a/gcc/config/arm/t-arm-elf +++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/t-arm-elf 2022-04-30 13:31:39.759455398 +0100
+++ b/gcc/config/arm/t-arm-elf @@ -1,4 +1,4 @@
@@ -16,111 +16,14 @@ -# Copyright (C) 1998-2022 Free Software Foundation, Inc.
+# Copyright (C) 1998-2021 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -16,120 +16,14 @@
# along with GCC; see the file COPYING3. If not see # along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>. # <http://www.gnu.org/licenses/>.
@@ -103,6 +45,8 @@ index d68def30867..d31f1e31ee6 100644
-# it seems to work ok. -# it seems to work ok.
-v8_fps := simd fp16 crypto fp16+crypto dotprod fp16fml -v8_fps := simd fp16 crypto fp16+crypto dotprod fp16fml
- -
-v9_fps := simd fp16 crypto fp16+crypto dotprod fp16fml
-
-# We don't do anything special with these. Pre-v4t probably doesn't work. -# We don't do anything special with these. Pre-v4t probably doesn't work.
-all_early_nofp := armv4 armv4t armv5t -all_early_nofp := armv4 armv4t armv5t
- -
@@ -114,6 +58,8 @@ index d68def30867..d31f1e31ee6 100644
-all_v8_archs := armv8-a armv8-a+crc armv8.1-a armv8.2-a armv8.3-a armv8.4-a \ -all_v8_archs := armv8-a armv8-a+crc armv8.1-a armv8.2-a armv8.3-a armv8.4-a \
- armv8.5-a armv8.6-a - armv8.5-a armv8.6-a
- -
-all_v9_archs := armv9-a
-
-# No floating point variants, require thumb1 softfp -# No floating point variants, require thumb1 softfp
-all_nofp_t := armv6-m armv6s-m armv8-m.base -all_nofp_t := armv6-m armv6s-m armv8-m.base
- -
@@ -171,11 +117,16 @@ index d68def30867..d31f1e31ee6 100644
-MULTILIB_MATCHES += $(foreach ARCH, $(all_v7_a_r), \ -MULTILIB_MATCHES += $(foreach ARCH, $(all_v7_a_r), \
- march?armv7+fp=march?$(ARCH) \ - march?armv7+fp=march?$(ARCH) \
- march?armv7+fp=march?$(ARCH)+fp) - march?armv7+fp=march?$(ARCH)+fp)
-
-MULTILIB_MATCHES += $(foreach ARCH, $(all_v8_archs), \ -MULTILIB_MATCHES += $(foreach ARCH, $(all_v8_archs), \
- march?armv7+fp=march?$(ARCH) \ - march?armv7+fp=march?$(ARCH) \
- $(foreach FPARCH, $(v8_fps), \ - $(foreach FPARCH, $(v8_fps), \
- march?armv7+fp=march?$(ARCH)+$(FPARCH))) - march?armv7+fp=march?$(ARCH)+$(FPARCH)))
-MULTILIB_MATCHES += $(foreach ARCH, $(all_v9_archs), \
- march?armv7+fp=march?$(ARCH) \
- $(foreach FPARCH, $(v9_fps), \
- march?armv7+fp=march?$(ARCH)+$(FPARCH)))
+MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard +MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard
-MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \ -MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \
@@ -194,10 +145,9 @@ index d68def30867..d31f1e31ee6 100644
-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mthumb/march.armv7+fp/mfloat-abi.hard -MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mthumb/march.armv7+fp/mfloat-abi.hard
-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=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 -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 diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/arm/unknown-elf.h gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/unknown-elf.h
index cca6f0ece54..8b78c28c7bb 100644 --- gcc-12.1.0-RC-20220429/gcc/config/arm/unknown-elf.h 2022-04-29 14:58:22.000000000 +0100
--- a/gcc/config/arm/unknown-elf.h +++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/arm/unknown-elf.h 2022-04-30 13:31:09.120134164 +0100
+++ b/gcc/config/arm/unknown-elf.h
@@ -29,7 +29,7 @@ @@ -29,7 +29,7 @@
#endif #endif
@@ -214,11 +164,10 @@ index cca6f0ece54..8b78c28c7bb 100644
-#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %{!nolibc:%L} --end-group" -#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" +#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 diff -NBaur gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc gcc-12.1.0-RC-20220429-dkarm/gcc/config/i386/host-mingw32.cc
index 360a280b23a..2c03947999a 100644 --- gcc-12.1.0-RC-20220429/gcc/config/i386/host-mingw32.cc 2022-04-29 14:58:22.000000000 +0100
--- a/gcc/config/i386/host-mingw32.c +++ gcc-12.1.0-RC-20220429-dkarm/gcc/config/i386/host-mingw32.cc 2022-04-30 13:31:09.120134164 +0100
+++ b/gcc/config/i386/host-mingw32.c @@ -45,7 +45,11 @@
@@ -45,7 +45,11 @@ static size_t mingw32_gt_pch_alloc_granularity (void);
static inline void w32_error(const char*, const char*, int, const char*); static inline void w32_error(const char*, const char*, int, const char*);
/* FIXME: Is this big enough? */ /* FIXME: Is this big enough? */
@@ -230,11 +179,10 @@ index 360a280b23a..2c03947999a 100644
/* Granularity for reserving address space. */ /* Granularity for reserving address space. */
static size_t va_granularity = 0x10000; static size_t va_granularity = 0x10000;
diff --git a/gcc/gcc.c b/gcc/gcc.c diff -NBaur gcc-12.1.0-RC-20220429/gcc/gcc.cc gcc-12.1.0-RC-20220429-dkarm/gcc/gcc.cc
index 4d790f9dd4a..10f0d08524c 100644 --- gcc-12.1.0-RC-20220429/gcc/gcc.cc 2022-04-29 14:58:23.000000000 +0100
--- a/gcc/gcc.c +++ gcc-12.1.0-RC-20220429-dkarm/gcc/gcc.cc 2022-04-30 13:31:09.120134164 +0100
+++ b/gcc/gcc.c @@ -860,6 +860,11 @@
@@ -853,6 +853,11 @@ proper position among the other output files. */
#endif #endif
#endif #endif
@@ -246,7 +194,7 @@ index 4d790f9dd4a..10f0d08524c 100644
/* config.h can define STARTFILE_SPEC to override the default crt0 files. */ /* config.h can define STARTFILE_SPEC to override the default crt0 files. */
#ifndef STARTFILE_SPEC #ifndef STARTFILE_SPEC
#define STARTFILE_SPEC \ #define STARTFILE_SPEC \
@@ -1197,6 +1202,7 @@ static const char *link_spec = LINK_SPEC; @@ -1204,6 +1209,7 @@
static const char *lib_spec = LIB_SPEC; static const char *lib_spec = LIB_SPEC;
static const char *link_gomp_spec = ""; static const char *link_gomp_spec = "";
static const char *libgcc_spec = LIBGCC_SPEC; static const char *libgcc_spec = LIBGCC_SPEC;
@@ -254,7 +202,7 @@ index 4d790f9dd4a..10f0d08524c 100644
static const char *endfile_spec = ENDFILE_SPEC; static const char *endfile_spec = ENDFILE_SPEC;
static const char *startfile_spec = STARTFILE_SPEC; static const char *startfile_spec = STARTFILE_SPEC;
static const char *linker_name_spec = LINKER_NAME; static const char *linker_name_spec = LINKER_NAME;
@@ -1702,6 +1708,7 @@ static struct spec_list static_specs[] = @@ -1709,6 +1715,7 @@
INIT_STATIC_SPEC ("lib", &lib_spec), INIT_STATIC_SPEC ("lib", &lib_spec),
INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec), INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec),
INIT_STATIC_SPEC ("libgcc", &libgcc_spec), INIT_STATIC_SPEC ("libgcc", &libgcc_spec),
@@ -262,21 +210,19 @@ index 4d790f9dd4a..10f0d08524c 100644
INIT_STATIC_SPEC ("startfile", &startfile_spec), INIT_STATIC_SPEC ("startfile", &startfile_spec),
INIT_STATIC_SPEC ("cross_compile", &cross_compile), INIT_STATIC_SPEC ("cross_compile", &cross_compile),
INIT_STATIC_SPEC ("version", &compiler_version), INIT_STATIC_SPEC ("version", &compiler_version),
diff --git a/libgcc/config/arm/t-bpabi b/libgcc/config/arm/t-bpabi diff -NBaur gcc-12.1.0-RC-20220429/libgcc/config/arm/t-bpabi gcc-12.1.0-RC-20220429-dkarm/libgcc/config/arm/t-bpabi
index dddddc7c444..c2502597953 100644 --- gcc-12.1.0-RC-20220429/libgcc/config/arm/t-bpabi 2022-04-29 14:58:25.000000000 +0100
--- a/libgcc/config/arm/t-bpabi +++ gcc-12.1.0-RC-20220429-dkarm/libgcc/config/arm/t-bpabi 2022-04-30 13:31:09.120134164 +0100
+++ b/libgcc/config/arm/t-bpabi @@ -17,4 +17,4 @@
@@ -17,4 +17,4 @@ SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver
# On ARM, specifying -fnon-call-exceptions will needlessly pull in # On ARM, specifying -fnon-call-exceptions will needlessly pull in
# the unwinder in simple programs which use 64-bit division. Omitting # the unwinder in simple programs which use 64-bit division. Omitting
# the option is safe. # the option is safe.
-LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions -LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions
+LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions +LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions
diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c diff -NBaur gcc-12.1.0-RC-20220429/libgcc/crtstuff.c gcc-12.1.0-RC-20220429-dkarm/libgcc/crtstuff.c
index 675930db043..bdfd6f6b0bb 100644 --- gcc-12.1.0-RC-20220429/libgcc/crtstuff.c 2022-04-29 14:58:25.000000000 +0100
--- a/libgcc/crtstuff.c +++ gcc-12.1.0-RC-20220429-dkarm/libgcc/crtstuff.c 2022-04-30 13:31:09.120134164 +0100
+++ b/libgcc/crtstuff.c @@ -325,7 +325,7 @@
@@ -325,7 +325,7 @@ register_tm_clones (void)
#ifdef OBJECT_FORMAT_ELF #ifdef OBJECT_FORMAT_ELF
@@ -285,43 +231,3 @@ index 675930db043..bdfd6f6b0bb 100644
/* Declare the __dso_handle variable. It should have a unique value /* Declare the __dso_handle variable. It should have a unique value
in every shared-object; in a main program its value is zero. The in every shared-object; in a main program its value is zero. The
object should in any case be protected. This means the instance object should in any case be protected. This means the instance
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 <fenv.h>
+#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 <bits/c++config.h>
-#if _GLIBCXX_HAVE_FENV_H
-# include <fenv.h>
-#endif
+// Need to ensure this finds the C library's <fenv.h> not a libstdc++
+// wrapper that might already be installed later in the include search path.
+#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
+#include_next <fenv.h>
+#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS
#ifdef _GLIBCXX_USE_C99_FENV_TR1

View File

@@ -66,7 +66,7 @@ then
--with-system-zlib \ --with-system-zlib \
--disable-tm-clone-registry \ --disable-tm-clone-registry \
--disable-__cxa_atexit \ --disable-__cxa_atexit \
--with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 57" \ --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 59" \
$CROSS_PARAMS \ $CROSS_PARAMS \
$CROSS_GCC_PARAMS \ $CROSS_GCC_PARAMS \
$EXTRA_GCC_PARAMS \ $EXTRA_GCC_PARAMS \

View File

@@ -1,12 +0,0 @@
diff -NBaur binutils-2.36.1/opcodes/ppc-opc.c binutils-2.36.1-ppc/opcodes/ppc-opc.c
--- binutils-2.36.1/opcodes/ppc-opc.c 2021-01-09 10:47:34.000000000 +0000
+++ binutils-2.36.1-ppc/opcodes/ppc-opc.c 2021-02-14 19:41:09.350749949 +0000
@@ -4225,7 +4225,7 @@
#define MFDEC2 (PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE \
| PPC_OPCODE_TITAN)
#define BOOKE PPC_OPCODE_BOOKE
-#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS
+#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS
#define PPCE300 PPC_OPCODE_E300
#define PPCSPE PPC_OPCODE_SPE
#define PPCSPE2 PPC_OPCODE_SPE2

View File

@@ -1,8 +1,7 @@
diff --git a/config/gthr.m4 b/config/gthr.m4 diff -NBaur gcc-12.1.0/config/gthr.m4 gcc-12.1.0-dkppc/config/gthr.m4
index 4b937306ad0..bfd0375bd60 100644 --- gcc-12.1.0/config/gthr.m4 2022-05-06 08:30:56.000000000 +0100
--- a/config/gthr.m4 +++ gcc-12.1.0-dkppc/config/gthr.m4 2022-05-06 19:17:44.784777075 +0100
+++ b/config/gthr.m4 @@ -13,6 +13,7 @@
@@ -13,6 +13,7 @@ AC_DEFUN([GCC_AC_THREAD_HEADER],
case $1 in case $1 in
aix) thread_header=config/rs6000/gthr-aix.h ;; aix) thread_header=config/rs6000/gthr-aix.h ;;
dce) thread_header=config/pa/gthr-dce.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 ;; gcn) thread_header=config/gcn/gthr-gcn.h ;;
lynx) thread_header=config/gthr-lynx.h ;; lynx) thread_header=config/gthr-lynx.h ;;
mipssde) thread_header=config/mips/gthr-mipssde.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;;
diff --git a/gcc/config.host b/gcc/config.host diff -NBaur gcc-12.1.0/gcc/config/i386/host-mingw32.cc gcc-12.1.0-dkppc/gcc/config/i386/host-mingw32.cc
index 0a02c33cc80..38f7adc655e 100644 --- gcc-12.1.0/gcc/config/i386/host-mingw32.cc 2022-05-06 08:30:56.000000000 +0100
--- a/gcc/config.host +++ gcc-12.1.0-dkppc/gcc/config/i386/host-mingw32.cc 2022-05-06 19:17:44.784777075 +0100
+++ b/gcc/config.host @@ -45,7 +45,11 @@
@@ -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
+<http://www.gnu.org/licenses/>. */
+
+#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);
static inline void w32_error(const char*, const char*, int, const char*); static inline void w32_error(const char*, const char*, int, const char*);
/* FIXME: Is this big enough? */ /* FIXME: Is this big enough? */
@@ -88,11 +24,10 @@ index 360a280b23a..2c03947999a 100644
/* Granularity for reserving address space. */ /* Granularity for reserving address space. */
static size_t va_granularity = 0x10000; static size_t va_granularity = 0x10000;
diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h diff -NBaur gcc-12.1.0/gcc/config/newlib-stdint.h gcc-12.1.0-dkppc/gcc/config/newlib-stdint.h
index 65d1fa2cd1f..51991aab75c 100644 --- gcc-12.1.0/gcc/config/newlib-stdint.h 2022-05-06 08:30:57.000000000 +0100
--- a/gcc/config/newlib-stdint.h +++ gcc-12.1.0-dkppc/gcc/config/newlib-stdint.h 2022-05-06 19:17:44.784777075 +0100
+++ b/gcc/config/newlib-stdint.h @@ -25,7 +25,7 @@
@@ -25,7 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* newlib uses 32-bit long in certain cases for all non-SPU /* newlib uses 32-bit long in certain cases for all non-SPU
targets. */ targets. */
#ifndef STDINT_LONG32 #ifndef STDINT_LONG32
@@ -101,19 +36,18 @@ index 65d1fa2cd1f..51991aab75c 100644
#endif #endif
#define SIG_ATOMIC_TYPE "int" #define SIG_ATOMIC_TYPE "int"
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h diff -NBaur gcc-12.1.0/gcc/config/rs6000/rs6000.h gcc-12.1.0-dkppc/gcc/config/rs6000/rs6000.h
index a7953fad965..04abd41239b 100644 --- gcc-12.1.0/gcc/config/rs6000/rs6000.h 2022-05-06 08:30:57.000000000 +0100
--- a/gcc/config/rs6000/rs6000.h +++ gcc-12.1.0-dkppc/gcc/config/rs6000/rs6000.h 2022-05-06 19:22:10.793624730 +0100
+++ b/gcc/config/rs6000/rs6000.h @@ -196,6 +196,7 @@
@@ -196,6 +196,7 @@ ASM_OPT_ANY
/* -mcpu=native handling only makes sense with compiler running on /* -mcpu=native handling only makes sense with compiler running on
an PowerPC chip. If changing this condition, also change an PowerPC chip. If changing this condition, also change
the condition in driver-rs6000.c. */ the condition in driver-rs6000.cc. */
+#if 0 +#if 0
#if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX) #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); 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 #else
#define ASM_CPU_NATIVE_SPEC "%(asm_default)" #define ASM_CPU_NATIVE_SPEC "%(asm_default)"
#endif #endif
@@ -122,11 +56,10 @@ index a7953fad965..04abd41239b 100644
#ifndef CC1_CPU_SPEC #ifndef CC1_CPU_SPEC
#ifdef HAVE_LOCAL_CPU_DETECT #ifdef HAVE_LOCAL_CPU_DETECT
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.h gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.h
index 510abe169c5..988e82007b0 100644 --- gcc-12.1.0/gcc/config/rs6000/sysv4.h 2022-05-06 08:30:57.000000000 +0100
--- a/gcc/config/rs6000/sysv4.h +++ gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.h 2022-05-06 19:17:44.784777075 +0100
+++ b/gcc/config/rs6000/sysv4.h @@ -589,7 +589,11 @@
@@ -590,7 +590,11 @@ GNU_USER_TARGET_CC1_SPEC
/* Default starting address if specified. */ /* Default starting address if specified. */
#define LINK_START_SPEC "\ #define LINK_START_SPEC "\
@@ -139,7 +72,7 @@ index 510abe169c5..988e82007b0 100644
myellowknife : %(link_start_yellowknife) ; \ myellowknife : %(link_start_yellowknife) ; \
mmvme : %(link_start_mvme) ; \ mmvme : %(link_start_mvme) ; \
msim : %(link_start_sim) ; \ msim : %(link_start_sim) ; \
@@ -621,7 +625,8 @@ GNU_USER_TARGET_CC1_SPEC @@ -620,7 +624,8 @@
/* Any specific OS flags. */ /* Any specific OS flags. */
#define LINK_OS_SPEC "\ #define LINK_OS_SPEC "\
@@ -149,7 +82,7 @@ index 510abe169c5..988e82007b0 100644
myellowknife : %(link_os_yellowknife) ; \ myellowknife : %(link_os_yellowknife) ; \
mmvme : %(link_os_mvme) ; \ mmvme : %(link_os_mvme) ; \
msim : %(link_os_sim) ; \ msim : %(link_os_sim) ; \
@@ -636,7 +641,10 @@ GNU_USER_TARGET_CC1_SPEC @@ -635,7 +640,10 @@
/* Override rs6000.h definition. */ /* Override rs6000.h definition. */
#undef CPP_SPEC #undef CPP_SPEC
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \ #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \
@@ -161,7 +94,7 @@ index 510abe169c5..988e82007b0 100644
myellowknife : %(cpp_os_yellowknife) ; \ myellowknife : %(cpp_os_yellowknife) ; \
mmvme : %(cpp_os_mvme) ; \ mmvme : %(cpp_os_mvme) ; \
msim : %(cpp_os_sim) ; \ msim : %(cpp_os_sim) ; \
@@ -650,7 +658,10 @@ GNU_USER_TARGET_CC1_SPEC @@ -649,7 +657,10 @@
#undef STARTFILE_SPEC #undef STARTFILE_SPEC
#define STARTFILE_SPEC "\ #define STARTFILE_SPEC "\
@@ -173,7 +106,7 @@ index 510abe169c5..988e82007b0 100644
myellowknife : %(startfile_yellowknife) ; \ myellowknife : %(startfile_yellowknife) ; \
mmvme : %(startfile_mvme) ; \ mmvme : %(startfile_mvme) ; \
msim : %(startfile_sim) ; \ msim : %(startfile_sim) ; \
@@ -664,7 +675,8 @@ GNU_USER_TARGET_CC1_SPEC @@ -663,7 +674,8 @@
#undef LIB_SPEC #undef LIB_SPEC
#define LIB_SPEC "\ #define LIB_SPEC "\
@@ -183,7 +116,7 @@ index 510abe169c5..988e82007b0 100644
myellowknife : %(lib_yellowknife) ; \ myellowknife : %(lib_yellowknife) ; \
mmvme : %(lib_mvme) ; \ mmvme : %(lib_mvme) ; \
msim : %(lib_sim) ; \ msim : %(lib_sim) ; \
@@ -674,11 +686,12 @@ GNU_USER_TARGET_CC1_SPEC @@ -673,11 +685,12 @@
mcall-openbsd: %(lib_openbsd) ; \ mcall-openbsd: %(lib_openbsd) ; \
: %(lib_default) }" : %(lib_default) }"
@@ -198,7 +131,7 @@ index 510abe169c5..988e82007b0 100644
myellowknife : %(endfile_yellowknife) ; \ myellowknife : %(endfile_yellowknife) ; \
mmvme : %(endfile_mvme) ; \ mmvme : %(endfile_mvme) ; \
msim : %(endfile_sim) ; \ msim : %(endfile_sim) ; \
@@ -694,16 +707,27 @@ GNU_USER_TARGET_CC1_SPEC @@ -693,16 +706,27 @@
/* Motorola ADS support. */ /* Motorola ADS support. */
#define LIB_ADS_SPEC "--start-group -lads -lc --end-group" #define LIB_ADS_SPEC "--start-group -lads -lc --end-group"
@@ -226,7 +159,7 @@ index 510abe169c5..988e82007b0 100644
/* Motorola Yellowknife support. */ /* Motorola Yellowknife support. */
#define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group" #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 #undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \ #define SUBTARGET_EXTRA_SPECS \
{ "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \
@@ -234,7 +167,7 @@ index 510abe169c5..988e82007b0 100644
{ "lib_ads", LIB_ADS_SPEC }, \ { "lib_ads", LIB_ADS_SPEC }, \
{ "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \
{ "lib_mvme", LIB_MVME_SPEC }, \ { "lib_mvme", LIB_MVME_SPEC }, \
@@ -860,6 +885,7 @@ ncrtn.o%s" @@ -859,6 +884,7 @@
{ "lib_netbsd", LIB_NETBSD_SPEC }, \ { "lib_netbsd", LIB_NETBSD_SPEC }, \
{ "lib_openbsd", LIB_OPENBSD_SPEC }, \ { "lib_openbsd", LIB_OPENBSD_SPEC }, \
{ "lib_default", LIB_DEFAULT_SPEC }, \ { "lib_default", LIB_DEFAULT_SPEC }, \
@@ -242,7 +175,7 @@ index 510abe169c5..988e82007b0 100644
{ "startfile_ads", STARTFILE_ADS_SPEC }, \ { "startfile_ads", STARTFILE_ADS_SPEC }, \
{ "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \
{ "startfile_mvme", STARTFILE_MVME_SPEC }, \ { "startfile_mvme", STARTFILE_MVME_SPEC }, \
@@ -869,6 +895,7 @@ ncrtn.o%s" @@ -868,6 +894,7 @@
{ "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \
{ "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \
{ "startfile_default", STARTFILE_DEFAULT_SPEC }, \ { "startfile_default", STARTFILE_DEFAULT_SPEC }, \
@@ -250,7 +183,7 @@ index 510abe169c5..988e82007b0 100644
{ "endfile_ads", ENDFILE_ADS_SPEC }, \ { "endfile_ads", ENDFILE_ADS_SPEC }, \
{ "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \
{ "endfile_mvme", ENDFILE_MVME_SPEC }, \ { "endfile_mvme", ENDFILE_MVME_SPEC }, \
@@ -880,7 +907,11 @@ ncrtn.o%s" @@ -879,7 +906,11 @@
{ "endfile_default", ENDFILE_DEFAULT_SPEC }, \ { "endfile_default", ENDFILE_DEFAULT_SPEC }, \
{ "link_shlib", LINK_SHLIB_SPEC }, \ { "link_shlib", LINK_SHLIB_SPEC }, \
{ "link_start", LINK_START_SPEC }, \ { "link_start", LINK_START_SPEC }, \
@@ -262,7 +195,7 @@ index 510abe169c5..988e82007b0 100644
{ "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \
{ "link_start_mvme", LINK_START_MVME_SPEC }, \ { "link_start_mvme", LINK_START_MVME_SPEC }, \
{ "link_start_sim", LINK_START_SIM_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_openbsd", LINK_START_OPENBSD_SPEC }, \
{ "link_start_default", LINK_START_DEFAULT_SPEC }, \ { "link_start_default", LINK_START_DEFAULT_SPEC }, \
{ "link_os", LINK_OS_SPEC }, \ { "link_os", LINK_OS_SPEC }, \
@@ -270,7 +203,7 @@ index 510abe169c5..988e82007b0 100644
{ "link_os_ads", LINK_OS_ADS_SPEC }, \ { "link_os_ads", LINK_OS_ADS_SPEC }, \
{ "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \
{ "link_os_mvme", LINK_OS_MVME_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 }, \ { "link_os_default", LINK_OS_DEFAULT_SPEC }, \
{ "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \
{ "link_secure_plt", LINK_SECURE_PLT_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_ads", CPP_OS_ADS_SPEC }, \
{ "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \
{ "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \
diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt diff -NBaur gcc-12.1.0/gcc/config/rs6000/sysv4.opt gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.opt
index 7ab55c49940..763709e907e 100644 --- gcc-12.1.0/gcc/config/rs6000/sysv4.opt 2022-05-06 08:30:57.000000000 +0100
--- a/gcc/config/rs6000/sysv4.opt +++ gcc-12.1.0-dkppc/gcc/config/rs6000/sysv4.opt 2022-05-06 19:17:44.784777075 +0100
+++ b/gcc/config/rs6000/sysv4.opt @@ -124,6 +124,26 @@
@@ -124,6 +124,26 @@ mads
Target RejectNegative Target RejectNegative
Link with libads.a, libc.a and crt0.o. Link with libads.a, libc.a and crt0.o.
@@ -311,11 +243,10 @@ index 7ab55c49940..763709e907e 100644
myellowknife myellowknife
Target RejectNegative Target RejectNegative
Link with libyk.a, libc.a and crt0.o. Link with libyk.a, libc.a and crt0.o.
diff --git a/gcc/configure b/gcc/configure diff -NBaur gcc-12.1.0/gcc/configure gcc-12.1.0-dkppc/gcc/configure
index 9b28369e3bf..79b95018a89 100755 --- gcc-12.1.0/gcc/configure 2022-05-06 08:30:57.000000000 +0100
--- a/gcc/configure +++ gcc-12.1.0-dkppc/gcc/configure 2022-05-06 19:17:44.788859483 +0100
+++ b/gcc/configure @@ -12884,7 +12884,7 @@
@@ -12593,7 +12593,7 @@ case ${enable_threads} in
# default # default
target_thread_file='single' target_thread_file='single'
;; ;;
@@ -324,11 +255,10 @@ index 9b28369e3bf..79b95018a89 100755
single | tpf | vxworks | win32) single | tpf | vxworks | win32)
target_thread_file=${enable_threads} target_thread_file=${enable_threads}
;; ;;
diff --git a/gcc/configure.ac b/gcc/configure.ac diff -NBaur gcc-12.1.0/gcc/configure.ac gcc-12.1.0-dkppc/gcc/configure.ac
index 162e08cbc02..34d35d0de8d 100644 --- gcc-12.1.0/gcc/configure.ac 2022-05-06 08:30:57.000000000 +0100
--- a/gcc/configure.ac +++ gcc-12.1.0-dkppc/gcc/configure.ac 2022-05-06 19:17:44.788859483 +0100
+++ b/gcc/configure.ac @@ -1994,7 +1994,7 @@
@@ -1925,7 +1925,7 @@ case ${enable_threads} in
# default # default
target_thread_file='single' target_thread_file='single'
;; ;;
@@ -337,10 +267,9 @@ index 162e08cbc02..34d35d0de8d 100644
single | tpf | vxworks | win32) single | tpf | vxworks | win32)
target_thread_file=${enable_threads} target_thread_file=${enable_threads}
;; ;;
diff --git 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
index b372409dd42..708ba039963 100644 --- gcc-12.1.0/libgcc/config/rs6000/crtrestvr.S 2022-05-06 08:30:59.000000000 +0100
--- a/libgcc/config/rs6000/crtrestvr.S +++ gcc-12.1.0-dkppc/libgcc/config/rs6000/crtrestvr.S 2022-05-06 19:17:44.792941894 +0100
+++ b/libgcc/config/rs6000/crtrestvr.S
@@ -24,7 +24,7 @@ @@ -24,7 +24,7 @@
/* On PowerPC64 Linux, these functions are provided by the linker. */ /* On PowerPC64 Linux, these functions are provided by the linker. */
@@ -350,15 +279,14 @@ index b372409dd42..708ba039963 100644
#undef __ALTIVEC__ #undef __ALTIVEC__
#define __ALTIVEC__ 1 #define __ALTIVEC__ 1
#include "ppc-asm.h" #include "ppc-asm.h"
@@ -86,3 +86,4 @@ FUNC_END(_restvr_20) @@ -86,3 +86,4 @@
CFI_ENDPROC CFI_ENDPROC
#endif #endif
+#endif +#endif
diff --git 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
index 48a4d65eed4..6835ea69279 100644 --- gcc-12.1.0/libgcc/config/rs6000/crtsavevr.S 2022-05-06 08:30:59.000000000 +0100
--- a/libgcc/config/rs6000/crtsavevr.S +++ gcc-12.1.0-dkppc/libgcc/config/rs6000/crtsavevr.S 2022-05-06 19:17:44.792941894 +0100
+++ b/libgcc/config/rs6000/crtsavevr.S
@@ -24,7 +24,7 @@ @@ -24,7 +24,7 @@
/* On PowerPC64 Linux, these functions are provided by the linker. */ /* On PowerPC64 Linux, these functions are provided by the linker. */
@@ -368,16 +296,14 @@ index 48a4d65eed4..6835ea69279 100644
#undef __ALTIVEC__ #undef __ALTIVEC__
#define __ALTIVEC__ 1 #define __ALTIVEC__ 1
#include "ppc-asm.h" #include "ppc-asm.h"
@@ -86,3 +86,4 @@ FUNC_END(_savevr_20) @@ -86,3 +86,4 @@
CFI_ENDPROC CFI_ENDPROC
#endif #endif
+#endif +#endif
diff --git a/libgcc/config/rs6000/gthr-dkp.c 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
new file mode 100644 --- gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.c 1970-01-01 01:00:00.000000000 +0100
index 00000000000..26180aa7f36 +++ gcc-12.1.0-dkppc/libgcc/config/rs6000/gthr-dkp.c 2022-05-06 19:17:44.792941894 +0100
--- /dev/null
+++ b/libgcc/config/rs6000/gthr-dkp.c
@@ -0,0 +1,319 @@ @@ -0,0 +1,319 @@
+/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Threads compatibility routines for libgcc2 and libobjc. */
+/* Compile this one with gcc. */ +/* Compile this one with gcc. */
@@ -698,11 +624,9 @@ index 00000000000..26180aa7f36
+ +
+ return __gthr_impl_cond_destroy(__cond); + return __gthr_impl_cond_destroy(__cond);
+} +}
diff --git a/libgcc/config/rs6000/gthr-dkp.h 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
new file mode 100644 --- gcc-12.1.0/libgcc/config/rs6000/gthr-dkp.h 1970-01-01 01:00:00.000000000 +0100
index 00000000000..72ecf82ab83 +++ gcc-12.1.0-dkppc/libgcc/config/rs6000/gthr-dkp.h 2022-05-06 19:17:44.792941894 +0100
--- /dev/null
+++ b/libgcc/config/rs6000/gthr-dkp.h
@@ -0,0 +1,187 @@ @@ -0,0 +1,187 @@
+/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Threads compatibility routines for libgcc2 and libobjc. */
+/* Compile this one with gcc. */ +/* Compile this one with gcc. */
@@ -891,21 +815,19 @@ index 00000000000..72ecf82ab83
+#endif +#endif
+ +
+#endif /* ! _GLIBCXX_GCC_GTHR_DKP_H */ +#endif /* ! _GLIBCXX_GCC_GTHR_DKP_H */
diff --git 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
index fb812d3801f..7f6669d530f 100644 --- gcc-12.1.0/libgcc/config/rs6000/t-ppccomm 2022-05-06 08:30:59.000000000 +0100
--- a/libgcc/config/rs6000/t-ppccomm +++ gcc-12.1.0-dkppc/libgcc/config/rs6000/t-ppccomm 2022-05-06 19:17:44.792941894 +0100
+++ b/libgcc/config/rs6000/t-ppccomm
@@ -1,4 +1,5 @@ @@ -1,4 +1,5 @@
LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c \ LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c \
+ $(srcdir)/config/rs6000/gthr-dkp.c \ + $(srcdir)/config/rs6000/gthr-dkp.c \
$(srcdir)/config/rs6000/tramp.S $(srcdir)/config/rs6000/tramp.S
# This can't end up in shared libgcc # This can't end up in shared libgcc
diff --git a/libgcc/configure b/libgcc/configure diff -NBaur gcc-12.1.0/libgcc/configure gcc-12.1.0-dkppc/libgcc/configure
index 4919a56f518..546b3413deb 100755 --- gcc-12.1.0/libgcc/configure 2022-05-06 08:30:59.000000000 +0100
--- a/libgcc/configure +++ gcc-12.1.0-dkppc/libgcc/configure 2022-05-06 19:17:44.792941894 +0100
+++ b/libgcc/configure @@ -5689,6 +5689,7 @@
@@ -5679,6 +5679,7 @@ tm_file="${tm_file_}"
case $target_thread_file in case $target_thread_file in
aix) thread_header=config/rs6000/gthr-aix.h ;; aix) thread_header=config/rs6000/gthr-aix.h ;;
dce) thread_header=config/pa/gthr-dce.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 ;; gcn) thread_header=config/gcn/gthr-gcn.h ;;
lynx) thread_header=config/gthr-lynx.h ;; lynx) thread_header=config/gthr-lynx.h ;;
mipssde) thread_header=config/mips/gthr-mipssde.h ;; mipssde) thread_header=config/mips/gthr-mipssde.h ;;
diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c diff -NBaur gcc-12.1.0/libgcc/crtstuff.c gcc-12.1.0-dkppc/libgcc/crtstuff.c
index 675930db043..bdfd6f6b0bb 100644 --- gcc-12.1.0/libgcc/crtstuff.c 2022-05-06 08:30:59.000000000 +0100
--- a/libgcc/crtstuff.c +++ gcc-12.1.0-dkppc/libgcc/crtstuff.c 2022-05-06 19:17:44.792941894 +0100
+++ b/libgcc/crtstuff.c @@ -325,7 +325,7 @@
@@ -325,7 +325,7 @@ register_tm_clones (void)
#ifdef OBJECT_FORMAT_ELF #ifdef OBJECT_FORMAT_ELF
@@ -926,11 +847,10 @@ index 675930db043..bdfd6f6b0bb 100644
/* Declare the __dso_handle variable. It should have a unique value /* Declare the __dso_handle variable. It should have a unique value
in every shared-object; in a main program its value is zero. The in every shared-object; in a main program its value is zero. The
object should in any case be protected. This means the instance object should in any case be protected. This means the instance
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure diff -NBaur gcc-12.1.0/libstdc++-v3/configure gcc-12.1.0-dkppc/libstdc++-v3/configure
index 326a279c54f..d2cb9d18294 100755 --- gcc-12.1.0/libstdc++-v3/configure 2022-05-06 08:31:00.000000000 +0100
--- a/libstdc++-v3/configure +++ gcc-12.1.0-dkppc/libstdc++-v3/configure 2022-05-06 19:17:44.801106712 +0100
+++ b/libstdc++-v3/configure @@ -15765,6 +15765,7 @@
@@ -15698,6 +15698,7 @@ $as_echo "$target_thread_file" >&6; }
case $target_thread_file in case $target_thread_file in
aix) thread_header=config/rs6000/gthr-aix.h ;; aix) thread_header=config/rs6000/gthr-aix.h ;;
dce) thread_header=config/pa/gthr-dce.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 ;; gcn) thread_header=config/gcn/gthr-gcn.h ;;
lynx) thread_header=config/gthr-lynx.h ;; lynx) thread_header=config/gthr-lynx.h ;;
mipssde) thread_header=config/mips/gthr-mipssde.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 <fenv.h>
+#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 <bits/c++config.h>
-#if _GLIBCXX_HAVE_FENV_H
-# include <fenv.h>
-#endif
+// Need to ensure this finds the C library's <fenv.h> not a libstdc++
+// wrapper that might already be installed later in the include search path.
+#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
+#include_next <fenv.h>
+#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS
#ifdef _GLIBCXX_USE_C99_FENV_TR1

View File

@@ -12,7 +12,7 @@ cd $target/binutils
if [ ! -f configured-binutils ] if [ ! -f configured-binutils ]
then then
CFLAGS=$cflags LDFLAGS=$ldflags ../../binutils-$BINUTILS_VER/configure \ ../../binutils-$BINUTILS_VER/configure \
--prefix=$prefix --target=$target --disable-nls --disable-shared --disable-debug \ --prefix=$prefix --target=$target --disable-nls --disable-shared --disable-debug \
--disable-werror \ --disable-werror \
--enable-poison-system-directories \ --enable-poison-system-directories \
@@ -48,7 +48,7 @@ cd mn10200/binutils
if [ ! -f configured-binutils ] if [ ! -f configured-binutils ]
then then
CFLAGS=$cflags LDFLAGS=$ldflags ../../binutils-$MN_BINUTILS_VER/configure \ ../../binutils-$MN_BINUTILS_VER/configure \
--prefix=$prefix --target=mn10200 --disable-nls --disable-debug \ --prefix=$prefix --target=mn10200 --disable-nls --disable-debug \
--disable-multilib \ --disable-multilib \
--disable-werror $CROSS_PARAMS \ --disable-werror $CROSS_PARAMS \
@@ -78,9 +78,6 @@ cd $target/gcc
if [ ! -f configured-gcc ] if [ ! -f configured-gcc ]
then then
CFLAGS="$cflags" \
CXXFLAGS="$cflags" \
LDFLAGS="$ldflags" \
CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \
CXXFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \ CXXFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \
LDFLAGS_FOR_TARGET="" \ LDFLAGS_FOR_TARGET="" \
@@ -101,7 +98,7 @@ then
--with-newlib \ --with-newlib \
--with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \
--prefix=$prefix \ --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_PARAMS \
$CROSS_GCC_PARAMS \ $CROSS_GCC_PARAMS \
$EXTRA_GCC_PARAMS \ $EXTRA_GCC_PARAMS \

View File

@@ -30,8 +30,8 @@ done
case "$VERSION" in case "$VERSION" in
"1" ) "1" )
GCC_VER=11.2.0 GCC_VER=12.2.0
BINUTILS_VER=2.37 BINUTILS_VER=2.39
NEWLIB_VER=4.2.0.20211231 NEWLIB_VER=4.2.0.20211231
basedir='dkarm-eabi' basedir='dkarm-eabi'
package=devkitARM package=devkitARM
@@ -39,7 +39,7 @@ case "$VERSION" in
toolchain=DEVKITARM toolchain=DEVKITARM
;; ;;
"2" ) "2" )
GCC_VER=11.2.0 GCC_VER=12.1.0
BINUTILS_VER=2.37 BINUTILS_VER=2.37
MN_BINUTILS_VER=2.24 MN_BINUTILS_VER=2.24
NEWLIB_VER=4.2.0.20211231 NEWLIB_VER=4.2.0.20211231
@@ -49,9 +49,9 @@ case "$VERSION" in
toolchain=DEVKITPPC toolchain=DEVKITPPC
;; ;;
"3" ) "3" )
GCC_VER=11.2.0 GCC_VER=12.2.0
BINUTILS_VER=2.32 BINUTILS_VER=2.32
NEWLIB_VER=4.2.0.20211231 NEWLIB_VER=4.3.0.20230120
basedir='dka64' basedir='dka64'
package=devkitA64 package=devkitA64
target=aarch64-none-elf target=aarch64-none-elf