Compare commits

..

17 Commits

Author SHA1 Message Date
Dave Murphy
b5cdec82b7 devkitA64: release 28 2025-05-25 19:02:18 +01:00
Dave Murphy
2d21601d71 devkitA64: newlib 4.5.0 2025-05-25 19:01:58 +01:00
Dave Murphy
c879ba7e62 devkitA64: gcc 15.1.0 2025-05-25 19:01:58 +01:00
Dave Murphy
b6613d5f5f devkitA64: binutils 2.44 2025-05-25 19:01:58 +01:00
Dave Murphy
b970a10d09 devkitPPC: release 47 2025-05-25 19:01:57 +01:00
Dave Murphy
dbcb7aa399 devkitPPC: remove stale patches 2025-05-25 19:01:57 +01:00
Dave Murphy
67b34f5df3 devkitPPC: update newlib to 4.5.0 2025-05-25 18:59:00 +01:00
Dave Murphy
141c30be36 devkitPPC: update gcc to 15.1.0 2025-05-25 18:58:59 +01:00
Dave Murphy
1e91020d5c devkitPPC: update binutils to 2.44 2025-05-25 18:58:59 +01:00
Dave Murphy
24164cca86 devkitARM: release 66 2025-05-25 18:58:59 +01:00
Dave Murphy
d6434abd04 devkitARM: update crtls & rules versions 2025-05-25 18:58:58 +01:00
Dave Murphy
55eb881d09 devkitARM: remove stale patches 2025-05-05 00:12:13 +01:00
Dave Murphy
3a70b58ce2 devkitARM: newlib 4.5.0 2025-05-02 19:26:17 +01:00
Dave Murphy
3fedda9d74 devkitARM: 15.1.0 2025-05-02 19:26:17 +01:00
Dave Murphy
7e4aed9985 devkitARM: binutils 2.44 2025-05-02 19:26:11 +01:00
Dave Murphy
1b09b3a824 devkitPPC: r46.1 2024-11-11 10:32:05 +00:00
Dave Murphy
a133b4d622 devkitPPC: fix _REENT_INIT_PTR for gcc 14 2024-11-11 10:31:59 +00:00
13 changed files with 6116 additions and 917 deletions

View File

@@ -1,8 +1,8 @@
#!/usr/bin/env bash
#---------------------------------------------------------------------------------
# devkitARM release 65
# devkitPPC release 46
# devkitA64 release 27
# devkitARM release 66
# devkitPPC release 47
# devkitA64 release 28
#---------------------------------------------------------------------------------
if [ 0 -eq 1 ] ; then
@@ -27,8 +27,8 @@ echo
DKARM_RULES_VER=1.5.1
DKARM_CRTLS_VER=1.2.5
DKARM_RULES_VER=1.6.1
DKARM_CRTLS_VER=1.2.7
DKPPC_RULES_VER=1.2.1

View File

@@ -1,8 +1,8 @@
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index b89d3dda05d..1ad8a9c088d 100644
index c89327fdc9c..b46689a21c1 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -2005,6 +2005,14 @@ struct output_elf_obj_tdata
@@ -2008,6 +2008,14 @@ struct output_elf_obj_tdata
asection *sec;
} package_metadata;
@@ -18,10 +18,10 @@ index b89d3dda05d..1ad8a9c088d 100644
bfd_size_type program_header_size;
diff --git a/bfd/elf.c b/bfd/elf.c
index f85f79e1e35..d27f05b92ae 100644
index 1f2b82bfe92..7e9964a15f4 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -7166,6 +7166,14 @@ _bfd_elf_write_object_contents (bfd *abfd)
@@ -7189,6 +7189,14 @@ _bfd_elf_write_object_contents (bfd *abfd)
if (!bed->s->write_shdrs_and_ehdr (abfd))
return false;
@@ -37,7 +37,7 @@ index f85f79e1e35..d27f05b92ae 100644
if (t->o->build_id.after_write_object_contents != NULL
&& !(*t->o->build_id.after_write_object_contents) (abfd))
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index 94c9a01069b..d39880b27c4 100644
index 65182f49070..3ba294ad940 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -2441,6 +2441,12 @@ enum elf_aarch64_stub_type
@@ -53,7 +53,7 @@ index 94c9a01069b..d39880b27c4 100644
struct elf_aarch64_stub_hash_entry
{
/* Base hash table entry structure. */
@@ -6969,11 +6975,13 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
@@ -6977,11 +6983,13 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
Elf_Internal_Sym *sym;
asection *sec;
struct elf_link_hash_entry *h;
@@ -67,7 +67,7 @@ index 94c9a01069b..d39880b27c4 100644
char *error_message = NULL;
r_symndx = ELFNN_R_SYM (rel->r_info);
@@ -7113,6 +7121,10 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
@@ -7121,6 +7129,10 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
h, &unresolved_reloc,
save_addend, &addend, sym);
@@ -78,7 +78,7 @@ index 94c9a01069b..d39880b27c4 100644
switch (elfNN_aarch64_bfd_reloc_from_type (input_bfd, r_type))
{
case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
@@ -7136,7 +7148,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
@@ -7144,7 +7156,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
need_relocs =
(!bfd_link_executable (info) || indx != 0) &&
(h == NULL
@@ -87,7 +87,7 @@ index 94c9a01069b..d39880b27c4 100644
|| h->root.type != bfd_link_hash_undefweak);
BFD_ASSERT (globals->root.srelgot != NULL);
@@ -7231,7 +7243,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
@@ -7239,7 +7251,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
need_relocs =
(!bfd_link_executable (info) || indx != 0) &&
(h == NULL
@@ -96,7 +96,7 @@ index 94c9a01069b..d39880b27c4 100644
|| h->root.type != bfd_link_hash_undefweak);
BFD_ASSERT (globals->root.srelgot != NULL);
@@ -7280,7 +7292,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
@@ -7288,7 +7300,7 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
bfd_vma off = symbol_tlsdesc_got_offset (input_bfd, h, r_symndx);
need_relocs = (h == NULL
@@ -105,7 +105,7 @@ index 94c9a01069b..d39880b27c4 100644
|| h->root.type != bfd_link_hash_undefweak);
BFD_ASSERT (globals->root.srelgot != NULL);
@@ -7606,6 +7618,23 @@ need_copy_relocation_p (struct elf_aarch64_link_hash_entry *eh)
@@ -7614,6 +7626,23 @@ need_copy_relocation_p (struct elf_aarch64_link_hash_entry *eh)
return false;
}
@@ -129,7 +129,7 @@ index 94c9a01069b..d39880b27c4 100644
/* Adjust a symbol defined by a dynamic object and referenced by a
regular object. The current definition is in some section of the
dynamic object, but we're not including those sections. We have to
@@ -8824,6 +8853,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
@@ -8720,6 +8749,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
struct elf_aarch64_link_hash_table *htab;
struct elf_aarch64_link_hash_entry *eh;
struct elf_dyn_relocs *p;
@@ -137,7 +137,7 @@ index 94c9a01069b..d39880b27c4 100644
/* An example of a bfd_link_hash_indirect symbol is versioned
symbol. For example: __gxx_personality_v0(bfd_link_hash_indirect)
@@ -8843,6 +8873,10 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
@@ -8739,6 +8769,10 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
info = (struct bfd_link_info *) inf;
htab = elf_aarch64_hash_table (info);
@@ -148,7 +148,7 @@ index 94c9a01069b..d39880b27c4 100644
/* Since STT_GNU_IFUNC symbol must go through PLT, we handle it
here if it is defined and referenced in a non-shared object. */
if (h->type == STT_GNU_IFUNC
@@ -8852,7 +8886,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
@@ -8748,7 +8782,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
{
/* Make sure this symbol is output as a dynamic symbol.
Undefined weak syms won't yet be marked as dynamic. */
@@ -157,7 +157,7 @@ index 94c9a01069b..d39880b27c4 100644
&& h->root.type == bfd_link_hash_undefweak)
{
if (!bfd_elf_link_record_dynamic_symbol (info, h))
@@ -8886,6 +8920,11 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
@@ -8782,6 +8816,11 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
of relaxing into these from the large model PLT entries. */
s->size += htab->plt_entry_size;
@@ -169,7 +169,7 @@ index 94c9a01069b..d39880b27c4 100644
/* We also need to make an entry in the .got.plt section, which
will be placed in the .got section by the linker script. */
htab->root.sgotplt->size += GOT_ENTRY_SIZE;
@@ -8914,6 +8953,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
@@ -8810,6 +8849,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
htab->variant_pcs = 1;
}
@@ -177,7 +177,7 @@ index 94c9a01069b..d39880b27c4 100644
else
{
h->plt.offset = (bfd_vma) - 1;
@@ -8926,9 +8966,6 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
@@ -8822,9 +8862,6 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
h->needs_plt = 0;
}
@@ -187,7 +187,7 @@ index 94c9a01069b..d39880b27c4 100644
if (h->got.refcount > 0)
{
bool dyn;
@@ -8940,7 +8977,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
@@ -8836,7 +8873,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
/* Make sure this symbol is output as a dynamic symbol.
Undefined weak syms won't yet be marked as dynamic. */
@@ -196,7 +196,7 @@ index 94c9a01069b..d39880b27c4 100644
&& h->root.type == bfd_link_hash_undefweak)
{
if (!bfd_elf_link_record_dynamic_symbol (info, h))
@@ -8954,7 +8991,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
@@ -8850,7 +8887,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
{
h->got.offset = htab->root.sgot->size;
htab->root.sgot->size += GOT_ENTRY_SIZE;
@@ -205,7 +205,7 @@ index 94c9a01069b..d39880b27c4 100644
|| h->root.type != bfd_link_hash_undefweak)
&& (bfd_link_pic (info)
|| WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h))
@@ -8990,7 +9027,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
@@ -8886,7 +8923,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
}
indx = h && h->dynindx != -1 ? h->dynindx : 0;
@@ -214,7 +214,7 @@ index 94c9a01069b..d39880b27c4 100644
|| h->root.type != bfd_link_hash_undefweak)
&& (!bfd_link_executable (info)
|| indx != 0
@@ -9072,7 +9109,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
@@ -8968,7 +9005,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
visibility. */
if (h->dyn_relocs != NULL && h->root.type == bfd_link_hash_undefweak)
{
@@ -223,7 +223,7 @@ index 94c9a01069b..d39880b27c4 100644
|| UNDEFWEAK_NO_DYNAMIC_RELOC (info, h))
h->dyn_relocs = NULL;
@@ -9092,7 +9129,9 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
@@ -8988,7 +9025,9 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
symbols which turn out to need copy relocs or are not
dynamic. */
@@ -234,7 +234,7 @@ index 94c9a01069b..d39880b27c4 100644
&& ((h->def_dynamic
&& !h->def_regular)
|| (htab->root.dynamic_sections_created
@@ -9103,6 +9142,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
@@ -8999,6 +9038,7 @@ elfNN_aarch64_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
Undefined weak syms won't yet be marked as dynamic. */
if (h->dynindx == -1
&& !h->forced_local
@@ -242,7 +242,7 @@ index 94c9a01069b..d39880b27c4 100644
&& h->root.type == bfd_link_hash_undefweak
&& !bfd_elf_link_record_dynamic_symbol (info, h))
return false;
@@ -10058,8 +10098,17 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd,
@@ -9954,8 +9994,17 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd,
Elf_Internal_Sym *sym)
{
struct elf_aarch64_link_hash_table *htab;
@@ -260,7 +260,7 @@ index 94c9a01069b..d39880b27c4 100644
if (h->plt.offset != (bfd_vma) - 1)
{
asection *plt, *gotplt, *relplt;
@@ -10094,7 +10143,7 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd,
@@ -9990,7 +10039,7 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd,
abort ();
elfNN_aarch64_create_small_pltn_entry (h, htab, output_bfd, info);
@@ -269,7 +269,7 @@ index 94c9a01069b..d39880b27c4 100644
{
/* Mark the symbol as undefined, rather than as defined in
the .plt section. */
@@ -10116,7 +10165,8 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd,
@@ -10012,7 +10061,8 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd,
&& elf_aarch64_hash_entry (h)->got_type == GOT_NORMAL
/* Undefined weak symbol in static PIE resolves to 0 without
any dynamic relocations. */
@@ -279,7 +279,7 @@ index 94c9a01069b..d39880b27c4 100644
{
Elf_Internal_Rela rela;
bfd_byte *loc;
@@ -10766,6 +10816,9 @@ const struct elf_size_info elfNN_aarch64_size_info =
@@ -10680,6 +10730,9 @@ const struct elf_size_info elfNN_aarch64_size_info =
#define elf_backend_init_index_section \
_bfd_elf_init_2_index_sections
@@ -310,10 +310,10 @@ index 45bf31a179a..02e0cad8699 100644
ARCH="aarch64:ilp32"
MACHINE=
diff --git a/ld/emultempl/aarch64elf.em b/ld/emultempl/aarch64elf.em
index aa2859d4f73..c680dca8f86 100644
index 7791aabf16d..a1486617099 100644
--- a/ld/emultempl/aarch64elf.em
+++ b/ld/emultempl/aarch64elf.em
@@ -368,7 +368,7 @@ PARSE_AND_LIST_LONGOPTS='
@@ -458,7 +458,7 @@ PARSE_AND_LIST_LONGOPTS='
{ "no-apply-dynamic-relocs", no_argument, NULL, OPTION_NO_APPLY_DYNAMIC_RELOCS},
'
@@ -323,10 +323,10 @@ index aa2859d4f73..c680dca8f86 100644
" enum sizes\n"));
fprintf (file, _(" --no-wchar-size-warning Don'\''t warn about objects with incompatible\n"
diff --git a/ld/emultempl/elf.em b/ld/emultempl/elf.em
index 863657e12f5..672974df511 100644
index 777f7204038..895f9ce59e6 100644
--- a/ld/emultempl/elf.em
+++ b/ld/emultempl/elf.em
@@ -813,6 +813,7 @@ EOF
@@ -814,6 +814,7 @@ EOF
fi
fragment <<EOF
{"build-id", optional_argument, NULL, OPTION_BUILD_ID},
@@ -334,7 +334,7 @@ index 863657e12f5..672974df511 100644
{"package-metadata", optional_argument, NULL, OPTION_PACKAGE_METADATA},
{"compress-debug-sections", required_argument, NULL, OPTION_COMPRESS_DEBUG},
{"rosegment", no_argument, NULL, OPTION_ROSEGMENT},
@@ -892,6 +893,18 @@ gld${EMULATION_NAME}_handle_option (int optc)
@@ -901,6 +902,18 @@ gld${EMULATION_NAME}_handle_option (int optc)
case OPTION_NO_ROSEGMENT:
link_info.one_rosegment = false;
break;
@@ -354,7 +354,7 @@ index 863657e12f5..672974df511 100644
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
diff --git a/ld/ldelf.c b/ld/ldelf.c
index 09691609fc0..5769b4aa0f9 100644
index 4a1aa044e70..24025b0c5a6 100644
--- a/ld/ldelf.c
+++ b/ld/ldelf.c
@@ -55,6 +55,9 @@ const char *ldelf_emit_note_gnu_build_id;
@@ -367,7 +367,7 @@ index 09691609fc0..5769b4aa0f9 100644
/* These variables are required to pass information back and forth
between after_open and check_needed and stat_needed and vercheck. */
@@ -1209,8 +1212,93 @@ ldelf_handle_dt_needed (struct elf_link_hash_table *htab,
@@ -1213,8 +1216,93 @@ ldelf_handle_dt_needed (struct elf_link_hash_table *htab,
*save_input_bfd_tail = NULL;
}
@@ -382,7 +382,7 @@ index 09691609fc0..5769b4aa0f9 100644
+ unsigned char *contents;
+ bfd_size_type size;
+ file_ptr position;
+
+ name = t->o->nx_module_name.name;
+ asec = t->o->nx_module_name.sec;
+ if (bfd_is_abs_section (asec->output_section))
@@ -413,7 +413,7 @@ index 09691609fc0..5769b4aa0f9 100644
+ return (bfd_seek (abfd, position, SEEK_SET) == 0
+ && bfd_write (contents, size, abfd) == size);
+}
+
+/* Make .nx-module-name section, and set up elf_tdata->nx_module_name. */
+
+static bool
@@ -462,7 +462,7 @@ index 09691609fc0..5769b4aa0f9 100644
void
ldelf_before_plugin_all_symbols_read (int use_libpath, int native,
int is_linux, int is_freebsd,
@@ -1289,6 +1377,24 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd,
@@ -1293,6 +1381,24 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd,
}
}
@@ -488,7 +488,7 @@ index 09691609fc0..5769b4aa0f9 100644
/* Do not allow executable files to be used as inputs to the link. */
diff --git a/ld/ldelf.h b/ld/ldelf.h
index 239194772c4..68516dbf45e 100644
index a6498cf2758..b69da549175 100644
--- a/ld/ldelf.h
+++ b/ld/ldelf.h
@@ -20,6 +20,7 @@
@@ -497,13 +497,13 @@ index 239194772c4..68516dbf45e 100644
extern const char *ldelf_emit_note_fdo_package_metadata;
+extern const char *ldelf_emit_nx_module_name;
extern void ldelf_finish (void);
extern void ldelf_after_parse (void);
extern bool ldelf_load_symbols (lang_input_statement_type *);
diff --git a/ld/ldlex.h b/ld/ldlex.h
index defe3fcbbb9..30f31df990e 100644
index b8b7d6b6829..3c9ee8d8742 100644
--- a/ld/ldlex.h
+++ b/ld/ldlex.h
@@ -186,6 +186,7 @@ enum option_values
@@ -187,6 +187,7 @@ enum option_values
/* Used by emultempl/elf.em, emultempl/pe.em and emultempl/pep.em. */
OPTION_BUILD_ID,
OPTION_EXCLUDE_LIBS,

View File

@@ -1,8 +1,8 @@
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 95c91ee02be..4711542eee5 100644
index 40b50dc969e..debd0f3d3b2 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1195,7 +1195,14 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
@@ -1192,7 +1192,14 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
tmake_file="${tmake_file} aarch64/t-aarch64"
case $target in
aarch64-*-elf*)
@@ -18,7 +18,7 @@ index 95c91ee02be..4711542eee5 100644
aarch64-*-fuchsia*)
tm_file="${tm_file} fuchsia.h"
diff --git a/gcc/config/aarch64/aarch64-elf-raw.h b/gcc/config/aarch64/aarch64-elf-raw.h
index 5396da9b2d6..87235d680ad 100644
index 15cf1eb0389..aba0e9bbff9 100644
--- a/gcc/config/aarch64/aarch64-elf-raw.h
+++ b/gcc/config/aarch64/aarch64-elf-raw.h
@@ -22,6 +22,7 @@
@@ -30,10 +30,10 @@ index 5396da9b2d6..87235d680ad 100644
#define ENDFILE_SPEC \
" crtend%O%s crtn%O%s " \
diff --git a/gcc/config/aarch64/aarch64-opts.h b/gcc/config/aarch64/aarch64-opts.h
index a05c0d3ded1..5551807e4c6 100644
index a6ca5cf016b..90470fd6c44 100644
--- a/gcc/config/aarch64/aarch64-opts.h
+++ b/gcc/config/aarch64/aarch64-opts.h
@@ -80,7 +80,8 @@ enum aarch64_tp_reg {
@@ -91,7 +91,8 @@ enum aarch64_tp_reg {
AARCH64_TPIDR_EL1 = 1,
AARCH64_TPIDR_EL2 = 2,
AARCH64_TPIDR_EL3 = 3,
@@ -44,10 +44,10 @@ index a05c0d3ded1..5551807e4c6 100644
/* SVE vector register sizes. */
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index 1beec94629d..90a9ec580f8 100644
index 433ec975d7e..d4c3835a15a 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -21060,8 +21060,24 @@ aarch64_load_tp (rtx target)
@@ -21378,8 +21378,24 @@ aarch64_load_tp (rtx target)
|| !register_operand (target, Pmode))
target = gen_reg_rtx (Pmode);
@@ -75,10 +75,10 @@ index 1beec94629d..90a9ec580f8 100644
}
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index 4fa1dfc7906..43a01fe3d56 100644
index e8bd8c73c12..4fc0d8f4ded 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -1377,6 +1377,10 @@ typedef struct
@@ -1436,6 +1436,10 @@ typedef struct
/* Check TLS Descriptors mechanism is selected. */
#define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS)
@@ -90,10 +90,10 @@ index 4fa1dfc7906..43a01fe3d56 100644
/* When using the tiny addressing model conditional and unconditional branches
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index dbde066f747..3e3198bf52f 100644
index 031e621c98a..0fcf0aa703f 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -7436,11 +7436,22 @@
@@ -7702,11 +7702,22 @@
(define_insn "aarch64_load_tp_hard"
[(set (match_operand:DI 0 "register_operand" "=r")
(unspec:DI [(const_int 0)] UNSPEC_TLS))]
@@ -118,10 +118,10 @@ index dbde066f747..3e3198bf52f 100644
;; instructions in the TLS stubs, in order to enable linker relaxation.
;; Therefore we treat the stubs as an atomic sequence.
diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt
index 6356c419399..a6907ed0a0b 100644
index f32d56d4ffa..7cf8d3ba3d4 100644
--- a/gcc/config/aarch64/aarch64.opt
+++ b/gcc/config/aarch64/aarch64.opt
@@ -128,6 +128,9 @@ Enum(tp_reg) String(tpidr_el3) Value(AARCH64_TPIDR_EL3)
@@ -137,6 +137,9 @@ Enum(tp_reg) String(tpidr_el3) Value(AARCH64_TPIDR_EL3)
EnumValue
Enum(tp_reg) String(tpidrro_el0) Value(AARCH64_TPIDRRO_EL0)
@@ -131,7 +131,7 @@ index 6356c419399..a6907ed0a0b 100644
mtp=
Target RejectNegative Joined Enum(tp_reg) Var(aarch64_tpidr_reg) Init(AARCH64_TPIDR_EL0) Save
Specify the thread pointer register.
@@ -329,7 +332,7 @@ TargetVariable
@@ -338,7 +341,7 @@ TargetVariable
long aarch64_stack_protector_guard_offset = 0
moutline-atomics
@@ -141,10 +141,10 @@ index 6356c419399..a6907ed0a0b 100644
-param=aarch64-vect-compare-costs=
diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
index 78713558e7d..76c0914d8ce 100644
index 59571948479..f50c37d8b3c 100644
--- a/gcc/config/aarch64/t-aarch64
+++ b/gcc/config/aarch64/t-aarch64
@@ -208,8 +208,10 @@ aarch64-ldp-fusion.o: $(srcdir)/config/aarch64/aarch64-ldp-fusion.cc \
@@ -198,8 +198,10 @@ aarch64-ldp-fusion.o: $(srcdir)/config/aarch64/aarch64-ldp-fusion.cc \
$(srcdir)/config/aarch64/aarch64-ldp-fusion.cc
comma=,
@@ -238,26 +238,25 @@ index 00000000000..ab7b466aa71
@@ -0,0 +1 @@
+; Autogenerated by regenerate-opt-urls.py from gcc/config/devkitpro.opt and generated HTML
diff --git a/gcc/config/i386/host-mingw32.cc b/gcc/config/i386/host-mingw32.cc
index 42563982e42..923dc198a7e 100644
index e083f49f3da..1b81e7e88ce 100644
--- a/gcc/config/i386/host-mingw32.cc
+++ b/gcc/config/i386/host-mingw32.cc
@@ -93,7 +93,10 @@ mingw32_gt_pch_get_address (size_t size, int)
for NT system dlls is in 0x70000000 to 0x78000000 range.
@@ -94,6 +94,10 @@ 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. */
-
+
+#if __MINGW64__
+ size = UINT64_C(64 * 1024 * 1024 * 1024);
+#endif
+
res = VirtualAlloc (NULL, size,
MEM_RESERVE | MEM_TOP_DOWN,
PAGE_NOACCESS);
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 728332b8153..47fc03eb8c8 100644
index 4fd87f2c4a1..6af06f7b032 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -881,6 +881,11 @@ proper position among the other output files. */
@@ -888,6 +888,11 @@ proper position among the other output files. */
#endif
#endif
@@ -269,7 +268,7 @@ index 728332b8153..47fc03eb8c8 100644
/* config.h can define STARTFILE_SPEC to override the default crt0 files. */
#ifndef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -1208,6 +1213,7 @@ static const char *link_spec = LINK_SPEC;
@@ -1215,6 +1220,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;
@@ -277,7 +276,7 @@ index 728332b8153..47fc03eb8c8 100644
static const char *endfile_spec = ENDFILE_SPEC;
static const char *startfile_spec = STARTFILE_SPEC;
static const char *linker_name_spec = LINKER_NAME;
@@ -1720,6 +1726,7 @@ static struct spec_list static_specs[] =
@@ -1727,6 +1733,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),
@@ -299,7 +298,7 @@ index ea689a353c8..98f9d9b21b7 100755
;;
*)
diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c
index 38d3859a73c..f97358d9787 100644
index b9767cd1eee..362689c9f0b 100644
--- a/libgcc/crtstuff.c
+++ b/libgcc/crtstuff.c
@@ -326,7 +326,7 @@ register_tm_clones (void)
@@ -312,7 +311,7 @@ index 38d3859a73c..f97358d9787 100644
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/libgcc/gthr.h b/libgcc/gthr.h
index 33c2d8ff630..2a0a9c1e87e 100644
index 557417997f4..1269ece007f 100644
--- a/libgcc/gthr.h
+++ b/libgcc/gthr.h
@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -325,10 +324,10 @@ index 33c2d8ff630..2a0a9c1e87e 100644
#define GTHREAD_USE_WEAK 0
#endif
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index 422a0f4bd0a..ee09ada9170 100644
index 537774c2668..76da4f35b96 100644
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -1429,6 +1429,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
@@ -1436,6 +1436,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
-e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
-e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
-e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \
@@ -337,10 +336,10 @@ index 422a0f4bd0a..ee09ada9170 100644
< $< > $@
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
index 9fd4ab4848c..beea48941a3 100644
index 7b96b2207f8..817de242772 100644
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -1903,6 +1903,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
@@ -1910,6 +1910,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
-e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
-e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
-e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \

File diff suppressed because one or more lines are too long

View File

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

View File

@@ -1,8 +1,8 @@
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 95c91ee02be..19f003c7952 100644
index 40b50dc969e..16b1224f3ec 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1482,6 +1482,11 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems* | arm*-*-fuchsia*)
@@ -1508,6 +1508,11 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems* | arm*-*-fuchsia*)
tm_file="$tm_file newlib-stdint.h"
tmake_file="${tmake_file} arm/t-bpabi"
use_gcc_stdint=wrap
@@ -15,7 +15,7 @@ index 95c91ee02be..19f003c7952 100644
arm*-*-fuchsia*)
tm_file="${tm_file} fuchsia.h arm/fuchsia-elf.h glibc-stdint.h"
diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in
index 451b15fe9f9..c9efaf21c8c 100644
index 1939d55b9fd..62d425cb596 100644
--- a/gcc/config/arm/arm-cpus.in
+++ b/gcc/config/arm/arm-cpus.in
@@ -416,7 +416,7 @@ begin arch armv6k
@@ -28,7 +28,7 @@ index 451b15fe9f9..c9efaf21c8c 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 aa64e50edeb..99cc8199ec5 100644
index fdfdf9c580b..add129f0a62 100644
--- a/gcc/config/arm/t-arm-elf
+++ b/gcc/config/arm/t-arm-elf
@@ -16,120 +16,22 @@
@@ -165,7 +165,7 @@ index aa64e50edeb..99cc8199ec5 100644
-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard
+MULTILIB_REUSE = mthumb/march.armv6s-m/mfloat-abi.soft=mthumb/march.armv6s-m
diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h
index 6b313042f20..7b39702224a 100644
index ab3918283d8..c14a1955cad 100644
--- a/gcc/config/arm/unknown-elf.h
+++ b/gcc/config/arm/unknown-elf.h
@@ -29,7 +29,7 @@
@@ -179,7 +179,7 @@ index 6b313042f20..7b39702224a 100644
#define STARTFILE_SPEC \
@@ -93,4 +93,5 @@
udivmoddi4, which will depend on the exception unwind routines,
which will depend on abort, which is defined in libc. */
which will depend on abort, which is defined in libc. */
#undef LINK_GCC_C_SEQUENCE_SPEC
-#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"
@@ -259,11 +259,26 @@ index 00000000000..ab7b466aa71
+++ b/gcc/config/devkitpro.opt.urls
@@ -0,0 +1 @@
+; Autogenerated by regenerate-opt-urls.py from gcc/config/devkitpro.opt and generated HTML
diff --git a/gcc/config/i386/host-mingw32.cc b/gcc/config/i386/host-mingw32.cc
index e083f49f3da..1b81e7e88ce 100644
--- a/gcc/config/i386/host-mingw32.cc
+++ b/gcc/config/i386/host-mingw32.cc
@@ -94,6 +94,10 @@ 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. */
+#if __MINGW64__
+ size = UINT64_C(64 * 1024 * 1024 * 1024);
+#endif
+
res = VirtualAlloc (NULL, size,
MEM_RESERVE | MEM_TOP_DOWN,
PAGE_NOACCESS);
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 728332b8153..47fc03eb8c8 100644
index 4fd87f2c4a1..6af06f7b032 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -881,6 +881,11 @@ proper position among the other output files. */
@@ -888,6 +888,11 @@ proper position among the other output files. */
#endif
#endif
@@ -275,7 +290,7 @@ index 728332b8153..47fc03eb8c8 100644
/* config.h can define STARTFILE_SPEC to override the default crt0 files. */
#ifndef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -1208,6 +1213,7 @@ static const char *link_spec = LINK_SPEC;
@@ -1215,6 +1220,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;
@@ -283,7 +298,7 @@ index 728332b8153..47fc03eb8c8 100644
static const char *endfile_spec = ENDFILE_SPEC;
static const char *startfile_spec = STARTFILE_SPEC;
static const char *linker_name_spec = LINKER_NAME;
@@ -1720,6 +1726,7 @@ static struct spec_list static_specs[] =
@@ -1727,6 +1733,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),
@@ -315,7 +330,7 @@ index dddddc7c444..c2502597953 100644
-LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions
+LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions
diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c
index 38d3859a73c..f97358d9787 100644
index b9767cd1eee..362689c9f0b 100644
--- a/libgcc/crtstuff.c
+++ b/libgcc/crtstuff.c
@@ -326,7 +326,7 @@ register_tm_clones (void)
@@ -328,7 +343,7 @@ index 38d3859a73c..f97358d9787 100644
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/libgcc/gthr.h b/libgcc/gthr.h
index 33c2d8ff630..e23c2a7990f 100644
index 557417997f4..cb223aa43fc 100644
--- a/libgcc/gthr.h
+++ b/libgcc/gthr.h
@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -336,12 +351,12 @@ index 33c2d8ff630..e23c2a7990f 100644
For static libraries it might would work, but as we need to deal
with shared versions too, we disable it for mingw-targets. */
-#ifdef __MINGW32__
+#ifdef __MINGW32__ || defined(__DEVKITARM__)
+#if defined( __MINGW32__) || defined(__DEVKITARM__)
#undef GTHREAD_USE_WEAK
#define GTHREAD_USE_WEAK 0
#endif
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 21abaeb0778..0ef23891978 100755
index 819a1d82876..d81e6057c5b 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -893,6 +893,7 @@ infodir
@@ -492,25 +507,25 @@ index 21abaeb0778..0ef23891978 100755
int main()
{
typedef long long atomic_type;
@@ -16444,7 +16456,7 @@ $as_echo "mutex" >&6; }
@@ -16445,7 +16457,7 @@ $as_echo "mutex" >&6; }
# unnecessary for this test.
cat > conftest.$ac_ext << EOF
-#line 16447 "configure"
+#line 16459 "configure"
-#line 16448 "configure"
+#line 16460 "configure"
int main()
{
_Decimal32 d1;
@@ -16486,7 +16498,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
@@ -16487,7 +16499,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
# unnecessary for this test.
cat > conftest.$ac_ext << EOF
-#line 16489 "configure"
+#line 16501 "configure"
-#line 16490 "configure"
+#line 16502 "configure"
template<typename T1, typename T2>
struct same
{ typedef T2 type; };
@@ -28575,6 +28587,8 @@ _ACEOF
@@ -28602,6 +28614,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
$as_echo "#define HAVE_MEMALIGN 1" >>confdefs.h
@@ -520,22 +535,22 @@ index 21abaeb0778..0ef23891978 100755
case "${target}" in
*-rtems*)
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 37396bd6ebb..1dadf658c08 100644
index a6c01b29e94..a8fb1200c8b 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -378,6 +378,7 @@ dnl # rather than hardcoding that information.
@@ -386,6 +386,7 @@ dnl # rather than hardcoding that information.
fi
AC_DEFINE(HAVE_ICONV)
AC_DEFINE(HAVE_MEMALIGN)
+ AC_DEFINE(HAVE_ALIGNED_ALLOC)
case "${target}" in
*-rtems*)
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index 422a0f4bd0a..42185df9517 100644
index 537774c2668..b15e28d2371 100644
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -1429,6 +1429,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
@@ -1436,6 +1436,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
-e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
-e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
-e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \
@@ -544,7 +559,7 @@ index 422a0f4bd0a..42185df9517 100644
< $< > $@
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
index 9fd4ab4848c..0b7ba4021ee 100644
index 7b96b2207f8..80f0effec92 100644
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -336,6 +336,7 @@ prefix = @prefix@
@@ -555,7 +570,7 @@ index 9fd4ab4848c..0b7ba4021ee 100644
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -1903,6 +1904,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
@@ -1910,6 +1911,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
-e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
-e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
-e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \

View File

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

View File

@@ -10,8 +10,23 @@ index 11996247f15..f21b315ce8a 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/i386/host-mingw32.cc b/gcc/config/i386/host-mingw32.cc
index e083f49f3da..1b81e7e88ce 100644
--- a/gcc/config/i386/host-mingw32.cc
+++ b/gcc/config/i386/host-mingw32.cc
@@ -94,6 +94,10 @@ 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. */
+#if __MINGW64__
+ size = UINT64_C(64 * 1024 * 1024 * 1024);
+#endif
+
res = VirtualAlloc (NULL, size,
MEM_RESERVE | MEM_TOP_DOWN,
PAGE_NOACCESS);
diff --git a/gcc/config/newlib-stdint.h b/gcc/config/newlib-stdint.h
index a35aecaa7bd..63c67a9c7d6 100644
index 9295e0319a2..bc28e5380bd 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
@@ -24,7 +39,7 @@ index a35aecaa7bd..63c67a9c7d6 100644
#define SIG_ATOMIC_TYPE "int"
diff --git a/gcc/config/rs6000/eabi.h b/gcc/config/rs6000/eabi.h
index d768459fbeb..b54041268e5 100644
index 3cbee36cd20..e0ffda81164 100644
--- a/gcc/config/rs6000/eabi.h
+++ b/gcc/config/rs6000/eabi.h
@@ -36,6 +36,8 @@
@@ -37,10 +52,10 @@ index d768459fbeb..b54041268e5 100644
} \
while (0)
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 2cde2e329b0..768470b753a 100644
index db6112a09e1..71cd6664a3e 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -197,6 +197,7 @@ ASM_OPT_ANY
@@ -193,6 +193,7 @@ ASM_OPT_ANY
/* -mcpu=native handling only makes sense with compiler running on
an PowerPC chip. If changing this condition, also change
the condition in driver-rs6000.cc. */
@@ -48,7 +63,7 @@ index 2cde2e329b0..768470b753a 100644
#if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX)
/* In driver-rs6000.cc. */
extern const char *host_detect_local_cpu (int argc, const char **argv);
@@ -208,6 +209,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
@@ -204,6 +205,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
#else
#define ASM_CPU_NATIVE_SPEC "%(asm_default)"
#endif
@@ -58,7 +73,7 @@ index 2cde2e329b0..768470b753a 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 bcafa9d0cf4..d629d85bd17 100644
index afb5c6ad867..30d30d530e8 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -581,7 +581,11 @@ GNU_USER_TARGET_CC1_SPEC
@@ -161,7 +176,7 @@ index bcafa9d0cf4..d629d85bd17 100644
/* Motorola Yellowknife support. */
#define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group"
@@ -842,6 +866,7 @@ ncrtn.o%s"
@@ -843,6 +867,7 @@ ncrtn.o%s"
#undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \
{ "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \
@@ -169,7 +184,7 @@ index bcafa9d0cf4..d629d85bd17 100644
{ "lib_ads", LIB_ADS_SPEC }, \
{ "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \
{ "lib_mvme", LIB_MVME_SPEC }, \
@@ -851,6 +876,7 @@ ncrtn.o%s"
@@ -852,6 +877,7 @@ ncrtn.o%s"
{ "lib_netbsd", LIB_NETBSD_SPEC }, \
{ "lib_openbsd", LIB_OPENBSD_SPEC }, \
{ "lib_default", LIB_DEFAULT_SPEC }, \
@@ -177,7 +192,7 @@ index bcafa9d0cf4..d629d85bd17 100644
{ "startfile_ads", STARTFILE_ADS_SPEC }, \
{ "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \
{ "startfile_mvme", STARTFILE_MVME_SPEC }, \
@@ -860,6 +886,7 @@ ncrtn.o%s"
@@ -861,6 +887,7 @@ ncrtn.o%s"
{ "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \
{ "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \
{ "startfile_default", STARTFILE_DEFAULT_SPEC }, \
@@ -185,7 +200,7 @@ index bcafa9d0cf4..d629d85bd17 100644
{ "endfile_ads", ENDFILE_ADS_SPEC }, \
{ "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \
{ "endfile_mvme", ENDFILE_MVME_SPEC }, \
@@ -871,7 +898,11 @@ ncrtn.o%s"
@@ -872,7 +899,11 @@ ncrtn.o%s"
{ "endfile_default", ENDFILE_DEFAULT_SPEC }, \
{ "link_shlib", LINK_SHLIB_SPEC }, \
{ "link_start", LINK_START_SPEC }, \
@@ -197,7 +212,7 @@ index bcafa9d0cf4..d629d85bd17 100644
{ "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \
{ "link_start_mvme", LINK_START_MVME_SPEC }, \
{ "link_start_sim", LINK_START_SIM_SPEC }, \
@@ -881,6 +912,7 @@ ncrtn.o%s"
@@ -882,6 +913,7 @@ ncrtn.o%s"
{ "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \
{ "link_start_default", LINK_START_DEFAULT_SPEC }, \
{ "link_os", LINK_OS_SPEC }, \
@@ -205,7 +220,7 @@ index bcafa9d0cf4..d629d85bd17 100644
{ "link_os_ads", LINK_OS_ADS_SPEC }, \
{ "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \
{ "link_os_mvme", LINK_OS_MVME_SPEC }, \
@@ -892,6 +924,9 @@ ncrtn.o%s"
@@ -893,6 +925,9 @@ ncrtn.o%s"
{ "link_os_default", LINK_OS_DEFAULT_SPEC }, \
{ "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \
{ "link_secure_plt", LINK_SECURE_PLT_SPEC }, \
@@ -216,7 +231,7 @@ index bcafa9d0cf4..d629d85bd17 100644
{ "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 fdfe665fefa..42a1935d358 100644
index dc0b0e82d9e..20300b60da8 100644
--- a/gcc/config/rs6000/sysv4.opt
+++ b/gcc/config/rs6000/sysv4.opt
@@ -124,6 +124,26 @@ mads
@@ -247,10 +262,10 @@ index fdfe665fefa..42a1935d358 100644
Target RejectNegative
Link with libyk.a, libc.a and crt0.o.
diff --git a/gcc/configure b/gcc/configure
index abc8bfdc244..d0065dd166c 100755
index 16965953f05..7912de7061c 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -933,6 +933,7 @@ infodir
@@ -934,6 +934,7 @@ infodir
docdir
oldincludedir
includedir
@@ -258,7 +273,7 @@ index abc8bfdc244..d0065dd166c 100755
localstatedir
sharedstatedir
sysconfdir
@@ -1117,6 +1118,7 @@ datadir='${datarootdir}'
@@ -1120,6 +1121,7 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
@@ -266,7 +281,7 @@ index abc8bfdc244..d0065dd166c 100755
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE}'
@@ -1369,6 +1371,15 @@ do
@@ -1372,6 +1374,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
@@ -282,7 +297,7 @@ index abc8bfdc244..d0065dd166c 100755
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1506,7 +1517,7 @@ fi
@@ -1509,7 +1520,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
@@ -291,7 +306,7 @@ index abc8bfdc244..d0065dd166c 100755
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1659,6 +1670,7 @@ Fine tuning of the installation directories:
@@ -1662,6 +1673,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
@@ -299,7 +314,7 @@ index abc8bfdc244..d0065dd166c 100755
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -6229,7 +6241,7 @@ else
@@ -6253,7 +6265,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
@@ -308,7 +323,7 @@ index abc8bfdc244..d0065dd166c 100755
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6275,7 +6287,7 @@ else
@@ -6299,7 +6311,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
@@ -317,7 +332,7 @@ index abc8bfdc244..d0065dd166c 100755
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6299,7 +6311,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
@@ -6323,7 +6335,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
@@ -326,7 +341,7 @@ index abc8bfdc244..d0065dd166c 100755
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6344,7 +6356,7 @@ else
@@ -6368,7 +6380,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
@@ -335,7 +350,7 @@ index abc8bfdc244..d0065dd166c 100755
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6368,7 +6380,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
@@ -6392,7 +6404,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
@@ -344,7 +359,7 @@ index abc8bfdc244..d0065dd166c 100755
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -13219,7 +13231,7 @@ case ${enable_threads} in
@@ -13164,7 +13176,7 @@ case ${enable_threads} in
# default
target_thread_file='single'
;;
@@ -353,29 +368,29 @@ index abc8bfdc244..d0065dd166c 100755
single | tpf | vxworks | win32 | mcf)
target_thread_file=${enable_threads}
;;
@@ -21575,7 +21587,7 @@ else
@@ -21520,7 +21532,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 21578 "configure"
+#line 21590 "configure"
-#line 21523 "configure"
+#line 21535 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -21681,7 +21693,7 @@ else
@@ -21626,7 +21638,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 21684 "configure"
+#line 21696 "configure"
-#line 21629 "configure"
+#line 21641 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 1d2cefa3f6a..1880a43edb7 100644
index 9f67e62950a..30e45e80291 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -2053,7 +2053,7 @@ case ${enable_threads} in
@@ -2089,7 +2089,7 @@ case ${enable_threads} in
# default
target_thread_file='single'
;;
@@ -398,7 +413,7 @@ index ea689a353c8..98f9d9b21b7 100755
;;
*)
diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S
index 62709321d60..29474da45ac 100644
index 8761f612004..95cc245813b 100644
--- a/libgcc/config/rs6000/crtrestvr.S
+++ b/libgcc/config/rs6000/crtrestvr.S
@@ -24,7 +24,7 @@
@@ -416,7 +431,7 @@ index 62709321d60..29474da45ac 100644
#endif
+#endif
diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S
index d5b96600911..58be7119b2d 100644
index 9d05c98c32d..1b7e1ca68b9 100644
--- a/libgcc/config/rs6000/crtsavevr.S
+++ b/libgcc/config/rs6000/crtsavevr.S
@@ -24,7 +24,7 @@
@@ -1135,10 +1150,10 @@ index fb812d3801f..7f6669d530f 100644
# This can't end up in shared libgcc
diff --git a/libgcc/configure b/libgcc/configure
index cff1eff9625..c4bb38358b3 100755
index 18418336c9b..0abc84af6c8 100755
--- a/libgcc/configure
+++ b/libgcc/configure
@@ -5754,6 +5754,7 @@ tm_file="${tm_file_}"
@@ -5724,6 +5724,7 @@ tm_file="${tm_file_}"
case $target_thread_file in
aix) thread_header=config/rs6000/gthr-aix.h ;;
dce) thread_header=config/pa/gthr-dce.h ;;
@@ -1147,7 +1162,7 @@ index cff1eff9625..c4bb38358b3 100755
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 38d3859a73c..f97358d9787 100644
index b9767cd1eee..362689c9f0b 100644
--- a/libgcc/crtstuff.c
+++ b/libgcc/crtstuff.c
@@ -326,7 +326,7 @@ register_tm_clones (void)
@@ -1160,7 +1175,7 @@ index 38d3859a73c..f97358d9787 100644
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 21abaeb0778..f16aacb03e6 100755
index 819a1d82876..be18f306f85 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -893,6 +893,7 @@ infodir
@@ -1319,25 +1334,25 @@ index 21abaeb0778..f16aacb03e6 100755
int main()
{
typedef long long atomic_type;
@@ -16444,7 +16457,7 @@ $as_echo "mutex" >&6; }
@@ -16445,7 +16458,7 @@ $as_echo "mutex" >&6; }
# unnecessary for this test.
cat > conftest.$ac_ext << EOF
-#line 16447 "configure"
+#line 16460 "configure"
-#line 16448 "configure"
+#line 16461 "configure"
int main()
{
_Decimal32 d1;
@@ -16486,7 +16499,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
@@ -16487,7 +16500,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
# unnecessary for this test.
cat > conftest.$ac_ext << EOF
-#line 16489 "configure"
+#line 16502 "configure"
-#line 16490 "configure"
+#line 16503 "configure"
template<typename T1, typename T2>
struct same
{ typedef T2 type; };
@@ -28575,6 +28588,8 @@ _ACEOF
@@ -28602,6 +28615,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
$as_echo "#define HAVE_MEMALIGN 1" >>confdefs.h
@@ -1347,22 +1362,22 @@ index 21abaeb0778..f16aacb03e6 100755
case "${target}" in
*-rtems*)
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 37396bd6ebb..1dadf658c08 100644
index a6c01b29e94..a8fb1200c8b 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -378,6 +378,7 @@ dnl # rather than hardcoding that information.
@@ -386,6 +386,7 @@ dnl # rather than hardcoding that information.
fi
AC_DEFINE(HAVE_ICONV)
AC_DEFINE(HAVE_MEMALIGN)
+ AC_DEFINE(HAVE_ALIGNED_ALLOC)
case "${target}" in
*-rtems*)
diff --git a/libstdc++-v3/include/std/fstream b/libstdc++-v3/include/std/fstream
index 1008a275540..d94296eb54c 100644
index 53e794162eb..08602c21949 100644
--- a/libstdc++-v3/include/std/fstream
+++ b/libstdc++-v3/include/std/fstream
@@ -51,7 +51,7 @@
@@ -53,7 +53,7 @@
// This can be overridden by the target's os_defines.h
#ifndef _GLIBCXX_BUFSIZ
@@ -1372,7 +1387,7 @@ index 1008a275540..d94296eb54c 100644
namespace std _GLIBCXX_VISIBILITY(default)
diff --git a/libstdc++-v3/libsupc++/eh_alloc.cc b/libstdc++-v3/libsupc++/eh_alloc.cc
index ec8c8fd13af..72b808b6ec0 100644
index 42ca2ea5116..04f75c43cf5 100644
--- a/libstdc++-v3/libsupc++/eh_alloc.cc
+++ b/libstdc++-v3/libsupc++/eh_alloc.cc
@@ -143,6 +143,7 @@ namespace
@@ -1400,10 +1415,10 @@ index ec8c8fd13af..72b808b6ec0 100644
{
__scoped_lock sentry(emergency_mutex);
diff --git a/libstdc++-v3/src/c++17/fs_ops.cc b/libstdc++-v3/src/c++17/fs_ops.cc
index 07bc2a0fa88..6c52045b377 100644
index 4f188153ae3..ea9d379e33a 100644
--- a/libstdc++-v3/src/c++17/fs_ops.cc
+++ b/libstdc++-v3/src/c++17/fs_ops.cc
@@ -1124,6 +1124,7 @@ fs::permissions(const path& p, perms prms, perm_options opts,
@@ -1153,6 +1153,7 @@ fs::permissions(const path& p, perms prms, perm_options opts,
}
int err = 0;
@@ -1411,7 +1426,7 @@ index 07bc2a0fa88..6c52045b377 100644
#if _GLIBCXX_USE_FCHMODAT
const int flag = (nofollow && is_symlink(st)) ? AT_SYMLINK_NOFOLLOW : 0;
if (::fchmodat(AT_FDCWD, p.c_str(), static_cast<mode_t>(prms), flag))
@@ -1133,6 +1134,7 @@ fs::permissions(const path& p, perms prms, perm_options opts,
@@ -1162,6 +1163,7 @@ fs::permissions(const path& p, perms prms, perm_options opts,
ec = std::__unsupported();
else if (posix::chmod(p.c_str(), static_cast<posix::mode_t>(prms)))
err = errno;
@@ -1420,10 +1435,10 @@ index 07bc2a0fa88..6c52045b377 100644
if (err)
diff --git a/libstdc++-v3/src/filesystem/ops-common.h b/libstdc++-v3/src/filesystem/ops-common.h
index d917fddbeb1..d2981fc22cd 100644
index 4feacfdb932..b8c49f49381 100644
--- a/libstdc++-v3/src/filesystem/ops-common.h
+++ b/libstdc++-v3/src/filesystem/ops-common.h
@@ -557,6 +557,7 @@ _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM
@@ -563,6 +563,7 @@ _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM
return false;
}
@@ -1431,7 +1446,7 @@ index d917fddbeb1..d2981fc22cd 100644
#if defined _GLIBCXX_USE_FCHMOD && ! defined _GLIBCXX_FILESYSTEM_IS_WINDOWS
if (::fchmod(out.fd, from_st->st_mode))
#elif defined _GLIBCXX_USE_FCHMODAT && ! defined _GLIBCXX_FILESYSTEM_IS_WINDOWS
@@ -570,6 +571,7 @@ _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM
@@ -576,6 +577,7 @@ _GLIBCXX_BEGIN_NAMESPACE_FILESYSTEM
ec.assign(errno, std::generic_category());
return false;
}
@@ -1440,10 +1455,10 @@ index d917fddbeb1..d2981fc22cd 100644
bool has_copied = false;
diff --git a/libstdc++-v3/src/filesystem/ops.cc b/libstdc++-v3/src/filesystem/ops.cc
index 4d23a804da0..400d2cdaf5b 100644
index 4e21e43b97a..d93c8985224 100644
--- a/libstdc++-v3/src/filesystem/ops.cc
+++ b/libstdc++-v3/src/filesystem/ops.cc
@@ -973,6 +973,7 @@ fs::permissions(const path& p, perms prms, error_code& ec) noexcept
@@ -987,6 +987,7 @@ fs::permissions(const path& p, perms prms, error_code& ec) noexcept
}
int err = 0;
@@ -1451,7 +1466,7 @@ index 4d23a804da0..400d2cdaf5b 100644
#if _GLIBCXX_USE_FCHMODAT
const int flag = (nofollow && is_symlink(st)) ? AT_SYMLINK_NOFOLLOW : 0;
if (::fchmodat(AT_FDCWD, p.c_str(), static_cast<mode_t>(prms), flag))
@@ -982,6 +983,7 @@ fs::permissions(const path& p, perms prms, error_code& ec) noexcept
@@ -996,6 +997,7 @@ fs::permissions(const path& p, perms prms, error_code& ec) noexcept
ec = std::__unsupported();
else if (posix::chmod(p.c_str(), static_cast<mode_t>(prms)))
err = errno;

File diff suppressed because one or more lines are too long

View File

@@ -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 46" \
--with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 47" \
$CROSS_PARAMS \
$CROSS_GCC_PARAMS \
$EXTRA_GCC_PARAMS \

View File

@@ -30,28 +30,28 @@ done
case "$VERSION" in
"1" )
GCC_VER=14.2.0
BINUTILS_VER=2.43.1
NEWLIB_VER=4.4.0.20231231
GCC_VER=15.1.0
BINUTILS_VER=2.44
NEWLIB_VER=4.5.0.20241231
basedir='dkarm-eabi'
package=devkitARM
target=arm-none-eabi
toolchain=DEVKITARM
;;
"2" )
GCC_VER=14.2.0
BINUTILS_VER=2.43.1
GCC_VER=15.1.0
BINUTILS_VER=2.44
MN_BINUTILS_VER=2.24
NEWLIB_VER=4.4.0.20231231
NEWLIB_VER=4.5.0.20241231
basedir='dkppc'
package=devkitPPC
target=powerpc-eabi
toolchain=DEVKITPPC
;;
"3" )
GCC_VER=14.2.0
BINUTILS_VER=2.43.1
NEWLIB_VER=4.4.0.20231231
GCC_VER=15.1.0
BINUTILS_VER=2.44
NEWLIB_VER=4.5.0.20241231
basedir='dka64'
package=devkitA64
target=aarch64-none-elf