From 6015da5cabef8f7b656d3bfeeef6a80d1368983e Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sat, 23 Jan 2021 20:09:13 +0000 Subject: [PATCH] devkitA64: update newlib to 4.1.0 --- build-devkit.sh | 2 +- ...{newlib-3.3.0.patch => newlib-4.1.0.patch} | 265 +++++++++--------- dka64/scripts/build-gcc.sh | 2 +- select_toolchain.sh | 2 +- 4 files changed, 139 insertions(+), 132 deletions(-) rename dka64/patches/{newlib-3.3.0.patch => newlib-4.1.0.patch} (98%) diff --git a/build-devkit.sh b/build-devkit.sh index 6df608b..9cc88a0 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -3,7 +3,7 @@ #--------------------------------------------------------------------------------- # devkitARM release 55 # devkitPPC release 38 -# devkitA64 release 16 +# devkitA64 release 17 #--------------------------------------------------------------------------------- if [ 0 -eq 1 ] ; then diff --git a/dka64/patches/newlib-3.3.0.patch b/dka64/patches/newlib-4.1.0.patch similarity index 98% rename from dka64/patches/newlib-3.3.0.patch rename to dka64/patches/newlib-4.1.0.patch index 439b029..db3267e 100644 --- a/dka64/patches/newlib-3.3.0.patch +++ b/dka64/patches/newlib-4.1.0.patch @@ -1,8 +1,8 @@ diff --git a/libgloss/configure b/libgloss/configure -index 0d2918c..bccfb07 100755 +index 816b9c4b8..b79edb6c8 100755 --- a/libgloss/configure +++ b/libgloss/configure -@@ -2604,6 +2604,8 @@ if test "${config_libnosys}" = "true"; then +@@ -2609,6 +2609,8 @@ if test "${config_libnosys}" = "true"; then fi @@ -12,7 +12,7 @@ index 0d2918c..bccfb07 100755 ac_config_commands="$ac_config_commands depfiles" diff --git a/libgloss/configure.in b/libgloss/configure.in -index f38d529..509c310 100644 +index 4111724e1..0e44d885e 100644 --- a/libgloss/configure.in +++ b/libgloss/configure.in @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. @@ -23,7 +23,7 @@ index f38d529..509c310 100644 if test "${enable_shared}" = "yes" ; then echo "Shared libraries not supported for cross compiling, ignored" -@@ -193,6 +194,7 @@ dnl fi +@@ -196,6 +197,7 @@ dnl fi if test "${config_libnosys}" = "true"; then AC_CONFIG_SUBDIRS([libnosys]) fi @@ -33,7 +33,7 @@ index f38d529..509c310 100644 AS=${AS-as} diff --git a/libgloss/libsysbase/Makefile.in b/libgloss/libsysbase/Makefile.in new file mode 100644 -index 0000000..3db0c08 +index 000000000..3db0c08bc --- /dev/null +++ b/libgloss/libsysbase/Makefile.in @@ -0,0 +1,151 @@ @@ -190,7 +190,7 @@ index 0000000..3db0c08 + $(SHELL) config.status --recheck diff --git a/libgloss/libsysbase/_exit.c b/libgloss/libsysbase/_exit.c new file mode 100644 -index 0000000..6effb11 +index 000000000..6effb1105 --- /dev/null +++ b/libgloss/libsysbase/_exit.c @@ -0,0 +1,17 @@ @@ -213,7 +213,7 @@ index 0000000..6effb11 +} diff --git a/libgloss/libsysbase/abort.c b/libgloss/libsysbase/abort.c new file mode 100644 -index 0000000..9272e22 +index 000000000..9272e22c9 --- /dev/null +++ b/libgloss/libsysbase/abort.c @@ -0,0 +1,8 @@ @@ -227,7 +227,7 @@ index 0000000..9272e22 + diff --git a/libgloss/libsysbase/acconfig.h b/libgloss/libsysbase/acconfig.h new file mode 100644 -index 0000000..200ea78 +index 000000000..200ea7873 --- /dev/null +++ b/libgloss/libsysbase/acconfig.h @@ -0,0 +1,29 @@ @@ -262,7 +262,7 @@ index 0000000..200ea78 +#undef __SYMBOL_PREFIX diff --git a/libgloss/libsysbase/aclocal.m4 b/libgloss/libsysbase/aclocal.m4 new file mode 100644 -index 0000000..b6cdfae +index 000000000..b6cdfaeb8 --- /dev/null +++ b/libgloss/libsysbase/aclocal.m4 @@ -0,0 +1,344 @@ @@ -612,7 +612,7 @@ index 0000000..b6cdfae +m4_include([../acinclude.m4]) diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c new file mode 100644 -index 0000000..b94f6a8 +index 000000000..b94f6a8b4 --- /dev/null +++ b/libgloss/libsysbase/chdir.c @@ -0,0 +1,200 @@ @@ -818,7 +818,7 @@ index 0000000..b94f6a8 +} diff --git a/libgloss/libsysbase/chmod.c b/libgloss/libsysbase/chmod.c new file mode 100644 -index 0000000..3668b58 +index 000000000..3668b5801 --- /dev/null +++ b/libgloss/libsysbase/chmod.c @@ -0,0 +1,30 @@ @@ -854,7 +854,7 @@ index 0000000..3668b58 + diff --git a/libgloss/libsysbase/clocks.c b/libgloss/libsysbase/clocks.c new file mode 100644 -index 0000000..b36b5c0 +index 000000000..b36b5c079 --- /dev/null +++ b/libgloss/libsysbase/clocks.c @@ -0,0 +1,34 @@ @@ -894,7 +894,7 @@ index 0000000..b36b5c0 + diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c new file mode 100644 -index 0000000..931ad07 +index 000000000..931ad07b1 --- /dev/null +++ b/libgloss/libsysbase/close.c @@ -0,0 +1,46 @@ @@ -946,7 +946,7 @@ index 0000000..931ad07 +} diff --git a/libgloss/libsysbase/config.h.in b/libgloss/libsysbase/config.h.in new file mode 100644 -index 0000000..48ce950 +index 000000000..48ce950b4 --- /dev/null +++ b/libgloss/libsysbase/config.h.in @@ -0,0 +1,25 @@ @@ -977,7 +977,7 @@ index 0000000..48ce950 +#undef __SYMBOL_PREFIX diff --git a/libgloss/libsysbase/configure b/libgloss/libsysbase/configure new file mode 100644 -index 0000000..aa653c2 +index 000000000..aa653c235 --- /dev/null +++ b/libgloss/libsysbase/configure @@ -0,0 +1,4160 @@ @@ -5143,7 +5143,7 @@ index 0000000..aa653c2 + diff --git a/libgloss/libsysbase/configure.in b/libgloss/libsysbase/configure.in new file mode 100644 -index 0000000..da85a3f +index 000000000..da85a3f46 --- /dev/null +++ b/libgloss/libsysbase/configure.in @@ -0,0 +1,202 @@ @@ -5351,7 +5351,7 @@ index 0000000..da85a3f + diff --git a/libgloss/libsysbase/dirent.c b/libgloss/libsysbase/dirent.c new file mode 100644 -index 0000000..7d1f454 +index 000000000..7d1f4545d --- /dev/null +++ b/libgloss/libsysbase/dirent.c @@ -0,0 +1,256 @@ @@ -5613,7 +5613,7 @@ index 0000000..7d1f454 +} diff --git a/libgloss/libsysbase/environ.c b/libgloss/libsysbase/environ.c new file mode 100644 -index 0000000..1c485b2 +index 000000000..1c485b26f --- /dev/null +++ b/libgloss/libsysbase/environ.c @@ -0,0 +1,6 @@ @@ -5625,7 +5625,7 @@ index 0000000..1c485b2 +char **environ = __env; diff --git a/libgloss/libsysbase/execve.c b/libgloss/libsysbase/execve.c new file mode 100644 -index 0000000..82e7013 +index 000000000..82e70139f --- /dev/null +++ b/libgloss/libsysbase/execve.c @@ -0,0 +1,30 @@ @@ -5661,7 +5661,7 @@ index 0000000..82e7013 + diff --git a/libgloss/libsysbase/fchmod.c b/libgloss/libsysbase/fchmod.c new file mode 100644 -index 0000000..5c5831c +index 000000000..5c5831cdf --- /dev/null +++ b/libgloss/libsysbase/fchmod.c @@ -0,0 +1,31 @@ @@ -5698,7 +5698,7 @@ index 0000000..5c5831c +} diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c new file mode 100644 -index 0000000..c6b8c92 +index 000000000..c6b8c92ad --- /dev/null +++ b/libgloss/libsysbase/flock.c @@ -0,0 +1,21 @@ @@ -5725,7 +5725,7 @@ index 0000000..c6b8c92 +} diff --git a/libgloss/libsysbase/fnmatch.c b/libgloss/libsysbase/fnmatch.c new file mode 100644 -index 0000000..893b662 +index 000000000..893b662ab --- /dev/null +++ b/libgloss/libsysbase/fnmatch.c @@ -0,0 +1,201 @@ @@ -5932,7 +5932,7 @@ index 0000000..893b662 +} diff --git a/libgloss/libsysbase/fork.c b/libgloss/libsysbase/fork.c new file mode 100644 -index 0000000..efb6a34 +index 000000000..efb6a3496 --- /dev/null +++ b/libgloss/libsysbase/fork.c @@ -0,0 +1,21 @@ @@ -5959,7 +5959,7 @@ index 0000000..efb6a34 +} diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c new file mode 100644 -index 0000000..e32b067 +index 000000000..e32b06755 --- /dev/null +++ b/libgloss/libsysbase/fstat.c @@ -0,0 +1,44 @@ @@ -6009,7 +6009,7 @@ index 0000000..e32b067 +} diff --git a/libgloss/libsysbase/fsync.c b/libgloss/libsysbase/fsync.c new file mode 100644 -index 0000000..fb06cb6 +index 000000000..fb06cb6d1 --- /dev/null +++ b/libgloss/libsysbase/fsync.c @@ -0,0 +1,34 @@ @@ -6049,7 +6049,7 @@ index 0000000..fb06cb6 +} diff --git a/libgloss/libsysbase/ftruncate.c b/libgloss/libsysbase/ftruncate.c new file mode 100644 -index 0000000..2cc03a3 +index 000000000..2cc03a3d9 --- /dev/null +++ b/libgloss/libsysbase/ftruncate.c @@ -0,0 +1,34 @@ @@ -6089,7 +6089,7 @@ index 0000000..2cc03a3 +} diff --git a/libgloss/libsysbase/getpid.c b/libgloss/libsysbase/getpid.c new file mode 100644 -index 0000000..fdce14b +index 000000000..fdce14b5f --- /dev/null +++ b/libgloss/libsysbase/getpid.c @@ -0,0 +1,19 @@ @@ -6114,7 +6114,7 @@ index 0000000..fdce14b + diff --git a/libgloss/libsysbase/getreent.c b/libgloss/libsysbase/getreent.c new file mode 100644 -index 0000000..a3f1e98 +index 000000000..a3f1e98a9 --- /dev/null +++ b/libgloss/libsysbase/getreent.c @@ -0,0 +1,20 @@ @@ -6140,7 +6140,7 @@ index 0000000..a3f1e98 + diff --git a/libgloss/libsysbase/gettod.c b/libgloss/libsysbase/gettod.c new file mode 100644 -index 0000000..f18c59b +index 000000000..f18c59ba3 --- /dev/null +++ b/libgloss/libsysbase/gettod.c @@ -0,0 +1,34 @@ @@ -6180,7 +6180,7 @@ index 0000000..f18c59b + diff --git a/libgloss/libsysbase/handle_manager.c b/libgloss/libsysbase/handle_manager.c new file mode 100644 -index 0000000..f3fcc88 +index 000000000..f3fcc88f7 --- /dev/null +++ b/libgloss/libsysbase/handle_manager.c @@ -0,0 +1,173 @@ @@ -6359,7 +6359,7 @@ index 0000000..f3fcc88 +} diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c new file mode 100644 -index 0000000..948c6ef +index 000000000..948c6ef93 --- /dev/null +++ b/libgloss/libsysbase/iosupport.c @@ -0,0 +1,140 @@ @@ -6505,7 +6505,7 @@ index 0000000..948c6ef + diff --git a/libgloss/libsysbase/isatty.c b/libgloss/libsysbase/isatty.c new file mode 100644 -index 0000000..280a457 +index 000000000..280a4579a --- /dev/null +++ b/libgloss/libsysbase/isatty.c @@ -0,0 +1,17 @@ @@ -6528,7 +6528,7 @@ index 0000000..280a457 +} diff --git a/libgloss/libsysbase/kill.c b/libgloss/libsysbase/kill.c new file mode 100644 -index 0000000..13bd0fb +index 000000000..13bd0fba1 --- /dev/null +++ b/libgloss/libsysbase/kill.c @@ -0,0 +1,21 @@ @@ -6555,7 +6555,7 @@ index 0000000..13bd0fb +} diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c new file mode 100644 -index 0000000..162f70f +index 000000000..162f70f63 --- /dev/null +++ b/libgloss/libsysbase/link.c @@ -0,0 +1,36 @@ @@ -6597,7 +6597,7 @@ index 0000000..162f70f + diff --git a/libgloss/libsysbase/locks.c b/libgloss/libsysbase/locks.c new file mode 100644 -index 0000000..c41d91f +index 000000000..c41d91ff9 --- /dev/null +++ b/libgloss/libsysbase/locks.c @@ -0,0 +1,158 @@ @@ -6761,7 +6761,7 @@ index 0000000..c41d91f + diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c new file mode 100644 -index 0000000..eb232c8 +index 000000000..eb232c86b --- /dev/null +++ b/libgloss/libsysbase/lseek.c @@ -0,0 +1,45 @@ @@ -6812,7 +6812,7 @@ index 0000000..eb232c8 +} diff --git a/libgloss/libsysbase/lstat.c b/libgloss/libsysbase/lstat.c new file mode 100644 -index 0000000..fc39343 +index 000000000..fc393430b --- /dev/null +++ b/libgloss/libsysbase/lstat.c @@ -0,0 +1,31 @@ @@ -6849,7 +6849,7 @@ index 0000000..fc39343 + diff --git a/libgloss/libsysbase/malloc_vars.c b/libgloss/libsysbase/malloc_vars.c new file mode 100644 -index 0000000..4565909 +index 000000000..456590956 --- /dev/null +++ b/libgloss/libsysbase/malloc_vars.c @@ -0,0 +1,2 @@ @@ -6857,7 +6857,7 @@ index 0000000..4565909 +char *fake_heap_start = (char*)0; diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c new file mode 100644 -index 0000000..19742b7 +index 000000000..19742b774 --- /dev/null +++ b/libgloss/libsysbase/mkdir.c @@ -0,0 +1,23 @@ @@ -6886,7 +6886,7 @@ index 0000000..19742b7 +} diff --git a/libgloss/libsysbase/nanosleep.c b/libgloss/libsysbase/nanosleep.c new file mode 100644 -index 0000000..a233b9d +index 000000000..a233b9df6 --- /dev/null +++ b/libgloss/libsysbase/nanosleep.c @@ -0,0 +1,14 @@ @@ -6906,7 +6906,7 @@ index 0000000..a233b9d +} diff --git a/libgloss/libsysbase/open.c b/libgloss/libsysbase/open.c new file mode 100644 -index 0000000..f8d98fd +index 000000000..f8d98fd3b --- /dev/null +++ b/libgloss/libsysbase/open.c @@ -0,0 +1,53 @@ @@ -6965,7 +6965,7 @@ index 0000000..f8d98fd +} diff --git a/libgloss/libsysbase/pthread.c b/libgloss/libsysbase/pthread.c new file mode 100755 -index 0000000..ff84cd3 +index 000000000..ff84cd355 --- /dev/null +++ b/libgloss/libsysbase/pthread.c @@ -0,0 +1,1083 @@ @@ -8054,7 +8054,7 @@ index 0000000..ff84cd3 +} diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c new file mode 100644 -index 0000000..838a8c7 +index 000000000..838a8c796 --- /dev/null +++ b/libgloss/libsysbase/read.c @@ -0,0 +1,39 @@ @@ -8099,7 +8099,7 @@ index 0000000..838a8c7 + diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c new file mode 100644 -index 0000000..b54e0ce +index 000000000..b54e0ce7c --- /dev/null +++ b/libgloss/libsysbase/rename.c @@ -0,0 +1,37 @@ @@ -8142,7 +8142,7 @@ index 0000000..b54e0ce +} diff --git a/libgloss/libsysbase/rmdir.c b/libgloss/libsysbase/rmdir.c new file mode 100644 -index 0000000..2692a29 +index 000000000..2692a2997 --- /dev/null +++ b/libgloss/libsysbase/rmdir.c @@ -0,0 +1,25 @@ @@ -8173,7 +8173,7 @@ index 0000000..2692a29 +} diff --git a/libgloss/libsysbase/sbrk.c b/libgloss/libsysbase/sbrk.c new file mode 100644 -index 0000000..5dd550c +index 000000000..5dd550c5c --- /dev/null +++ b/libgloss/libsysbase/sbrk.c @@ -0,0 +1,60 @@ @@ -8239,7 +8239,7 @@ index 0000000..5dd550c +} diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c new file mode 100644 -index 0000000..5c673af +index 000000000..5c673af52 --- /dev/null +++ b/libgloss/libsysbase/scandir.c @@ -0,0 +1,76 @@ @@ -8321,7 +8321,7 @@ index 0000000..5c673af + diff --git a/libgloss/libsysbase/sleep.c b/libgloss/libsysbase/sleep.c new file mode 100644 -index 0000000..f3aa979 +index 000000000..f3aa97954 --- /dev/null +++ b/libgloss/libsysbase/sleep.c @@ -0,0 +1,18 @@ @@ -8345,7 +8345,7 @@ index 0000000..f3aa979 +} diff --git a/libgloss/libsysbase/stat.c b/libgloss/libsysbase/stat.c new file mode 100644 -index 0000000..d0ad002 +index 000000000..d0ad00202 --- /dev/null +++ b/libgloss/libsysbase/stat.c @@ -0,0 +1,38 @@ @@ -8389,7 +8389,7 @@ index 0000000..d0ad002 + diff --git a/libgloss/libsysbase/statvfs.c b/libgloss/libsysbase/statvfs.c new file mode 100644 -index 0000000..84e2213 +index 000000000..84e221340 --- /dev/null +++ b/libgloss/libsysbase/statvfs.c @@ -0,0 +1,24 @@ @@ -8419,7 +8419,7 @@ index 0000000..84e2213 +} diff --git a/libgloss/libsysbase/times.c b/libgloss/libsysbase/times.c new file mode 100644 -index 0000000..79484e7 +index 000000000..79484e7f4 --- /dev/null +++ b/libgloss/libsysbase/times.c @@ -0,0 +1,17 @@ @@ -8442,7 +8442,7 @@ index 0000000..79484e7 + diff --git a/libgloss/libsysbase/truncate.c b/libgloss/libsysbase/truncate.c new file mode 100644 -index 0000000..8495259 +index 000000000..849525990 --- /dev/null +++ b/libgloss/libsysbase/truncate.c @@ -0,0 +1,54 @@ @@ -8502,7 +8502,7 @@ index 0000000..8495259 +} diff --git a/libgloss/libsysbase/unlink.c b/libgloss/libsysbase/unlink.c new file mode 100644 -index 0000000..7920b79 +index 000000000..7920b79ac --- /dev/null +++ b/libgloss/libsysbase/unlink.c @@ -0,0 +1,34 @@ @@ -8542,7 +8542,7 @@ index 0000000..7920b79 + diff --git a/libgloss/libsysbase/usleep.c b/libgloss/libsysbase/usleep.c new file mode 100644 -index 0000000..b547147 +index 000000000..b54714775 --- /dev/null +++ b/libgloss/libsysbase/usleep.c @@ -0,0 +1,18 @@ @@ -8566,7 +8566,7 @@ index 0000000..b547147 +} diff --git a/libgloss/libsysbase/utime.c b/libgloss/libsysbase/utime.c new file mode 100644 -index 0000000..f72bf9f +index 000000000..f72bf9fc6 --- /dev/null +++ b/libgloss/libsysbase/utime.c @@ -0,0 +1,45 @@ @@ -8617,7 +8617,7 @@ index 0000000..f72bf9f +} diff --git a/libgloss/libsysbase/wait.c b/libgloss/libsysbase/wait.c new file mode 100644 -index 0000000..247486e +index 000000000..247486e42 --- /dev/null +++ b/libgloss/libsysbase/wait.c @@ -0,0 +1,24 @@ @@ -8647,7 +8647,7 @@ index 0000000..247486e + diff --git a/libgloss/libsysbase/warning.h b/libgloss/libsysbase/warning.h new file mode 100644 -index 0000000..2c29982 +index 000000000..2c2998250 --- /dev/null +++ b/libgloss/libsysbase/warning.h @@ -0,0 +1,43 @@ @@ -8696,7 +8696,7 @@ index 0000000..2c29982 +#endif /* __WARNING_H__ */ diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c new file mode 100644 -index 0000000..61de918 +index 000000000..61de918bc --- /dev/null +++ b/libgloss/libsysbase/write.c @@ -0,0 +1,38 @@ @@ -8739,10 +8739,10 @@ index 0000000..61de918 + return ret; +} diff --git a/newlib/configure.host b/newlib/configure.host -index a84c0c8..aa9ea05 100644 +index 1ddbb6c76..f096346dc 100644 --- a/newlib/configure.host +++ b/newlib/configure.host -@@ -680,13 +680,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID +@@ -687,13 +687,25 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID syscall_dir=syscalls ;; aarch64*-*-*) @@ -8768,8 +8768,34 @@ index a84c0c8..aa9ea05 100644 arm*-*-pe) syscall_dir=syscalls ;; +diff --git a/newlib/libc/ctype/jp2uc.c b/newlib/libc/ctype/jp2uc.c +index 5e30f09be..1ea357f92 100644 +--- a/newlib/libc/ctype/jp2uc.c ++++ b/newlib/libc/ctype/jp2uc.c +@@ -35,7 +35,7 @@ + #ifdef _MB_CAPABLE + /* Under Cygwin, the incoming wide character is already given in UTF due + to the requirements of the underlying OS. */ +-#ifndef __CYGWIN__ ++#if !defined(__CYGWIN__) && !defined(__DEVKITA64__) + + #include <_ansi.h> + #include +diff --git a/newlib/libc/ctype/local.h b/newlib/libc/ctype/local.h +index 5c293c83d..75ccf89f5 100644 +--- a/newlib/libc/ctype/local.h ++++ b/newlib/libc/ctype/local.h +@@ -32,7 +32,7 @@ + * for towupper and towlower, the result must be back-transformed + into the respective locale encoding; currently NOT IMPLEMENTED + */ +-#ifdef __CYGWIN__ ++#if defined(__CYGWIN__) || defined(__DEVKITA64__) + /* Under Cygwin, wchar_t (or its extension wint_t) is Unicode */ + #define _jp2uc(c) (c) + #define _jp2uc_l(c, l) (c) diff --git a/newlib/libc/include/fnmatch.h b/newlib/libc/include/fnmatch.h -index a94e923..9171e98 100644 +index a94e923a4..9171e98aa 100644 --- a/newlib/libc/include/fnmatch.h +++ b/newlib/libc/include/fnmatch.h @@ -44,6 +44,7 @@ @@ -8782,7 +8808,7 @@ index a94e923..9171e98 100644 #endif diff --git a/newlib/libc/include/machine/_threads.h b/newlib/libc/include/machine/_threads.h new file mode 100755 -index 0000000..a71a5d8 +index 000000000..a71a5d847 --- /dev/null +++ b/newlib/libc/include/machine/_threads.h @@ -0,0 +1,44 @@ @@ -8831,10 +8857,10 @@ index 0000000..a71a5d8 + +#endif diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h -index 1efc5b9..91a8d74 100644 +index ba1a8a17e..f521cad89 100644 --- a/newlib/libc/include/math.h +++ b/newlib/libc/include/math.h -@@ -416,7 +416,7 @@ extern float hypotf (float, float); +@@ -426,7 +426,7 @@ extern float hypotf (float, float); simply call the double functions. On Cygwin the long double functions are implemented independently from newlib to be able to use optimized assembler functions despite using the Microsoft x86_64 ABI. */ @@ -8845,7 +8871,7 @@ index 1efc5b9..91a8d74 100644 extern long double atanl (long double); diff --git a/newlib/libc/include/semaphore.h b/newlib/libc/include/semaphore.h new file mode 100755 -index 0000000..4afb0e4 +index 000000000..4afb0e419 --- /dev/null +++ b/newlib/libc/include/semaphore.h @@ -0,0 +1,69 @@ @@ -8919,7 +8945,7 @@ index 0000000..4afb0e4 + +#endif /* !_SEMAPHORE_H_ */ diff --git a/newlib/libc/include/sys/_pthreadtypes.h b/newlib/libc/include/sys/_pthreadtypes.h -index 75e9e1c..dc63dbe 100644 +index 75e9e1cbf..dc63dbe6a 100644 --- a/newlib/libc/include/sys/_pthreadtypes.h +++ b/newlib/libc/include/sys/_pthreadtypes.h @@ -18,19 +18,18 @@ @@ -9092,7 +9118,7 @@ index 75e9e1c..dc63dbe 100644 int process_shared; /* allow this to be shared amongst processes */ #endif diff --git a/newlib/libc/include/sys/_timespec.h b/newlib/libc/include/sys/_timespec.h -index f810b00..ca7e11d 100644 +index f810b008f..ca7e11dc7 100644 --- a/newlib/libc/include/sys/_timespec.h +++ b/newlib/libc/include/sys/_timespec.h @@ -49,4 +49,10 @@ struct timespec { @@ -9107,7 +9133,7 @@ index f810b00..ca7e11d 100644 + #endif /* !_SYS__TIMESPEC_H_ */ diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h -index d746b15..80169d9 100644 +index 4bc8d29bf..35c05e6af 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h @@ -4,6 +4,9 @@ @@ -9121,7 +9147,7 @@ index d746b15..80169d9 100644 #define MALLOC_ALIGNMENT 16 #endif diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h -index a3fb5c0..b208de4 100644 +index a3fb5c02c..b208de4a7 100644 --- a/newlib/libc/include/sys/dirent.h +++ b/newlib/libc/include/sys/dirent.h @@ -1,13 +1,60 @@ @@ -9189,7 +9215,7 @@ index a3fb5c0..b208de4 100644 + +#endif // _dirent_h_ diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h -index 2188071..93294ad 100644 +index 218807178..93294ad2e 100644 --- a/newlib/libc/include/sys/features.h +++ b/newlib/libc/include/sys/features.h @@ -330,6 +330,16 @@ extern "C" { @@ -9211,7 +9237,7 @@ index 2188071..93294ad 100644 #ifdef __rtems__ diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h new file mode 100644 -index 0000000..82d2e35 +index 000000000..82d2e3576 --- /dev/null +++ b/newlib/libc/include/sys/iosupport.h @@ -0,0 +1,126 @@ @@ -9342,7 +9368,7 @@ index 0000000..82d2e35 +#endif // __iosupp_h__ +//--------------------------------------------------------------------------------- diff --git a/newlib/libc/include/sys/lock.h b/newlib/libc/include/sys/lock.h -index 5289049..2c3e64f 100644 +index 528904957..2c3e64f1b 100644 --- a/newlib/libc/include/sys/lock.h +++ b/newlib/libc/include/sys/lock.h @@ -1,69 +1,105 @@ @@ -9502,7 +9528,7 @@ index 5289049..2c3e64f 100644 -#endif /* __SYS_LOCK_H__ */ +#endif // __SYS_LOCK_H__ diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h -index 9a6f115..fdd6cf9 100644 +index 9a6f115a6..fdd6cf92b 100644 --- a/newlib/libc/include/sys/param.h +++ b/newlib/libc/include/sys/param.h @@ -23,7 +23,7 @@ @@ -9515,7 +9541,7 @@ index 9a6f115..fdd6cf9 100644 #define MAX(a,b) ((a) > (b) ? (a) : (b)) #define MIN(a,b) ((a) < (b) ? (a) : (b)) diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h -index 74b70e9..d8c5410 100644 +index 74b70e9c0..d8c5410ec 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -421,6 +421,8 @@ struct _reent @@ -9536,7 +9562,7 @@ index 74b70e9..d8c5410 100644 #ifdef _REENT_GLOBAL_STDIO_STREAMS diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h -index 8769112..5526e59 100644 +index 8769112b0..5526e59ee 100644 --- a/newlib/libc/include/sys/stat.h +++ b/newlib/libc/include/sys/stat.h @@ -142,8 +142,9 @@ int mkfifo (const char *__path, mode_t __mode ); @@ -9552,7 +9578,7 @@ index 8769112..5526e59 100644 diff --git a/newlib/libc/include/sys/statvfs.h b/newlib/libc/include/sys/statvfs.h new file mode 100644 -index 0000000..380329d +index 000000000..380329d34 --- /dev/null +++ b/newlib/libc/include/sys/statvfs.h @@ -0,0 +1,35 @@ @@ -9593,10 +9619,10 @@ index 0000000..380329d +#endif // _SYS_STATVFS_H \ No newline at end of file diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h -index ba9dbd6..49c213c 100644 +index c872d2018..b3800187f 100644 --- a/newlib/libc/include/sys/syslimits.h +++ b/newlib/libc/include/sys/syslimits.h -@@ -62,4 +62,6 @@ +@@ -58,4 +58,6 @@ #define LINE_MAX 2048 /* max bytes in an input line */ #define RE_DUP_MAX 255 /* max RE's in interval notation */ @@ -9604,7 +9630,7 @@ index ba9dbd6..49c213c 100644 + #endif diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h -index 5e937f1..635a7a6 100644 +index 5e937f103..635a7a6b8 100644 --- a/newlib/libc/include/sys/utime.h +++ b/newlib/libc/include/sys/utime.h @@ -9,12 +9,19 @@ @@ -9630,7 +9656,7 @@ index 5e937f1..635a7a6 100644 }; #endif diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c -index 4c343e4..c044934 100644 +index 968642745..2ab1f9570 100644 --- a/newlib/libc/locale/locale.c +++ b/newlib/libc/locale/locale.c @@ -92,7 +92,7 @@ beginning with <<"LC_">>. @@ -9742,7 +9768,7 @@ index 4c343e4..c044934 100644 if (strcmp (locale, "POSIX") && strcmp (locale, "C") && strcmp (locale, "")) return NULL; -@@ -990,6 +1015,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) +@@ -991,6 +1016,7 @@ __locale_ctype_ptr_l (struct __locale_t *locale) const char * __locale_ctype_ptr (void) @@ -9751,7 +9777,7 @@ index 4c343e4..c044934 100644 return __get_current_locale ()->ctype_ptr; } diff --git a/newlib/libc/locale/setlocale.h b/newlib/libc/locale/setlocale.h -index a0c8084..efabdcf 100644 +index a0c80843a..efabdcfc4 100644 --- a/newlib/libc/locale/setlocale.h +++ b/newlib/libc/locale/setlocale.h @@ -217,11 +217,7 @@ __get_global_locale () @@ -9779,7 +9805,7 @@ index a0c8084..efabdcf 100644 /* Only access fixed "C" locale using this function. Fake for !_MB_CAPABLE diff --git a/newlib/libc/machine/aarch64/Makefile.am b/newlib/libc/machine/aarch64/Makefile.am -index e8b8197..011f69d 100644 +index e8b8197fa..011f69d69 100644 --- a/newlib/libc/machine/aarch64/Makefile.am +++ b/newlib/libc/machine/aarch64/Makefile.am @@ -9,6 +9,7 @@ AM_CCASFLAGS = $(INCLUDES) @@ -9791,7 +9817,7 @@ index e8b8197..011f69d 100644 lib_a_SOURCES += memchr.S lib_a_SOURCES += memcmp-stub.c diff --git a/newlib/libc/machine/aarch64/Makefile.in b/newlib/libc/machine/aarch64/Makefile.in -index 39b23a1..9695124 100644 +index 39b23a1ce..969512471 100644 --- a/newlib/libc/machine/aarch64/Makefile.in +++ b/newlib/libc/machine/aarch64/Makefile.in @@ -69,22 +69,22 @@ LIBRARIES = $(noinst_LIBRARIES) @@ -9857,7 +9883,7 @@ index 39b23a1..9695124 100644 diff --git a/newlib/libc/machine/aarch64/access.c b/newlib/libc/machine/aarch64/access.c new file mode 100644 -index 0000000..980682e +index 000000000..980682ef3 --- /dev/null +++ b/newlib/libc/machine/aarch64/access.c @@ -0,0 +1,33 @@ @@ -9895,7 +9921,7 @@ index 0000000..980682e +} + diff --git a/newlib/libc/machine/arm/Makefile.am b/newlib/libc/machine/arm/Makefile.am -index 9bd35e7..7311300 100644 +index 9bd35e733..731130092 100644 --- a/newlib/libc/machine/arm/Makefile.am +++ b/newlib/libc/machine/arm/Makefile.am @@ -11,7 +11,9 @@ noinst_LIBRARIES = lib.a @@ -9910,7 +9936,7 @@ index 9bd35e7..7311300 100644 lib_a_SOURCES += memchr.S lib_a_SOURCES += memcpy-stub.c diff --git a/newlib/libc/machine/arm/Makefile.in b/newlib/libc/machine/arm/Makefile.in -index d9dbcd5..43712f8 100644 +index d9dbcd5c3..43712f813 100644 --- a/newlib/libc/machine/arm/Makefile.in +++ b/newlib/libc/machine/arm/Makefile.in @@ -75,10 +75,10 @@ am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-strcmp.$(OBJEXT) \ @@ -9954,7 +9980,7 @@ index d9dbcd5..43712f8 100644 diff --git a/newlib/libc/machine/arm/sync_synchronize.c b/newlib/libc/machine/arm/sync_synchronize.c new file mode 100644 -index 0000000..3acc9e0 +index 000000000..3acc9e094 --- /dev/null +++ b/newlib/libc/machine/arm/sync_synchronize.c @@ -0,0 +1,10 @@ @@ -9970,7 +9996,7 @@ index 0000000..3acc9e0 +#endif diff --git a/newlib/libc/machine/arm/sys/stdio.h b/newlib/libc/machine/arm/sys/stdio.h new file mode 100644 -index 0000000..4eb278e +index 000000000..4eb278e2f --- /dev/null +++ b/newlib/libc/machine/arm/sys/stdio.h @@ -0,0 +1,27 @@ @@ -10002,7 +10028,7 @@ index 0000000..4eb278e + +#endif /* _NEWLIB_STDIO_H */ diff --git a/newlib/libc/reent/getreent.c b/newlib/libc/reent/getreent.c -index 5fa98e9..ef8a15e 100644 +index 5fa98e96b..ef8a15e1b 100644 --- a/newlib/libc/reent/getreent.c +++ b/newlib/libc/reent/getreent.c @@ -1,3 +1,4 @@ @@ -10017,7 +10043,7 @@ index 5fa98e9..ef8a15e 100644 +#endif \ No newline at end of file diff --git a/newlib/libc/reent/gettimeofdayr.c b/newlib/libc/reent/gettimeofdayr.c -index 9b982a9..8c0aaac 100644 +index 9b982a993..8c0aaac8c 100644 --- a/newlib/libc/reent/gettimeofdayr.c +++ b/newlib/libc/reent/gettimeofdayr.c @@ -51,7 +51,7 @@ DESCRIPTION @@ -10037,7 +10063,7 @@ index 9b982a9..8c0aaac 100644 +*/ #endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */ diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c -index b358d2b..11c2343 100644 +index df8321461..55ceaab42 100644 --- a/newlib/libc/stdio/fread.c +++ b/newlib/libc/stdio/fread.c @@ -135,7 +135,7 @@ crlf_r (struct _reent * ptr, @@ -10101,7 +10127,7 @@ index b358d2b..11c2343 100644 /* no more input: return partial result */ #ifdef __SCLE diff --git a/newlib/libc/stdio/local.h b/newlib/libc/stdio/local.h -index 53694aa..79a8f46 100644 +index 84ff40b49..ba1d4ee7b 100644 --- a/newlib/libc/stdio/local.h +++ b/newlib/libc/stdio/local.h @@ -56,7 +56,7 @@ @@ -10114,10 +10140,10 @@ index 53694aa..79a8f46 100644 #endif diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c -index c4bf2db..d756df3 100644 +index 1aaf05aa4..b67182a79 100644 --- a/newlib/libc/stdio/vfprintf.c +++ b/newlib/libc/stdio/vfprintf.c -@@ -112,6 +112,8 @@ Supporting OS subroutines required: <>, <>, <>, +@@ -108,6 +108,8 @@ Supporting OS subroutines required: <>, <>, <>, <>, <>, <>, <>. */ @@ -10126,7 +10152,7 @@ index c4bf2db..d756df3 100644 #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/ static char *rcsid = "$Id$"; -@@ -1438,7 +1440,7 @@ reswitch: switch (ch) { +@@ -1434,7 +1436,7 @@ reswitch: switch (ch) { string: #endif sign = '\0'; @@ -10135,7 +10161,7 @@ index c4bf2db..d756df3 100644 /* Behavior is undefined if the user passed a NULL string when precision is not 0. However, if we are not optimizing for size, -@@ -1448,7 +1450,7 @@ string: +@@ -1444,7 +1446,7 @@ string: size = ((unsigned) prec > 6U) ? 6 : prec; } else @@ -10145,7 +10171,7 @@ index c4bf2db..d756df3 100644 if (ch == 'S' || (flags & LONGINT)) { mbstate_t ps; diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c -index 9c38eeb..fbc8d87 100644 +index 994cee7fc..5d1d0a1cd 100644 --- a/newlib/libc/stdio/vfscanf.c +++ b/newlib/libc/stdio/vfscanf.c @@ -74,6 +74,8 @@ These are GNU extensions. @@ -10158,7 +10184,7 @@ index 9c38eeb..fbc8d87 100644 #include #include diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c -index 980b31e..722be90 100644 +index 980b31e3b..722be905e 100644 --- a/newlib/libc/stdio/vfwprintf.c +++ b/newlib/libc/stdio/vfwprintf.c @@ -92,6 +92,9 @@ SEEALSO @@ -10172,7 +10198,7 @@ index 980b31e..722be90 100644 #ifdef INTEGER_ONLY diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c -index ffb6cc8..db33d4f 100644 +index f00d41a09..7e290ee8d 100644 --- a/newlib/libc/stdio/vfwscanf.c +++ b/newlib/libc/stdio/vfwscanf.c @@ -74,6 +74,9 @@ PORTABILITY @@ -10186,7 +10212,7 @@ index ffb6cc8..db33d4f 100644 #include #include diff --git a/newlib/libc/stdlib/Makefile.am b/newlib/libc/stdlib/Makefile.am -index 357e37b..7183b21 100644 +index 357e37beb..7183b2100 100644 --- a/newlib/libc/stdlib/Makefile.am +++ b/newlib/libc/stdlib/Makefile.am @@ -110,6 +110,7 @@ MALLOCR=mallocr @@ -10198,7 +10224,7 @@ index 357e37b..7183b21 100644 arc4random_uniform.c \ cxa_atexit.c \ diff --git a/newlib/libc/stdlib/Makefile.in b/newlib/libc/stdlib/Makefile.in -index 699831f..1e6d2e6 100644 +index 699831f13..1e6d2e612 100644 --- a/newlib/libc/stdlib/Makefile.in +++ b/newlib/libc/stdlib/Makefile.in @@ -119,7 +119,7 @@ am__objects_2 = lib_a-__adjust.$(OBJEXT) lib_a-__atexit.$(OBJEXT) \ @@ -10233,39 +10259,20 @@ index 699831f..1e6d2e6 100644 $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-arc4random.o `test -f 'arc4random.c' || echo '$(srcdir)/'`arc4random.c diff --git a/newlib/libc/stdlib/aligned_alloc.c b/newlib/libc/stdlib/aligned_alloc.c -index 88413ce..24029a6 100644 +index feb22c24b..3dae0c9a9 100644 --- a/newlib/libc/stdlib/aligned_alloc.c +++ b/newlib/libc/stdlib/aligned_alloc.c -@@ -1,5 +1,5 @@ - /*- -- * Copyright (c) 2015 embedded brains GmbH -+ * Copyright (c) 2018 Dave Murphy - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without -@@ -25,14 +25,15 @@ - */ +@@ -28,6 +28,8 @@ + #include #include +#include +#include void * - aligned_alloc(size_t alignment, size_t size) - { -- void *p; -- int error; -+ if ((alignment !=0) && !(alignment & (alignment - 1 )) && !(size & (alignment - 1))) -+ return memalign(alignment,size); - -- error = posix_memalign(&p, alignment, size); -- -- return (error == 0 ? p : NULL); -+ errno = EINVAL; -+ return (void*)NULL; - } + aligned_alloc (size_t align, size_t size) diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c -index 920a7ea..ba5ee76 100644 +index 920a7ea3c..ba5ee7652 100644 --- a/newlib/libc/stdlib/mbtowc_r.c +++ b/newlib/libc/stdlib/mbtowc_r.c @@ -7,6 +7,7 @@ @@ -10278,7 +10285,7 @@ index 920a7ea..ba5ee76 100644 wchar_t *__restrict pwc, diff --git a/newlib/libc/stdlib/threads.c b/newlib/libc/stdlib/threads.c new file mode 100755 -index 0000000..741111e +index 000000000..741111ea0 --- /dev/null +++ b/newlib/libc/stdlib/threads.c @@ -0,0 +1,224 @@ @@ -10508,7 +10515,7 @@ index 0000000..741111e +} diff --git a/newlib/libc/sys/arm/include/machine/_types.h b/newlib/libc/sys/arm/include/machine/_types.h new file mode 100644 -index 0000000..40092f9 +index 000000000..40092f99f --- /dev/null +++ b/newlib/libc/sys/arm/include/machine/_types.h @@ -0,0 +1,19 @@ @@ -10533,7 +10540,7 @@ index 0000000..40092f9 + diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h new file mode 100644 -index 0000000..567fed5 +index 000000000..567fed56b --- /dev/null +++ b/newlib/libc/sys/arm/sys/lock.h @@ -0,0 +1,66 @@ diff --git a/dka64/scripts/build-gcc.sh b/dka64/scripts/build-gcc.sh index 8ca58a2..8d863bf 100755 --- a/dka64/scripts/build-gcc.sh +++ b/dka64/scripts/build-gcc.sh @@ -66,7 +66,7 @@ then --with-system-zlib \ --disable-tm-clone-registry \ --disable-__cxa_atexit \ - --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 16" \ + --with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 17" \ $CROSS_PARAMS \ $CROSS_GCC_PARAMS \ || { echo "Error configuring gcc"; exit 1; } diff --git a/select_toolchain.sh b/select_toolchain.sh index 7b2777e..e3e512d 100755 --- a/select_toolchain.sh +++ b/select_toolchain.sh @@ -51,7 +51,7 @@ case "$VERSION" in "3" ) GCC_VER=10.2.0 BINUTILS_VER=2.32 - NEWLIB_VER=3.3.0 + NEWLIB_VER=4.1.0 basedir='dka64' package=devkitA64 target=aarch64-none-elf