mirror of
https://github.com/devkitPro/buildscripts.git
synced 2026-08-21 01:44:16 -05:00
Compare commits
1 Commits
devkitARM_
...
devkitA64_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0add4d1b5c |
@@ -2,7 +2,7 @@
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# devkitARM release 53-1
|
# devkitARM release 53-1
|
||||||
# devkitPPC release 35
|
# devkitPPC release 35
|
||||||
# devkitA64 release 13
|
# devkitA64 release 14
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
|
|
||||||
if [ 0 -eq 1 ] ; then
|
if [ 0 -eq 1 ] ; then
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/gcc/config.gcc b/gcc/config.gcc
|
diff --git a/gcc/config.gcc b/gcc/config.gcc
|
||||||
index 7af8e028104..90a3a50f624 100644
|
index ddd3b8f4d9d..014df2e5a59 100644
|
||||||
--- a/gcc/config.gcc
|
--- a/gcc/config.gcc
|
||||||
+++ b/gcc/config.gcc
|
+++ b/gcc/config.gcc
|
||||||
@@ -945,6 +945,12 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
|
@@ -985,6 +985,12 @@ aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
|
||||||
case $target in
|
case $target in
|
||||||
aarch64-*-elf*)
|
aarch64-*-elf*)
|
||||||
use_gcc_stdint=wrap
|
use_gcc_stdint=wrap
|
||||||
@@ -16,7 +16,7 @@ index 7af8e028104..90a3a50f624 100644
|
|||||||
aarch64-*-fuchsia*)
|
aarch64-*-fuchsia*)
|
||||||
tm_file="${tm_file} fuchsia.h"
|
tm_file="${tm_file} fuchsia.h"
|
||||||
diff --git a/gcc/config/aarch64/aarch64-elf-raw.h b/gcc/config/aarch64/aarch64-elf-raw.h
|
diff --git a/gcc/config/aarch64/aarch64-elf-raw.h b/gcc/config/aarch64/aarch64-elf-raw.h
|
||||||
index c074238df06..ef503ddd5a6 100644
|
index bbebd0ef029..8f38510402f 100644
|
||||||
--- a/gcc/config/aarch64/aarch64-elf-raw.h
|
--- a/gcc/config/aarch64/aarch64-elf-raw.h
|
||||||
+++ b/gcc/config/aarch64/aarch64-elf-raw.h
|
+++ b/gcc/config/aarch64/aarch64-elf-raw.h
|
||||||
@@ -22,6 +22,7 @@
|
@@ -22,6 +22,7 @@
|
||||||
@@ -28,7 +28,7 @@ index c074238df06..ef503ddd5a6 100644
|
|||||||
#define ENDFILE_SPEC \
|
#define ENDFILE_SPEC \
|
||||||
" crtend%O%s crtn%O%s " \
|
" crtend%O%s crtn%O%s " \
|
||||||
diff --git a/gcc/config/aarch64/aarch64-opts.h b/gcc/config/aarch64/aarch64-opts.h
|
diff --git a/gcc/config/aarch64/aarch64-opts.h b/gcc/config/aarch64/aarch64-opts.h
|
||||||
index 7a5c6d7664f..687793841de 100644
|
index 4b07d296a11..037985f1d86 100644
|
||||||
--- a/gcc/config/aarch64/aarch64-opts.h
|
--- a/gcc/config/aarch64/aarch64-opts.h
|
||||||
+++ b/gcc/config/aarch64/aarch64-opts.h
|
+++ b/gcc/config/aarch64/aarch64-opts.h
|
||||||
@@ -48,6 +48,12 @@ enum aarch64_tls_type {
|
@@ -48,6 +48,12 @@ enum aarch64_tls_type {
|
||||||
@@ -45,10 +45,10 @@ index 7a5c6d7664f..687793841de 100644
|
|||||||
Most have a PIC and non-PIC variant. */
|
Most have a PIC and non-PIC variant. */
|
||||||
enum aarch64_code_model {
|
enum aarch64_code_model {
|
||||||
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
|
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
|
||||||
index 349ca0c047b..5c03c42c28e 100644
|
index 6b25d9cbfae..39c7026a90c 100644
|
||||||
--- a/gcc/config/aarch64/aarch64.c
|
--- a/gcc/config/aarch64/aarch64.c
|
||||||
+++ b/gcc/config/aarch64/aarch64.c
|
+++ b/gcc/config/aarch64/aarch64.c
|
||||||
@@ -12005,8 +12005,24 @@ aarch64_load_tp (rtx target)
|
@@ -13186,8 +13186,24 @@ aarch64_load_tp (rtx target)
|
||||||
|| !register_operand (target, Pmode))
|
|| !register_operand (target, Pmode))
|
||||||
target = gen_reg_rtx (Pmode);
|
target = gen_reg_rtx (Pmode);
|
||||||
|
|
||||||
@@ -76,10 +76,10 @@ index 349ca0c047b..5c03c42c28e 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
|
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
|
||||||
index 976f9afae54..73263bcb5e7 100644
|
index fc6df970c2e..705c6de868f 100644
|
||||||
--- a/gcc/config/aarch64/aarch64.h
|
--- a/gcc/config/aarch64/aarch64.h
|
||||||
+++ b/gcc/config/aarch64/aarch64.h
|
+++ b/gcc/config/aarch64/aarch64.h
|
||||||
@@ -957,6 +957,10 @@ typedef struct
|
@@ -1006,6 +1006,10 @@ typedef struct
|
||||||
/* Check TLS Descriptors mechanism is selected. */
|
/* Check TLS Descriptors mechanism is selected. */
|
||||||
#define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS)
|
#define TARGET_TLS_DESC (aarch64_tls_dialect == TLS_DESCRIPTORS)
|
||||||
|
|
||||||
@@ -91,10 +91,10 @@ index 976f9afae54..73263bcb5e7 100644
|
|||||||
|
|
||||||
/* When using the tiny addressing model conditional and unconditional branches
|
/* When using the tiny addressing model conditional and unconditional branches
|
||||||
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
|
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
|
||||||
index 32a0e1f3685..783c655acf0 100644
|
index 5a1894063a1..7c9d9452659 100644
|
||||||
--- a/gcc/config/aarch64/aarch64.md
|
--- a/gcc/config/aarch64/aarch64.md
|
||||||
+++ b/gcc/config/aarch64/aarch64.md
|
+++ b/gcc/config/aarch64/aarch64.md
|
||||||
@@ -5693,11 +5693,22 @@
|
@@ -6583,11 +6583,22 @@
|
||||||
(define_insn "aarch64_load_tp_hard"
|
(define_insn "aarch64_load_tp_hard"
|
||||||
[(set (match_operand:DI 0 "register_operand" "=r")
|
[(set (match_operand:DI 0 "register_operand" "=r")
|
||||||
(unspec:DI [(const_int 0)] UNSPEC_TLS))]
|
(unspec:DI [(const_int 0)] UNSPEC_TLS))]
|
||||||
@@ -120,10 +120,10 @@ index 32a0e1f3685..783c655acf0 100644
|
|||||||
;; instructions in the TLS stubs, in order to enable linker relaxation.
|
;; instructions in the TLS stubs, in order to enable linker relaxation.
|
||||||
;; Therefore we treat the stubs as an atomic sequence.
|
;; Therefore we treat the stubs as an atomic sequence.
|
||||||
diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt
|
diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt
|
||||||
index 52eaf8c6f40..52bccddc6e3 100644
|
index 7719c3b6352..cd32a639b16 100644
|
||||||
--- a/gcc/config/aarch64/aarch64.opt
|
--- a/gcc/config/aarch64/aarch64.opt
|
||||||
+++ b/gcc/config/aarch64/aarch64.opt
|
+++ b/gcc/config/aarch64/aarch64.opt
|
||||||
@@ -115,6 +115,20 @@ Enum(aarch64_tls_size) String(32) Value(32)
|
@@ -118,6 +118,21 @@ Enum(aarch64_tls_size) String(32) Value(32)
|
||||||
EnumValue
|
EnumValue
|
||||||
Enum(aarch64_tls_size) String(48) Value(48)
|
Enum(aarch64_tls_size) String(48) Value(48)
|
||||||
|
|
||||||
@@ -140,20 +140,23 @@ index 52eaf8c6f40..52bccddc6e3 100644
|
|||||||
+
|
+
|
||||||
+EnumValue
|
+EnumValue
|
||||||
+Enum(aarch64_tp_type) String(soft) Value(TP_SOFT)
|
+Enum(aarch64_tp_type) String(soft) Value(TP_SOFT)
|
||||||
|
+
|
||||||
+
|
+
|
||||||
march=
|
march=
|
||||||
Target RejectNegative ToLower Joined Var(aarch64_arch_string)
|
Target RejectNegative ToLower Joined Var(aarch64_arch_string)
|
||||||
-march=ARCH Use features of architecture ARCH.
|
Use features of architecture ARCH.
|
||||||
diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
|
diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
|
||||||
index 0be1f0d63aa..a54068bfd96 100644
|
index ee471f8983f..aedaefdd62d 100644
|
||||||
--- a/gcc/config/aarch64/t-aarch64
|
--- a/gcc/config/aarch64/t-aarch64
|
||||||
+++ b/gcc/config/aarch64/t-aarch64
|
+++ b/gcc/config/aarch64/t-aarch64
|
||||||
@@ -68,5 +68,7 @@ cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.c \
|
@@ -100,6 +100,8 @@ aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.c \
|
||||||
$(srcdir)/config/aarch64/cortex-a57-fma-steering.c
|
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
||||||
|
$(srcdir)/config/aarch64/aarch64-bti-insert.c
|
||||||
|
|
||||||
comma=,
|
-comma=,
|
||||||
-MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG))))
|
-MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG))))
|
||||||
-MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG))
|
-MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG))
|
||||||
|
+ comma=,
|
||||||
+MULTILIB_OPTIONS = mcmodel=large fPIC
|
+MULTILIB_OPTIONS = mcmodel=large fPIC
|
||||||
+MULTILIB_DIRNAMES = large pic
|
+MULTILIB_DIRNAMES = large pic
|
||||||
+MULTILIB_REQUIRED = mcmodel=large fPIC
|
+MULTILIB_REQUIRED = mcmodel=large fPIC
|
||||||
@@ -231,10 +234,10 @@ index 00000000000..9acbbf9d27c
|
|||||||
+
|
+
|
||||||
+; This comment is to ensure we retain the blank line above.
|
+; This comment is to ensure we retain the blank line above.
|
||||||
diff --git a/gcc/gcc.c b/gcc/gcc.c
|
diff --git a/gcc/gcc.c b/gcc/gcc.c
|
||||||
index a716f708259..6a11011dba7 100644
|
index 4f57765b012..2899202cc05 100644
|
||||||
--- a/gcc/gcc.c
|
--- a/gcc/gcc.c
|
||||||
+++ b/gcc/gcc.c
|
+++ b/gcc/gcc.c
|
||||||
@@ -786,6 +786,11 @@ proper position among the other output files. */
|
@@ -794,6 +794,11 @@ proper position among the other output files. */
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -246,7 +249,7 @@ index a716f708259..6a11011dba7 100644
|
|||||||
/* config.h can define STARTFILE_SPEC to override the default crt0 files. */
|
/* config.h can define STARTFILE_SPEC to override the default crt0 files. */
|
||||||
#ifndef STARTFILE_SPEC
|
#ifndef STARTFILE_SPEC
|
||||||
#define STARTFILE_SPEC \
|
#define STARTFILE_SPEC \
|
||||||
@@ -1081,6 +1086,7 @@ static const char *link_spec = LINK_SPEC;
|
@@ -1086,6 +1091,7 @@ static const char *link_spec = LINK_SPEC;
|
||||||
static const char *lib_spec = LIB_SPEC;
|
static const char *lib_spec = LIB_SPEC;
|
||||||
static const char *link_gomp_spec = "";
|
static const char *link_gomp_spec = "";
|
||||||
static const char *libgcc_spec = LIBGCC_SPEC;
|
static const char *libgcc_spec = LIBGCC_SPEC;
|
||||||
@@ -254,7 +257,7 @@ index a716f708259..6a11011dba7 100644
|
|||||||
static const char *endfile_spec = ENDFILE_SPEC;
|
static const char *endfile_spec = ENDFILE_SPEC;
|
||||||
static const char *startfile_spec = STARTFILE_SPEC;
|
static const char *startfile_spec = STARTFILE_SPEC;
|
||||||
static const char *linker_name_spec = LINKER_NAME;
|
static const char *linker_name_spec = LINKER_NAME;
|
||||||
@@ -1577,6 +1583,7 @@ static struct spec_list static_specs[] =
|
@@ -1583,6 +1589,7 @@ static struct spec_list static_specs[] =
|
||||||
INIT_STATIC_SPEC ("lib", &lib_spec),
|
INIT_STATIC_SPEC ("lib", &lib_spec),
|
||||||
INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec),
|
INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec),
|
||||||
INIT_STATIC_SPEC ("libgcc", &libgcc_spec),
|
INIT_STATIC_SPEC ("libgcc", &libgcc_spec),
|
||||||
@@ -263,7 +266,7 @@ index a716f708259..6a11011dba7 100644
|
|||||||
INIT_STATIC_SPEC ("cross_compile", &cross_compile),
|
INIT_STATIC_SPEC ("cross_compile", &cross_compile),
|
||||||
INIT_STATIC_SPEC ("version", &compiler_version),
|
INIT_STATIC_SPEC ("version", &compiler_version),
|
||||||
diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c
|
diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c
|
||||||
index 5e894455e16..f2347455de0 100644
|
index 4927a9f8977..8311b6a7f5e 100644
|
||||||
--- a/libgcc/crtstuff.c
|
--- a/libgcc/crtstuff.c
|
||||||
+++ b/libgcc/crtstuff.c
|
+++ b/libgcc/crtstuff.c
|
||||||
@@ -47,6 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
@@ -47,6 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
@@ -275,7 +278,7 @@ index 5e894455e16..f2347455de0 100644
|
|||||||
/* FIXME: Including auto-host is incorrect, but until we have
|
/* FIXME: Including auto-host is incorrect, but until we have
|
||||||
identified the set of defines that need to go into auto-target.h,
|
identified the set of defines that need to go into auto-target.h,
|
||||||
diff --git a/libgcc/gthr.h b/libgcc/gthr.h
|
diff --git a/libgcc/gthr.h b/libgcc/gthr.h
|
||||||
index 88b0178f9e3..e94fcf9d721 100644
|
index 67826419882..d9f01c6c371 100644
|
||||||
--- a/libgcc/gthr.h
|
--- a/libgcc/gthr.h
|
||||||
+++ b/libgcc/gthr.h
|
+++ b/libgcc/gthr.h
|
||||||
@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
@@ -288,10 +291,10 @@ index 88b0178f9e3..e94fcf9d721 100644
|
|||||||
#define GTHREAD_USE_WEAK 0
|
#define GTHREAD_USE_WEAK 0
|
||||||
#endif
|
#endif
|
||||||
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
|
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
|
||||||
index 77e6dc2f6be..3a102997371 100644
|
index 1deacb80ca2..0de11c15a3a 100644
|
||||||
--- a/libstdc++-v3/include/Makefile.am
|
--- a/libstdc++-v3/include/Makefile.am
|
||||||
+++ b/libstdc++-v3/include/Makefile.am
|
+++ b/libstdc++-v3/include/Makefile.am
|
||||||
@@ -1293,6 +1293,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
|
@@ -1338,6 +1338,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
|
||||||
-e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
|
-e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
|
||||||
-e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
|
-e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
|
||||||
-e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \
|
-e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \
|
||||||
@@ -300,10 +303,10 @@ index 77e6dc2f6be..3a102997371 100644
|
|||||||
< $< > $@
|
< $< > $@
|
||||||
|
|
||||||
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
|
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
|
||||||
index 948a5c1f1c5..ee8e240f6c5 100644
|
index bc475c6dd90..bfa3e71898a 100644
|
||||||
--- a/libstdc++-v3/include/Makefile.in
|
--- a/libstdc++-v3/include/Makefile.in
|
||||||
+++ b/libstdc++-v3/include/Makefile.in
|
+++ b/libstdc++-v3/include/Makefile.in
|
||||||
@@ -1719,6 +1719,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
|
@@ -1817,6 +1817,7 @@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
|
||||||
-e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
|
-e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
|
||||||
-e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
|
-e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
|
||||||
-e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \
|
-e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \
|
||||||
@@ -6555,10 +6555,10 @@ index 000000000..13bd0fba1
|
|||||||
+}
|
+}
|
||||||
diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c
|
diff --git a/libgloss/libsysbase/link.c b/libgloss/libsysbase/link.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000..1675e5c24
|
index 000000000..162f70f63
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libgloss/libsysbase/link.c
|
+++ b/libgloss/libsysbase/link.c
|
||||||
@@ -0,0 +1,33 @@
|
@@ -0,0 +1,36 @@
|
||||||
+#include "config.h"
|
+#include "config.h"
|
||||||
+#include <_ansi.h>
|
+#include <_ansi.h>
|
||||||
+#include <_syslist.h>
|
+#include <_syslist.h>
|
||||||
@@ -6572,11 +6572,14 @@ index 000000000..1675e5c24
|
|||||||
+int _link(const char *existing, const char *new) {
|
+int _link(const char *existing, const char *new) {
|
||||||
+ struct _reent *r = _REENT;
|
+ struct _reent *r = _REENT;
|
||||||
+#endif
|
+#endif
|
||||||
+ int ret;
|
+ int ret = -1;
|
||||||
+ int sourceDev = FindDevice(existing);
|
+ int sourceDev = FindDevice(existing);
|
||||||
+ int destDev = FindDevice(new);
|
+ int destDev = FindDevice(new);
|
||||||
+
|
+
|
||||||
+ ret = -1;
|
+ if (sourceDev == -1 || destDev == -1 ) {
|
||||||
|
+ r->_errno = ENODEV;
|
||||||
|
+ return ret;
|
||||||
|
+ }
|
||||||
+
|
+
|
||||||
+ if ( sourceDev == destDev) {
|
+ if ( sourceDev == destDev) {
|
||||||
+ if (devoptab_list[destDev]->link_r) {
|
+ if (devoptab_list[destDev]->link_r) {
|
||||||
@@ -6854,26 +6857,30 @@ index 000000000..456590956
|
|||||||
+char *fake_heap_start = (char*)0;
|
+char *fake_heap_start = (char*)0;
|
||||||
diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c
|
diff --git a/libgloss/libsysbase/mkdir.c b/libgloss/libsysbase/mkdir.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000..b4fcbd3d7
|
index 000000000..19742b774
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libgloss/libsysbase/mkdir.c
|
+++ b/libgloss/libsysbase/mkdir.c
|
||||||
@@ -0,0 +1,19 @@
|
@@ -0,0 +1,23 @@
|
||||||
+#include <reent.h>
|
+#include <reent.h>
|
||||||
+#include <sys/iosupport.h>
|
+#include <sys/iosupport.h>
|
||||||
+#include <errno.h>
|
+#include <errno.h>
|
||||||
+
|
+
|
||||||
+int mkdir (const char *path, mode_t mode) {
|
+int mkdir (const char *path, mode_t mode) {
|
||||||
+ struct _reent *r = _REENT;
|
+ struct _reent *r = _REENT;
|
||||||
+ int ret;
|
+ int ret = -1;
|
||||||
+ int dev = FindDevice(path);
|
|
||||||
+ ret = -1;
|
|
||||||
+
|
+
|
||||||
+ if (devoptab_list[dev]->mkdir_r) {
|
+ int dev = FindDevice(path);
|
||||||
|
+
|
||||||
|
+ if(dev!=-1) {
|
||||||
|
+ if(devoptab_list[dev]->mkdir_r) {
|
||||||
+ r->deviceData = devoptab_list[dev]->deviceData;
|
+ r->deviceData = devoptab_list[dev]->deviceData;
|
||||||
+ ret = devoptab_list[dev]->mkdir_r(r, path, mode);
|
+ ret = devoptab_list[dev]->mkdir_r(r,path,mode);
|
||||||
+ } else {
|
+ } else {
|
||||||
+ r->_errno = ENOSYS;
|
+ r->_errno = ENOSYS;
|
||||||
+ }
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ r->_errno = ENODEV;
|
||||||
|
+ }
|
||||||
+
|
+
|
||||||
+ return ret;
|
+ return ret;
|
||||||
+}
|
+}
|
||||||
@@ -8092,10 +8099,10 @@ index 000000000..838a8c796
|
|||||||
+
|
+
|
||||||
diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c
|
diff --git a/libgloss/libsysbase/rename.c b/libgloss/libsysbase/rename.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000..97a056a72
|
index 000000000..b54e0ce7c
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libgloss/libsysbase/rename.c
|
+++ b/libgloss/libsysbase/rename.c
|
||||||
@@ -0,0 +1,34 @@
|
@@ -0,0 +1,37 @@
|
||||||
+#include "config.h"
|
+#include "config.h"
|
||||||
+#include <reent.h>
|
+#include <reent.h>
|
||||||
+#include <sys/iosupport.h>
|
+#include <sys/iosupport.h>
|
||||||
@@ -8111,11 +8118,14 @@ index 000000000..97a056a72
|
|||||||
+#endif
|
+#endif
|
||||||
+ struct _reent *r = _REENT;
|
+ struct _reent *r = _REENT;
|
||||||
+
|
+
|
||||||
+ int ret;
|
+ int ret = -1;
|
||||||
+ int sourceDev = FindDevice(existing);
|
+ int sourceDev = FindDevice(existing);
|
||||||
+ int destDev = FindDevice(newName);
|
+ int destDev = FindDevice(newName);
|
||||||
+
|
+
|
||||||
+ ret = -1;
|
+ if (sourceDev == -1 || destDev == -1 ) {
|
||||||
|
+ r->_errno = ENODEV;
|
||||||
|
+ return ret;
|
||||||
|
+ }
|
||||||
+
|
+
|
||||||
+ if ( sourceDev == destDev) {
|
+ if ( sourceDev == destDev) {
|
||||||
+ if (devoptab_list[destDev]->rename_r) {
|
+ if (devoptab_list[destDev]->rename_r) {
|
||||||
@@ -8229,10 +8239,10 @@ index 000000000..5dd550c5c
|
|||||||
+}
|
+}
|
||||||
diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c
|
diff --git a/libgloss/libsysbase/scandir.c b/libgloss/libsysbase/scandir.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000..1333df4b2
|
index 000000000..5c673af52
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libgloss/libsysbase/scandir.c
|
+++ b/libgloss/libsysbase/scandir.c
|
||||||
@@ -0,0 +1,74 @@
|
@@ -0,0 +1,76 @@
|
||||||
+#include <sys/types.h>
|
+#include <sys/types.h>
|
||||||
+#include <sys/stat.h>
|
+#include <sys/stat.h>
|
||||||
+#include <stddef.h>
|
+#include <stddef.h>
|
||||||
@@ -8262,6 +8272,8 @@ index 000000000..1333df4b2
|
|||||||
+ int (*filter) __P((const struct dirent *)),
|
+ int (*filter) __P((const struct dirent *)),
|
||||||
+ int (*compar) __P((const struct dirent **, const struct dirent **)))
|
+ int (*compar) __P((const struct dirent **, const struct dirent **)))
|
||||||
+{
|
+{
|
||||||
|
+ errno = 0;
|
||||||
|
+
|
||||||
+ DIR *d = opendir(dirname);
|
+ DIR *d = opendir(dirname);
|
||||||
+
|
+
|
||||||
+ if (!d) return -1;
|
+ if (!d) return -1;
|
||||||
@@ -9330,10 +9342,10 @@ index 000000000..82d2e3576
|
|||||||
+#endif // __iosupp_h__
|
+#endif // __iosupp_h__
|
||||||
+//---------------------------------------------------------------------------------
|
+//---------------------------------------------------------------------------------
|
||||||
diff --git a/newlib/libc/include/sys/lock.h b/newlib/libc/include/sys/lock.h
|
diff --git a/newlib/libc/include/sys/lock.h b/newlib/libc/include/sys/lock.h
|
||||||
index 528904957..30cb099e6 100644
|
index 528904957..e49f77b75 100644
|
||||||
--- a/newlib/libc/include/sys/lock.h
|
--- a/newlib/libc/include/sys/lock.h
|
||||||
+++ b/newlib/libc/include/sys/lock.h
|
+++ b/newlib/libc/include/sys/lock.h
|
||||||
@@ -1,69 +1,97 @@
|
@@ -1,69 +1,105 @@
|
||||||
#ifndef __SYS_LOCK_H__
|
#ifndef __SYS_LOCK_H__
|
||||||
#define __SYS_LOCK_H__
|
#define __SYS_LOCK_H__
|
||||||
|
|
||||||
@@ -9342,19 +9354,68 @@ index 528904957..30cb099e6 100644
|
|||||||
-#include <newlib.h>
|
-#include <newlib.h>
|
||||||
#include <_ansi.h>
|
#include <_ansi.h>
|
||||||
+#include <stdint.h>
|
+#include <stdint.h>
|
||||||
+
|
|
||||||
|
-#if !defined(_RETARGETABLE_LOCKING)
|
||||||
+typedef int32_t _LOCK_T;
|
+typedef int32_t _LOCK_T;
|
||||||
+
|
|
||||||
|
-typedef int _LOCK_T;
|
||||||
|
-typedef int _LOCK_RECURSIVE_T;
|
||||||
+struct __lock_t {
|
+struct __lock_t {
|
||||||
+ _LOCK_T lock;
|
+ _LOCK_T lock;
|
||||||
+ uint32_t thread_tag;
|
+ uint32_t thread_tag;
|
||||||
+ uint32_t counter;
|
+ uint32_t counter;
|
||||||
+};
|
+};
|
||||||
+
|
|
||||||
|
-#define __LOCK_INIT(class,lock) static int lock = 0;
|
||||||
|
-#define __LOCK_INIT_RECURSIVE(class,lock) static int lock = 0;
|
||||||
|
-#define __lock_init(lock) ((void) 0)
|
||||||
|
-#define __lock_init_recursive(lock) ((void) 0)
|
||||||
|
-#define __lock_close(lock) ((void) 0)
|
||||||
|
-#define __lock_close_recursive(lock) ((void) 0)
|
||||||
|
-#define __lock_acquire(lock) ((void) 0)
|
||||||
|
-#define __lock_acquire_recursive(lock) ((void) 0)
|
||||||
|
-#define __lock_try_acquire(lock) ((void) 0)
|
||||||
|
-#define __lock_try_acquire_recursive(lock) ((void) 0)
|
||||||
|
-#define __lock_release(lock) ((void) 0)
|
||||||
|
-#define __lock_release_recursive(lock) ((void) 0)
|
||||||
+typedef struct __lock_t _LOCK_RECURSIVE_T;
|
+typedef struct __lock_t _LOCK_RECURSIVE_T;
|
||||||
+
|
|
||||||
|
-#else
|
||||||
+typedef uint32_t _COND_T;
|
+typedef uint32_t _COND_T;
|
||||||
+
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-struct __lock;
|
||||||
|
-typedef struct __lock * _LOCK_T;
|
||||||
|
-#define _LOCK_RECURSIVE_T _LOCK_T
|
||||||
|
-
|
||||||
|
-#define __LOCK_INIT(class,lock) extern struct __lock __lock_ ## lock; \
|
||||||
|
- class _LOCK_T lock = &__lock_ ## lock
|
||||||
|
-#define __LOCK_INIT_RECURSIVE(class,lock) __LOCK_INIT(class,lock)
|
||||||
|
-
|
||||||
|
-extern void __retarget_lock_init(_LOCK_T *lock);
|
||||||
|
-#define __lock_init(lock) __retarget_lock_init(&lock)
|
||||||
|
-extern void __retarget_lock_init_recursive(_LOCK_T *lock);
|
||||||
|
-#define __lock_init_recursive(lock) __retarget_lock_init_recursive(&lock)
|
||||||
|
-extern void __retarget_lock_close(_LOCK_T lock);
|
||||||
|
-#define __lock_close(lock) __retarget_lock_close(lock)
|
||||||
|
-extern void __retarget_lock_close_recursive(_LOCK_T lock);
|
||||||
|
-#define __lock_close_recursive(lock) __retarget_lock_close_recursive(lock)
|
||||||
|
-extern void __retarget_lock_acquire(_LOCK_T lock);
|
||||||
|
-#define __lock_acquire(lock) __retarget_lock_acquire(lock)
|
||||||
|
-extern void __retarget_lock_acquire_recursive(_LOCK_T lock);
|
||||||
|
-#define __lock_acquire_recursive(lock) __retarget_lock_acquire_recursive(lock)
|
||||||
|
-extern int __retarget_lock_try_acquire(_LOCK_T lock);
|
||||||
|
-#define __lock_try_acquire(lock) __retarget_lock_try_acquire(lock)
|
||||||
|
-extern int __retarget_lock_try_acquire_recursive(_LOCK_T lock);
|
||||||
|
-#define __lock_try_acquire_recursive(lock) \
|
||||||
|
- __retarget_lock_try_acquire_recursive(lock)
|
||||||
|
-extern void __retarget_lock_release(_LOCK_T lock);
|
||||||
|
-#define __lock_release(lock) __retarget_lock_release(lock)
|
||||||
|
-extern void __retarget_lock_release_recursive(_LOCK_T lock);
|
||||||
|
-#define __lock_release_recursive(lock) __retarget_lock_release_recursive(lock)
|
||||||
+extern void __libc_lock_init(_LOCK_T *lock);
|
+extern void __libc_lock_init(_LOCK_T *lock);
|
||||||
+extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock);
|
+extern void __libc_lock_init_recursive(_LOCK_RECURSIVE_T *lock);
|
||||||
+extern void __libc_lock_close(_LOCK_T *lock);
|
+extern void __libc_lock_close(_LOCK_T *lock);
|
||||||
@@ -9374,7 +9435,12 @@ index 528904957..30cb099e6 100644
|
|||||||
+extern int __libc_cond_broadcast(_COND_T *cond);
|
+extern int __libc_cond_broadcast(_COND_T *cond);
|
||||||
+extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns);
|
+extern int __libc_cond_wait(_COND_T *cond, _LOCK_T *lock, uint64_t timeout_ns);
|
||||||
+extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns);
|
+extern int __libc_cond_wait_recursive(_COND_T *cond, _LOCK_RECURSIVE_T *lock, uint64_t timeout_ns);
|
||||||
+
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#endif /* !defined(_RETARGETABLE_LOCKING) */
|
||||||
+#define __LOCK_INITIALIZER ((_LOCK_T)0)
|
+#define __LOCK_INITIALIZER ((_LOCK_T)0)
|
||||||
+#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0})
|
+#define __LOCK_INITIALIZER_RECURSIVE ((_LOCK_RECURSIVE_T){__LOCK_INITIALIZER,0,0})
|
||||||
+#define __COND_INITIALIZER ((_COND_T)0)
|
+#define __COND_INITIALIZER ((_COND_T)0)
|
||||||
@@ -9433,66 +9499,6 @@ index 528904957..30cb099e6 100644
|
|||||||
+#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \
|
+#define __cond_wait_recursive(NAME, LOCK, TIMEOUT) \
|
||||||
+ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT))
|
+ __libc_cond_wait_recursive(&(NAME), &(LOCK), (TIMEOUT))
|
||||||
|
|
||||||
-#if !defined(_RETARGETABLE_LOCKING)
|
|
||||||
-
|
|
||||||
-typedef int _LOCK_T;
|
|
||||||
-typedef int _LOCK_RECURSIVE_T;
|
|
||||||
-
|
|
||||||
-#define __LOCK_INIT(class,lock) static int lock = 0;
|
|
||||||
-#define __LOCK_INIT_RECURSIVE(class,lock) static int lock = 0;
|
|
||||||
-#define __lock_init(lock) ((void) 0)
|
|
||||||
-#define __lock_init_recursive(lock) ((void) 0)
|
|
||||||
-#define __lock_close(lock) ((void) 0)
|
|
||||||
-#define __lock_close_recursive(lock) ((void) 0)
|
|
||||||
-#define __lock_acquire(lock) ((void) 0)
|
|
||||||
-#define __lock_acquire_recursive(lock) ((void) 0)
|
|
||||||
-#define __lock_try_acquire(lock) ((void) 0)
|
|
||||||
-#define __lock_try_acquire_recursive(lock) ((void) 0)
|
|
||||||
-#define __lock_release(lock) ((void) 0)
|
|
||||||
-#define __lock_release_recursive(lock) ((void) 0)
|
|
||||||
-
|
|
||||||
-#else
|
|
||||||
-
|
|
||||||
-#ifdef __cplusplus
|
|
||||||
-extern "C" {
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-struct __lock;
|
|
||||||
-typedef struct __lock * _LOCK_T;
|
|
||||||
-#define _LOCK_RECURSIVE_T _LOCK_T
|
|
||||||
-
|
|
||||||
-#define __LOCK_INIT(class,lock) extern struct __lock __lock_ ## lock; \
|
|
||||||
- class _LOCK_T lock = &__lock_ ## lock
|
|
||||||
-#define __LOCK_INIT_RECURSIVE(class,lock) __LOCK_INIT(class,lock)
|
|
||||||
-
|
|
||||||
-extern void __retarget_lock_init(_LOCK_T *lock);
|
|
||||||
-#define __lock_init(lock) __retarget_lock_init(&lock)
|
|
||||||
-extern void __retarget_lock_init_recursive(_LOCK_T *lock);
|
|
||||||
-#define __lock_init_recursive(lock) __retarget_lock_init_recursive(&lock)
|
|
||||||
-extern void __retarget_lock_close(_LOCK_T lock);
|
|
||||||
-#define __lock_close(lock) __retarget_lock_close(lock)
|
|
||||||
-extern void __retarget_lock_close_recursive(_LOCK_T lock);
|
|
||||||
-#define __lock_close_recursive(lock) __retarget_lock_close_recursive(lock)
|
|
||||||
-extern void __retarget_lock_acquire(_LOCK_T lock);
|
|
||||||
-#define __lock_acquire(lock) __retarget_lock_acquire(lock)
|
|
||||||
-extern void __retarget_lock_acquire_recursive(_LOCK_T lock);
|
|
||||||
-#define __lock_acquire_recursive(lock) __retarget_lock_acquire_recursive(lock)
|
|
||||||
-extern int __retarget_lock_try_acquire(_LOCK_T lock);
|
|
||||||
-#define __lock_try_acquire(lock) __retarget_lock_try_acquire(lock)
|
|
||||||
-extern int __retarget_lock_try_acquire_recursive(_LOCK_T lock);
|
|
||||||
-#define __lock_try_acquire_recursive(lock) \
|
|
||||||
- __retarget_lock_try_acquire_recursive(lock)
|
|
||||||
-extern void __retarget_lock_release(_LOCK_T lock);
|
|
||||||
-#define __lock_release(lock) __retarget_lock_release(lock)
|
|
||||||
-extern void __retarget_lock_release_recursive(_LOCK_T lock);
|
|
||||||
-#define __lock_release_recursive(lock) __retarget_lock_release_recursive(lock)
|
|
||||||
-
|
|
||||||
-#ifdef __cplusplus
|
|
||||||
-}
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#endif /* !defined(_RETARGETABLE_LOCKING) */
|
|
||||||
-
|
|
||||||
-#endif /* __SYS_LOCK_H__ */
|
-#endif /* __SYS_LOCK_H__ */
|
||||||
+#endif // __SYS_LOCK_H__
|
+#endif // __SYS_LOCK_H__
|
||||||
diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h
|
diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ then
|
|||||||
--prefix=$prefix \
|
--prefix=$prefix \
|
||||||
--enable-lto $plugin_ld\
|
--enable-lto $plugin_ld\
|
||||||
--with-system-zlib \
|
--with-system-zlib \
|
||||||
--with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 13" \
|
--with-bugurl="https://github.com/devkitPro/buildscripts/issues" --with-pkgversion="devkitA64 release 14" \
|
||||||
$CROSS_PARAMS \
|
$CROSS_PARAMS \
|
||||||
$CROSS_GCC_PARAMS \
|
$CROSS_GCC_PARAMS \
|
||||||
|| { echo "Error configuring gcc"; exit 1; }
|
|| { echo "Error configuring gcc"; exit 1; }
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ case "$VERSION" in
|
|||||||
toolchain=DEVKITPPC
|
toolchain=DEVKITPPC
|
||||||
;;
|
;;
|
||||||
"3" )
|
"3" )
|
||||||
GCC_VER=8.3.0
|
GCC_VER=9.2.0
|
||||||
BINUTILS_VER=2.32
|
BINUTILS_VER=2.32
|
||||||
NEWLIB_VER=3.1.0
|
NEWLIB_VER=3.1.0
|
||||||
GDB_VER=8.2.1
|
GDB_VER=8.2.1
|
||||||
|
|||||||
Reference in New Issue
Block a user