Compare commits

...

5 Commits

Author SHA1 Message Date
Dave Murphy
174e0edc3f
devkitARM: fix c89 building 2026-04-11 17:35:30 +01:00
Dave Murphy
d2e6e22b37
remove stale patches 2026-02-20 15:55:30 +00:00
Dave Murphy
f1a462cc36
devkitPPC: update newlib patch 2026-02-20 15:54:52 +00:00
Dave Murphy
9681963375
devkitA64: update newlib patch 2026-02-20 15:52:39 +00:00
Dave Murphy
e9f9826e26
update patchsets for devkitARM release 67.1 2026-02-17 17:37:34 +00:00
6 changed files with 121 additions and 1294 deletions

View File

@ -1,8 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# devkitARM release 67 # devkitARM release 67.2
# devkitPPC release 49.1 # devkitPPC release 49.2
# devkitA64 release 29.1 # devkitA64 release 29.2
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
if [ 0 -eq 1 ] ; then if [ 0 -eq 1 ] ; then

File diff suppressed because it is too large Load Diff

View File

@ -245,7 +245,7 @@ index 1939d55b9fd..62d425cb596 100644
option nofp remove ALL_FP option nofp remove ALL_FP
diff --git a/gcc/config/arm/devkitarm.h b/gcc/config/arm/devkitarm.h diff --git a/gcc/config/arm/devkitarm.h b/gcc/config/arm/devkitarm.h
new file mode 100644 new file mode 100644
index 00000000000..4d6c16a3db4 index 00000000000..7f408d6d81d
--- /dev/null --- /dev/null
+++ b/gcc/config/arm/devkitarm.h +++ b/gcc/config/arm/devkitarm.h
@@ -0,0 +1,33 @@ @@ -0,0 +1,33 @@
@ -278,7 +278,7 @@ index 00000000000..4d6c16a3db4
+ do { \ + do { \
+ builtin_define ("__DEVKITPRO__"); \ + builtin_define ("__DEVKITPRO__"); \
+ builtin_define ("__DEVKITARM__"); \ + builtin_define ("__DEVKITARM__"); \
+ TARGET_BPABI_CPP_BUILTINS(); + TARGET_BPABI_CPP_BUILTINS(); \
+ } while (0) + } while (0)
+ +
+ +

View File

@ -7241,10 +7241,10 @@ index 000000000..5c5831cdf
+} +}
diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c
new file mode 100644 new file mode 100644
index 000000000..8a66cd19f index 000000000..e9d2200d4
--- /dev/null --- /dev/null
+++ b/libgloss/libsysbase/flock.c +++ b/libgloss/libsysbase/flock.c
@@ -0,0 +1,22 @@ @@ -0,0 +1,43 @@
+#include <config.h> +#include <config.h>
+#include <_ansi.h> +#include <_ansi.h>
+#include <_syslist.h> +#include <_syslist.h>
@ -7267,6 +7267,28 @@ index 000000000..8a66cd19f
+ __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); + __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock);
+} +}
+ +
+void flockfile(FILE *fp)
+{
+ if (!(fp->_flags & __SSTR)) {
+ __lock_acquire_recursive(fp->_lock);
+ }
+}
+
+void funlockfile(FILE *fp)
+{
+ if (!(fp->_flags & __SSTR)) {
+ __lock_release_recursive(fp->_lock);
+ }
+}
+
+int ftrylockfile(FILE *fp)
+{
+ if (!(fp->_flags & __SSTR)) {
+ return __lock_try_acquire_recursive(fp->_lock);
+ }
+ return 0;
+}
\ No newline at end of file
diff --git a/libgloss/libsysbase/fnmatch.c b/libgloss/libsysbase/fnmatch.c diff --git a/libgloss/libsysbase/fnmatch.c b/libgloss/libsysbase/fnmatch.c
new file mode 100644 new file mode 100644
index 000000000..893b662ab index 000000000..893b662ab
@ -7966,10 +7988,10 @@ index 000000000..5e81c5d42
+#endif +#endif
diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c
new file mode 100644 new file mode 100644
index 000000000..3fdf9749f index 000000000..d766b3a17
--- /dev/null --- /dev/null
+++ b/libgloss/libsysbase/iosupport.c +++ b/libgloss/libsysbase/iosupport.c
@@ -0,0 +1,132 @@ @@ -0,0 +1,108 @@
+#include <stdlib.h> +#include <stdlib.h>
+#include <string.h> +#include <string.h>
+#include <ctype.h> +#include <ctype.h>
@ -7994,34 +8016,10 @@ index 000000000..3fdf9749f
+//--------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------
+const devoptab_t dotab_stdnull = { +const devoptab_t dotab_stdnull = {
+//--------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------
+ "stdnull", // device name + .name = "stdnull",
+ 0, // size of file structure + .structSize = 0,
+ NULL, // device open + .write_r = null_write,
+ NULL, // device close + .dirStateSize = 0
+ null_write, // device write
+ NULL, // device read
+ NULL, // device seek
+ NULL, // device fstat
+ NULL, // device stat
+ NULL, // device link
+ NULL, // device unlink
+ NULL, // device chdir
+ NULL, // device rename
+ NULL, // device mkdir
+ 0, // dirStateSize
+ NULL, // device diropen_r
+ NULL, // device dirreset_r
+ NULL, // device dirnext_r
+ NULL, // device dirclose_r
+ NULL, // device statvfs_r
+ NULL, // device ftruncate_r
+ NULL, // device fsync_r
+ NULL, // deviceData
+ NULL, // chmod_r
+ NULL, // fchmod_r
+ NULL, // rmdir_r
+ NULL, // lstat_r
+ NULL, // utimes_r
+}; +};
+ +
+//--------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------
@ -11821,6 +11819,19 @@ index 000000000..380329d34
+ +
+#endif // _SYS_STATVFS_H +#endif // _SYS_STATVFS_H
\ No newline at end of file \ No newline at end of file
diff --git a/newlib/libc/include/sys/stdio.h b/newlib/libc/include/sys/stdio.h
index 91a274596..f264adb74 100644
--- a/newlib/libc/include/sys/stdio.h
+++ b/newlib/libc/include/sys/stdio.h
@@ -24,4 +24,8 @@
#endif
#endif
+void flockfile (FILE *fp);
+void funlockfile (FILE *fp);
+int ftrylockfile (FILE *fp);
+
#endif /* _NEWLIB_STDIO_H */
diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h
index c872d2018..b3800187f 100644 index c872d2018..b3800187f 100644
--- a/newlib/libc/include/sys/syslimits.h --- a/newlib/libc/include/sys/syslimits.h
@ -12501,10 +12512,10 @@ index 000000000..3618eea85
+#endif // __SYS_LOCK_H__ +#endif // __SYS_LOCK_H__
diff --git a/newlib/libc/machine/powerpc/sys/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h diff --git a/newlib/libc/machine/powerpc/sys/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h
new file mode 100644 new file mode 100644
index 000000000..04ebd1ee0 index 000000000..ed88fef8a
--- /dev/null --- /dev/null
+++ b/newlib/libc/machine/powerpc/sys/stdio.h +++ b/newlib/libc/machine/powerpc/sys/stdio.h
@@ -0,0 +1,25 @@ @@ -0,0 +1,29 @@
+#ifndef _NEWLIB_STDIO_H +#ifndef _NEWLIB_STDIO_H
+#define _NEWLIB_STDIO_H +#define _NEWLIB_STDIO_H
+ +
@ -12528,6 +12539,10 @@ index 000000000..04ebd1ee0
+# endif +# endif
+#endif /* __SINGLE_THREAD__ */ +#endif /* __SINGLE_THREAD__ */
+ +
+void flockfile (FILE *fp);
+void funlockfile (FILE *fp);
+int ftrylockfile (FILE *fp);
+
+#endif /* _NEWLIB_STDIO_H */ +#endif /* _NEWLIB_STDIO_H */
+ +
diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c

View File

@ -7241,10 +7241,10 @@ index 000000000..5c5831cdf
+} +}
diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c diff --git a/libgloss/libsysbase/flock.c b/libgloss/libsysbase/flock.c
new file mode 100644 new file mode 100644
index 000000000..8a66cd19f index 000000000..e9d2200d4
--- /dev/null --- /dev/null
+++ b/libgloss/libsysbase/flock.c +++ b/libgloss/libsysbase/flock.c
@@ -0,0 +1,22 @@ @@ -0,0 +1,43 @@
+#include <config.h> +#include <config.h>
+#include <_ansi.h> +#include <_ansi.h>
+#include <_syslist.h> +#include <_syslist.h>
@ -7267,6 +7267,28 @@ index 000000000..8a66cd19f
+ __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock); + __lock_release_recursive(*(_LOCK_RECURSIVE_T*)&fp->_lock);
+} +}
+ +
+void flockfile(FILE *fp)
+{
+ if (!(fp->_flags & __SSTR)) {
+ __lock_acquire_recursive(fp->_lock);
+ }
+}
+
+void funlockfile(FILE *fp)
+{
+ if (!(fp->_flags & __SSTR)) {
+ __lock_release_recursive(fp->_lock);
+ }
+}
+
+int ftrylockfile(FILE *fp)
+{
+ if (!(fp->_flags & __SSTR)) {
+ return __lock_try_acquire_recursive(fp->_lock);
+ }
+ return 0;
+}
\ No newline at end of file
diff --git a/libgloss/libsysbase/fnmatch.c b/libgloss/libsysbase/fnmatch.c diff --git a/libgloss/libsysbase/fnmatch.c b/libgloss/libsysbase/fnmatch.c
new file mode 100644 new file mode 100644
index 000000000..893b662ab index 000000000..893b662ab
@ -7966,10 +7988,10 @@ index 000000000..5e81c5d42
+#endif +#endif
diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c
new file mode 100644 new file mode 100644
index 000000000..3fdf9749f index 000000000..d766b3a17
--- /dev/null --- /dev/null
+++ b/libgloss/libsysbase/iosupport.c +++ b/libgloss/libsysbase/iosupport.c
@@ -0,0 +1,132 @@ @@ -0,0 +1,108 @@
+#include <stdlib.h> +#include <stdlib.h>
+#include <string.h> +#include <string.h>
+#include <ctype.h> +#include <ctype.h>
@ -7994,34 +8016,10 @@ index 000000000..3fdf9749f
+//--------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------
+const devoptab_t dotab_stdnull = { +const devoptab_t dotab_stdnull = {
+//--------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------
+ "stdnull", // device name + .name = "stdnull",
+ 0, // size of file structure + .structSize = 0,
+ NULL, // device open + .write_r = null_write,
+ NULL, // device close + .dirStateSize = 0
+ null_write, // device write
+ NULL, // device read
+ NULL, // device seek
+ NULL, // device fstat
+ NULL, // device stat
+ NULL, // device link
+ NULL, // device unlink
+ NULL, // device chdir
+ NULL, // device rename
+ NULL, // device mkdir
+ 0, // dirStateSize
+ NULL, // device diropen_r
+ NULL, // device dirreset_r
+ NULL, // device dirnext_r
+ NULL, // device dirclose_r
+ NULL, // device statvfs_r
+ NULL, // device ftruncate_r
+ NULL, // device fsync_r
+ NULL, // deviceData
+ NULL, // chmod_r
+ NULL, // fchmod_r
+ NULL, // rmdir_r
+ NULL, // lstat_r
+ NULL, // utimes_r
+}; +};
+ +
+//--------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------
@ -11821,6 +11819,19 @@ index 000000000..380329d34
+ +
+#endif // _SYS_STATVFS_H +#endif // _SYS_STATVFS_H
\ No newline at end of file \ No newline at end of file
diff --git a/newlib/libc/include/sys/stdio.h b/newlib/libc/include/sys/stdio.h
index 91a274596..f264adb74 100644
--- a/newlib/libc/include/sys/stdio.h
+++ b/newlib/libc/include/sys/stdio.h
@@ -24,4 +24,8 @@
#endif
#endif
+void flockfile (FILE *fp);
+void funlockfile (FILE *fp);
+int ftrylockfile (FILE *fp);
+
#endif /* _NEWLIB_STDIO_H */
diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h
index c872d2018..b3800187f 100644 index c872d2018..b3800187f 100644
--- a/newlib/libc/include/sys/syslimits.h --- a/newlib/libc/include/sys/syslimits.h
@ -12067,7 +12078,7 @@ index 000000000..2aaca6080
+#endif // _dirent_h_ +#endif // _dirent_h_
diff --git a/newlib/libc/machine/aarch64/sys/lock.h b/newlib/libc/machine/aarch64/sys/lock.h diff --git a/newlib/libc/machine/aarch64/sys/lock.h b/newlib/libc/machine/aarch64/sys/lock.h
new file mode 100644 new file mode 100644
index 000000000..41803dd9d index 000000000..358f2ae56
--- /dev/null --- /dev/null
+++ b/newlib/libc/machine/aarch64/sys/lock.h +++ b/newlib/libc/machine/aarch64/sys/lock.h
@@ -0,0 +1,119 @@ @@ -0,0 +1,119 @@
@ -12096,17 +12107,17 @@ index 000000000..41803dd9d
+extern "C" { +extern "C" {
+#endif +#endif
+ +
+static inline void __libc_lock_init(_LOCK_T *lock) { +static __inline void __libc_lock_init(_LOCK_T *lock) {
+ *lock = __LOCK_INITIALIZER; + *lock = __LOCK_INITIALIZER;
+} +}
+ +
+static inline void __libc_lock_close(_LOCK_T *lock ) {} +static __inline void __libc_lock_close(_LOCK_T *lock ) {}
+ +
+static inline void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { +static __inline void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) {
+ *lock = __LOCK_INITIALIZER_RECURSIVE; + *lock = __LOCK_INITIALIZER_RECURSIVE;
+} +}
+ +
+static inline void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) {} +static __inline void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) {}
+ +
+extern void __libc_lock_acquire(_LOCK_T *lock); +extern void __libc_lock_acquire(_LOCK_T *lock);
+extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); +extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock);
@ -12118,10 +12129,10 @@ index 000000000..41803dd9d
+extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); +extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock);
+ +
+/* Returns errno */ +/* Returns errno */
+static inline int __libc_cond_init(_COND_T *cond) { +static __inline int __libc_cond_init(_COND_T *cond) {
+ *cond = __COND_INITIALIZER; + *cond = __COND_INITIALIZER;
+} +}
+static inline void __libc_cond_close(_COND_T *cond ) {} +static __inline void __libc_cond_close(_COND_T *cond ) {}
+ +
+extern int __libc_cond_signal(_COND_T *cond); +extern int __libc_cond_signal(_COND_T *cond);
+extern int __libc_cond_broadcast(_COND_T *cond); +extern int __libc_cond_broadcast(_COND_T *cond);
@ -12501,10 +12512,10 @@ index 000000000..3618eea85
+#endif // __SYS_LOCK_H__ +#endif // __SYS_LOCK_H__
diff --git a/newlib/libc/machine/powerpc/sys/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h diff --git a/newlib/libc/machine/powerpc/sys/stdio.h b/newlib/libc/machine/powerpc/sys/stdio.h
new file mode 100644 new file mode 100644
index 000000000..04ebd1ee0 index 000000000..ed88fef8a
--- /dev/null --- /dev/null
+++ b/newlib/libc/machine/powerpc/sys/stdio.h +++ b/newlib/libc/machine/powerpc/sys/stdio.h
@@ -0,0 +1,25 @@ @@ -0,0 +1,29 @@
+#ifndef _NEWLIB_STDIO_H +#ifndef _NEWLIB_STDIO_H
+#define _NEWLIB_STDIO_H +#define _NEWLIB_STDIO_H
+ +
@ -12528,6 +12539,10 @@ index 000000000..04ebd1ee0
+# endif +# endif
+#endif /* __SINGLE_THREAD__ */ +#endif /* __SINGLE_THREAD__ */
+ +
+void flockfile (FILE *fp);
+void funlockfile (FILE *fp);
+int ftrylockfile (FILE *fp);
+
+#endif /* _NEWLIB_STDIO_H */ +#endif /* _NEWLIB_STDIO_H */
+ +
diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c
@ -13284,7 +13299,7 @@ index 000000000..2aaca6080
+#endif // _dirent_h_ +#endif // _dirent_h_
diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h diff --git a/newlib/libc/sys/arm/sys/lock.h b/newlib/libc/sys/arm/sys/lock.h
new file mode 100644 new file mode 100644
index 000000000..fd98c32d7 index 000000000..9d9ffa3bb
--- /dev/null --- /dev/null
+++ b/newlib/libc/sys/arm/sys/lock.h +++ b/newlib/libc/sys/arm/sys/lock.h
@@ -0,0 +1,122 @@ @@ -0,0 +1,122 @@
@ -13314,17 +13329,17 @@ index 000000000..fd98c32d7
+extern "C" { +extern "C" {
+#endif +#endif
+ +
+static inline void __libc_lock_init(_LOCK_T *lock) { +static __inline void __libc_lock_init(_LOCK_T *lock) {
+ *lock = __LOCK_INITIALIZER; + *lock = __LOCK_INITIALIZER;
+} +}
+ +
+static inline void __libc_lock_close(_LOCK_T *lock ) {} +static __inline void __libc_lock_close(_LOCK_T *lock ) {}
+ +
+static inline void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) { +static __inline void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock) {
+ *lock = __LOCK_INITIALIZER_RECURSIVE; + *lock = __LOCK_INITIALIZER_RECURSIVE;
+} +}
+ +
+static inline void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) {} +static __inline void __libc_lock_close_recursive(_LOCK_RECURSIVE_T *lock ) {}
+ +
+extern void __libc_lock_acquire(_LOCK_T *lock); +extern void __libc_lock_acquire(_LOCK_T *lock);
+extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock); +extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock);
@ -13336,10 +13351,10 @@ index 000000000..fd98c32d7
+extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock); +extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock);
+ +
+/* Returns errno */ +/* Returns errno */
+static inline int __libc_cond_init(_COND_T *cond) { +static __inline int __libc_cond_init(_COND_T *cond) {
+ *cond = __COND_INITIALIZER; + *cond = __COND_INITIALIZER;
+} +}
+static inline void __libc_cond_close(_COND_T *cond ) {} +static __inline void __libc_cond_close(_COND_T *cond ) {}
+ +
+extern int __libc_cond_signal(_COND_T *cond); +extern int __libc_cond_signal(_COND_T *cond);
+extern int __libc_cond_broadcast(_COND_T *cond); +extern int __libc_cond_broadcast(_COND_T *cond);

View File

@ -32,9 +32,9 @@ case "$VERSION" in
"1" ) "1" )
BINUTILS_VER=2.45.1 BINUTILS_VER=2.45.1
GCC_VER=15.2.0 GCC_VER=15.2.0
NEWLIB_VER=4.5.0.20241231 NEWLIB_VER=4.6.0.20260123
BINUTILS_PKGREL=2 BINUTILS_PKGREL=2
GCC_PKGREL=6 GCC_PKGREL=7
NEWLIB_PKGREL=5 NEWLIB_PKGREL=5
basedir='dkarm-eabi' basedir='dkarm-eabi'
package=devkitARM package=devkitARM
@ -52,7 +52,7 @@ case "$VERSION" in
NEWLIB_VER=4.6.0.20260123 NEWLIB_VER=4.6.0.20260123
BINUTILS_PKGREL=2 BINUTILS_PKGREL=2
GCC_PKGREL=7 GCC_PKGREL=7
NEWLIB_PKGREL=2 NEWLIB_PKGREL=4
basedir='dkppc' basedir='dkppc'
package=devkitPPC package=devkitPPC
target=powerpc-eabi target=powerpc-eabi
@ -69,7 +69,7 @@ case "$VERSION" in
NEWLIB_VER=4.6.0.20260123 NEWLIB_VER=4.6.0.20260123
BINUTILS_PKGREL=2 BINUTILS_PKGREL=2
GCC_PKGREL=7 GCC_PKGREL=7
NEWLIB_PKGREL=3 NEWLIB_PKGREL=4
basedir='dka64' basedir='dka64'
package=devkitA64 package=devkitA64
target=aarch64-none-elf target=aarch64-none-elf