mirror of
https://github.com/devkitPro/buildscripts.git
synced 2026-08-21 01:44:16 -05:00
Compare commits
31 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ca6674a81d | ||
|
|
cf2e5124ce | ||
|
|
c4a55871e4 | ||
|
|
67f27e6455 | ||
|
|
ff6e2b58c6 | ||
|
|
50514b3c7f | ||
|
|
5e86d85526 | ||
|
|
f8998e03ce | ||
|
|
af4c3ff66a | ||
|
|
0ca5bf65c0 | ||
|
|
564fa0e0af | ||
|
|
47ddd93e55 | ||
|
|
fea87e834c | ||
|
|
bb1c5bba94 | ||
|
|
0e404ac683 | ||
|
|
dd0500e539 | ||
|
|
46989bb607 | ||
|
|
827f20a398 | ||
|
|
e4270dc3d2 | ||
|
|
ac72c96c00 | ||
|
|
83fb7448d8 | ||
|
|
6e94598966 | ||
|
|
14359b772f | ||
|
|
1f4243ead0 | ||
|
|
207d78ae00 | ||
|
|
9362ca7bac | ||
|
|
f6d47b4005 | ||
|
|
c384a5097c | ||
|
|
074ceec36c | ||
|
|
e0c31cded7 | ||
|
|
fdc132d773 |
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
#---------------------------------------------------------------------------------
|
||||
# Build scripts for
|
||||
# devkitARM release 44
|
||||
# devkitARM release 45
|
||||
# devkitPPC release 27
|
||||
# devkitPSP release 17
|
||||
#---------------------------------------------------------------------------------
|
||||
@@ -26,9 +26,9 @@ echo
|
||||
|
||||
LIBOGC_VER=1.8.12
|
||||
LIBGBA_VER=20150106
|
||||
LIBNDS_VER=1.5.10
|
||||
LIBCTRU_VER=0.4.0
|
||||
DEFAULT_ARM7_VER=0.5.27
|
||||
LIBNDS_VER=1.5.12
|
||||
LIBCTRU_VER=0.6.0
|
||||
DEFAULT_ARM7_VER=0.6.0
|
||||
DSWIFI_VER=0.3.17
|
||||
LIBMIRKO_VER=0.9.7
|
||||
MAXMOD_VER=1.0.9
|
||||
@@ -38,7 +38,7 @@ PSPSDK_VER=20120404
|
||||
GBATOOLS_VER=1.0.0
|
||||
DSTOOLS_VER=1.0.2
|
||||
GP32_TOOLS_VER=1.0.1
|
||||
GRIT_VER=0.8.12
|
||||
GRIT_VER=0.8.13
|
||||
NDSTOOL_VER=1.50.3
|
||||
GENERAL_TOOLS_VER=1.0.0
|
||||
DLDITOOL_VER=1.24.0
|
||||
@@ -47,8 +47,9 @@ WIILOAD_VER=0.5.1
|
||||
MMUTIL_VER=1.8.6
|
||||
DFU_UTIL_VER=0.8.1
|
||||
STLINK_VER=0.5.8
|
||||
TOOLS3DS_VER=1.0.3
|
||||
LINK3DS_VER=0.5.0
|
||||
TOOLS3DS_VER=1.1.1
|
||||
LINK3DS_VER=0.5.1
|
||||
PICASSO_VER=2.1.0
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
function extract_and_patch {
|
||||
@@ -203,7 +204,8 @@ if [ $VERSION -eq 1 ]; then
|
||||
hostarchives="gbatools-$GBATOOLS_VER.tar.bz2 gp32tools-$GP32_TOOLS_VER.tar.bz2
|
||||
dstools-$DSTOOLS_VER.tar.bz2 grit-$GRIT_VER.tar.bz2 ndstool-$NDSTOOL_VER.tar.bz2
|
||||
general-tools-$GENERAL_TOOLS_VER.tar.bz2 dlditool-$DLDITOOL_VER.tar.bz2 mmutil-$MMUTIL_VER.tar.bz2
|
||||
dfu-util-$DFU_UTIL_VER.tar.bz2 stlink-$STLINK_VER.tar.bz2 3dstools-$TOOLS3DS_VER.tar.bz2 3dslink-$LINK3DS_VER.tar.bz2"
|
||||
dfu-util-$DFU_UTIL_VER.tar.bz2 stlink-$STLINK_VER.tar.bz2 3dstools-$TOOLS3DS_VER.tar.bz2
|
||||
picasso-$PICASSO_VER.tar.bz2 3dslink-$LINK3DS_VER.tar.bz2"
|
||||
fi
|
||||
|
||||
if [ $VERSION -eq 2 ]; then
|
||||
@@ -271,7 +273,7 @@ if [ -f $scriptdir/build-crtls.sh ]; then . $scriptdir/build-crtls.sh || { echo
|
||||
|
||||
if [ ! -z $CROSSBUILD ]; then
|
||||
if [ $VERSION -ne 3 ]; then
|
||||
cp -v $CROSSLIBPATH/FreeImage.dll $prefix/bin
|
||||
cp -v $CROSSBINPATH/FreeImage.dll $prefix/bin
|
||||
fi
|
||||
if [ $VERSION -eq 1 ]; then
|
||||
cp -v $CROSSBINPATH/libusb-1.0.dll $prefix/bin
|
||||
|
||||
@@ -67,6 +67,25 @@ SECTIONS
|
||||
. = ALIGN(4);
|
||||
} : data
|
||||
|
||||
.tdata ALIGN(4) :
|
||||
{
|
||||
__tdata_lma = .;
|
||||
*(.tdata)
|
||||
*(.tdata.*)
|
||||
*(.gnu.linkonce.td.*)
|
||||
. = ALIGN(4);
|
||||
__tdata_lma_end = .;
|
||||
} : data
|
||||
|
||||
.tbss ALIGN(4) :
|
||||
{
|
||||
*(.tbss)
|
||||
*(.tbss.*)
|
||||
*(.gnu.linkonce.tb.*)
|
||||
*(.tcommon)
|
||||
. = ALIGN(4);
|
||||
} : data
|
||||
|
||||
.preinit_array ALIGN(4) :
|
||||
{
|
||||
PROVIDE (__preinit_array_start = .);
|
||||
@@ -115,6 +134,11 @@ SECTIONS
|
||||
*(.gnu.linkonce.b*)
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
|
||||
/* Reserve space for the TLS segment of the main thread */
|
||||
__tls_start = .;
|
||||
. += + SIZEOF(.tdata) + SIZEOF(.tbss);
|
||||
__tls_end = .;
|
||||
} : data
|
||||
__bss_end__ = .;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%rename link old_link
|
||||
|
||||
*link:
|
||||
%(old_link) -T 3dsx.ld%s -d --emit-relocs --use-blx
|
||||
%(old_link) -T 3dsx.ld%s -d --emit-relocs --use-blx --gc-sections
|
||||
|
||||
*startfile:
|
||||
3dsx_crt0%O%s crti%O%s crtbegin%O%s
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%rename link old_link
|
||||
|
||||
*link:
|
||||
%(old_link) -T ds_arm7.ld%s
|
||||
%(old_link) -T ds_arm7.ld%s --gc-sections
|
||||
|
||||
*startfile:
|
||||
ds_arm7_crt0%O%s crti%O%s crtbegin%O%s
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%rename link old_link
|
||||
|
||||
*link:
|
||||
%(old_link) -T ds_arm9.mem%s -T ds_arm9.ld%s
|
||||
%(old_link) -T ds_arm9.mem%s -T ds_arm9.ld%s --gc-sections
|
||||
|
||||
*startfile:
|
||||
ds_arm9_crt0%O%s crti%O%s crtbegin%O%s
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%rename link old_link
|
||||
|
||||
*link:
|
||||
%(old_link) -T ds_cart.ld%s
|
||||
%(old_link) -T ds_cart.ld%s --gc-sections
|
||||
|
||||
*startfile:
|
||||
ds_cart_crt0%O%s crti%O%s crtbegin%O%s
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%rename link old_link
|
||||
|
||||
*link:
|
||||
%(old_link) -T dsi_arm9.mem%s -T ds_arm9.ld%s
|
||||
%(old_link) -T dsi_arm9.mem%s -T ds_arm9.ld%s --gc-sections
|
||||
|
||||
*startfile:
|
||||
ds_arm9_crt0%O%s crti%O%s crtbegin%O%s
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%rename link old_link
|
||||
|
||||
*link:
|
||||
%(old_link) -T gba_cart.ld%s
|
||||
%(old_link) -T gba_cart.ld%s --gc-sections
|
||||
|
||||
*startfile:
|
||||
gba_crt0%O%s crti%O%s crtbegin%O%s
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%rename endfile old_endfile
|
||||
|
||||
*link:
|
||||
-T gba_er.ld%s %(old_link)
|
||||
-T gba_er.ld%s %(old_link) --gc-sections
|
||||
|
||||
*startfile:
|
||||
er_crt0%O%s
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%rename link old_link
|
||||
|
||||
*link:
|
||||
-T gba_mb.ld%s %(old_link)
|
||||
-T gba_mb.ld%s %(old_link) --gc-sections
|
||||
|
||||
*startfile:
|
||||
gba_crt0%O%s crti%O%s crtbegin%O%s
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%rename link old_link
|
||||
|
||||
*link:
|
||||
%(old_link) -T gp32.ld%s
|
||||
%(old_link) -T gp32.ld%s --gc-sections
|
||||
|
||||
*startfile:
|
||||
gp32_crt0%O%s crti%O%s crtbegin%O%s
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%rename link old_link
|
||||
|
||||
*link:
|
||||
%(old_link) -T gp32_gpsdk.ld%s
|
||||
%(old_link) -T gp32_gpsdk.ld%s --gc-sections
|
||||
|
||||
*startfile:
|
||||
gp32_gpsdk_crt0%O%s crti%O%s crtbegin%O%s
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -NBaur gcc-4.9.2/gcc/config/arm/t-arm-elf gcc-4.9.2-arm/gcc/config/arm/t-arm-elf
|
||||
--- gcc-4.9.2/gcc/config/arm/t-arm-elf 2014-01-02 22:23:26.000000000 +0000
|
||||
+++ gcc-4.9.2-arm/gcc/config/arm/t-arm-elf 2015-02-14 19:27:06.598220000 +0000
|
||||
@@ -16,10 +16,18 @@
|
||||
diff -Nbaur gcc-5.2.0/gcc/config/arm/t-arm-elf gcc-5.2.0-arm/gcc/config/arm/t-arm-elf
|
||||
--- gcc-5.2.0/gcc/config/arm/t-arm-elf 2015-01-05 12:33:28.000000000 +0000
|
||||
+++ gcc-5.2.0-arm/gcc/config/arm/t-arm-elf 2015-11-23 20:16:26.736000000 +0000
|
||||
@@ -16,11 +16,19 @@
|
||||
# along with GCC; see the file COPYING3. If not see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
@@ -11,7 +11,7 @@ diff -NBaur gcc-4.9.2/gcc/config/arm/t-arm-elf gcc-4.9.2-arm/gcc/config/arm/t-ar
|
||||
+MULTILIB_DIRNAMES = thumb armv6k fpu
|
||||
MULTILIB_EXCEPTIONS =
|
||||
MULTILIB_MATCHES =
|
||||
+
|
||||
|
||||
+MULTILIB_REQUIRED = mthumb march=armv6k/mfloat-abi=hard
|
||||
+
|
||||
+
|
||||
@@ -19,9 +19,10 @@ diff -NBaur gcc-4.9.2/gcc/config/arm/t-arm-elf gcc-4.9.2-arm/gcc/config/arm/t-ar
|
||||
+MULTILIB_MATCHES += march?armv6k=mcpu?mpcore
|
||||
+
|
||||
+
|
||||
|
||||
+
|
||||
#MULTILIB_OPTIONS += mcpu=fa526/mcpu=fa626/mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te
|
||||
#MULTILIB_DIRNAMES += fa526 fa626 fa606te fa626te fmp626 fa726te
|
||||
#MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=fa526 *mthumb*/*mcpu=fa626
|
||||
@@ -38,9 +46,9 @@
|
||||
# Not quite true. We can support hard-vfp calling in Thumb2, but how do we
|
||||
# express that here? Also, we really need architecture v5e or later
|
||||
@@ -35,19 +36,28 @@ diff -NBaur gcc-4.9.2/gcc/config/arm/t-arm-elf gcc-4.9.2-arm/gcc/config/arm/t-ar
|
||||
#MULTILIB_EXCEPTIONS += *mcpu=fa526/*mfloat-abi=hard*
|
||||
#MULTILIB_EXCEPTIONS += *mcpu=fa626/*mfloat-abi=hard*
|
||||
|
||||
diff -NBaur gcc-4.9.2/gcc/config/arm/unknown-elf.h gcc-4.9.2-arm/gcc/config/arm/unknown-elf.h
|
||||
--- gcc-4.9.2/gcc/config/arm/unknown-elf.h 2014-01-02 22:23:26.000000000 +0000
|
||||
+++ gcc-4.9.2-arm/gcc/config/arm/unknown-elf.h 2015-02-14 19:27:06.598220000 +0000
|
||||
diff -Nbaur gcc-5.2.0/gcc/config/arm/unknown-elf.h gcc-5.2.0-arm/gcc/config/arm/unknown-elf.h
|
||||
--- gcc-5.2.0/gcc/config/arm/unknown-elf.h 2015-11-28 18:13:20.576000000 +0000
|
||||
+++ gcc-5.2.0-arm/gcc/config/arm/unknown-elf.h 2015-11-28 18:14:06.328000000 +0000
|
||||
@@ -29,7 +29,7 @@
|
||||
#endif
|
||||
|
||||
/* Now we define the strings used to build the spec file. */
|
||||
-#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s"
|
||||
+#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s"
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC UNKNOWN_ELF_STARTFILE_SPEC
|
||||
@@ -93,4 +93,4 @@
|
||||
udivmoddi4, which will depend on the exception unwind routines,
|
||||
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 %L --end-group"
|
||||
+#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group"
|
||||
diff -NBaur gcc-4.9.2/gcc/gcc.c gcc-4.9.2-arm/gcc/gcc.c
|
||||
--- gcc-4.9.2/gcc/gcc.c 2014-10-22 22:42:48.000000000 +0100
|
||||
+++ gcc-4.9.2-arm/gcc/gcc.c 2015-02-14 19:27:06.606220000 +0000
|
||||
@@ -616,6 +616,11 @@
|
||||
diff -Nbaur gcc-5.2.0/gcc/gcc.c gcc-5.2.0-arm/gcc/gcc.c
|
||||
--- gcc-5.2.0/gcc/gcc.c 2015-03-10 09:37:41.000000000 +0000
|
||||
+++ gcc-5.2.0-arm/gcc/gcc.c 2015-11-23 20:16:26.740000000 +0000
|
||||
@@ -647,6 +647,11 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -59,7 +69,7 @@ diff -NBaur gcc-4.9.2/gcc/gcc.c gcc-4.9.2-arm/gcc/gcc.c
|
||||
/* config.h can define STARTFILE_SPEC to override the default crt0 files. */
|
||||
#ifndef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC \
|
||||
@@ -813,6 +818,7 @@
|
||||
@@ -879,6 +884,7 @@
|
||||
static const char *lib_spec = LIB_SPEC;
|
||||
static const char *link_gomp_spec = "";
|
||||
static const char *libgcc_spec = LIBGCC_SPEC;
|
||||
@@ -67,7 +77,7 @@ diff -NBaur gcc-4.9.2/gcc/gcc.c gcc-4.9.2-arm/gcc/gcc.c
|
||||
static const char *endfile_spec = ENDFILE_SPEC;
|
||||
static const char *startfile_spec = STARTFILE_SPEC;
|
||||
static const char *linker_name_spec = LINKER_NAME;
|
||||
@@ -1303,6 +1309,7 @@
|
||||
@@ -1374,6 +1380,7 @@
|
||||
INIT_STATIC_SPEC ("lib", &lib_spec),
|
||||
INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec),
|
||||
INIT_STATIC_SPEC ("libgcc", &libgcc_spec),
|
||||
@@ -75,10 +85,10 @@ diff -NBaur gcc-4.9.2/gcc/gcc.c gcc-4.9.2-arm/gcc/gcc.c
|
||||
INIT_STATIC_SPEC ("startfile", &startfile_spec),
|
||||
INIT_STATIC_SPEC ("cross_compile", &cross_compile),
|
||||
INIT_STATIC_SPEC ("version", &compiler_version),
|
||||
diff -NBaur gcc-4.9.2/gcc/Makefile.in gcc-4.9.2-arm/gcc/Makefile.in
|
||||
--- gcc-4.9.2/gcc/Makefile.in 2014-10-16 14:50:42.000000000 +0100
|
||||
+++ gcc-4.9.2-arm/gcc/Makefile.in 2015-02-14 21:02:09.598220000 +0000
|
||||
@@ -1046,8 +1046,8 @@
|
||||
diff -Nbaur gcc-5.2.0/gcc/Makefile.in gcc-5.2.0-arm/gcc/Makefile.in
|
||||
--- gcc-5.2.0/gcc/Makefile.in 2015-05-04 11:46:32.000000000 +0100
|
||||
+++ gcc-5.2.0-arm/gcc/Makefile.in 2015-11-23 20:16:26.744000000 +0000
|
||||
@@ -1053,8 +1053,8 @@
|
||||
# things like the go/%.o rule work properly; but we use $(*F) for the
|
||||
# file part, as we just want the file part of the stem, not the entire
|
||||
# file name.
|
||||
@@ -89,9 +99,9 @@ diff -NBaur gcc-4.9.2/gcc/Makefile.in gcc-4.9.2-arm/gcc/Makefile.in
|
||||
else
|
||||
COMPILE = source='$<' object='$@' libtool=no \
|
||||
DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) $(COMPILE.base)
|
||||
diff -NBaur gcc-4.9.2/libcpp/Makefile.in gcc-4.9.2-arm/libcpp/Makefile.in
|
||||
--- gcc-4.9.2/libcpp/Makefile.in 2014-10-30 08:28:58.000000000 +0000
|
||||
+++ gcc-4.9.2-arm/libcpp/Makefile.in 2015-02-14 19:27:06.606220000 +0000
|
||||
diff -Nbaur gcc-5.2.0/libcpp/Makefile.in gcc-5.2.0-arm/libcpp/Makefile.in
|
||||
--- gcc-5.2.0/libcpp/Makefile.in 2015-07-16 10:16:25.000000000 +0100
|
||||
+++ gcc-5.2.0-arm/libcpp/Makefile.in 2015-11-23 20:16:26.744000000 +0000
|
||||
@@ -208,8 +208,7 @@
|
||||
# Note that we put the dependencies into a .Tpo file, then move them
|
||||
# into place if the compile succeeds. We need this because gcc does
|
||||
@@ -102,18 +112,18 @@ diff -NBaur gcc-4.9.2/libcpp/Makefile.in gcc-4.9.2-arm/libcpp/Makefile.in
|
||||
else
|
||||
COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \
|
||||
$(depcomp) $(COMPILE.base)
|
||||
diff -NBaur gcc-4.9.2/libgcc/config/arm/t-bpabi gcc-4.9.2-arm/libgcc/config/arm/t-bpabi
|
||||
--- gcc-4.9.2/libgcc/config/arm/t-bpabi 2012-08-17 16:06:06.000000000 +0100
|
||||
+++ gcc-4.9.2-arm/libgcc/config/arm/t-bpabi 2015-02-14 19:27:06.610220000 +0000
|
||||
diff -Nbaur gcc-5.2.0/libgcc/config/arm/t-bpabi gcc-5.2.0-arm/libgcc/config/arm/t-bpabi
|
||||
--- gcc-5.2.0/libgcc/config/arm/t-bpabi 2012-08-17 16:06:06.000000000 +0100
|
||||
+++ gcc-5.2.0-arm/libgcc/config/arm/t-bpabi 2015-11-23 20:16:26.744000000 +0000
|
||||
@@ -17,4 +17,4 @@
|
||||
# On ARM, specifying -fnon-call-exceptions will needlessly pull in
|
||||
# the unwinder in simple programs which use 64-bit division. Omitting
|
||||
# the option is safe.
|
||||
-LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions
|
||||
+LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions
|
||||
diff -NBaur gcc-4.9.2/libgcc/crtstuff.c gcc-4.9.2-arm/libgcc/crtstuff.c
|
||||
--- gcc-4.9.2/libgcc/crtstuff.c 2014-03-10 18:31:20.000000000 +0000
|
||||
+++ gcc-4.9.2-arm/libgcc/crtstuff.c 2015-02-14 19:27:06.610220000 +0000
|
||||
diff -Nbaur gcc-5.2.0/libgcc/crtstuff.c gcc-5.2.0-arm/libgcc/crtstuff.c
|
||||
--- gcc-5.2.0/libgcc/crtstuff.c 2015-01-05 12:33:28.000000000 +0000
|
||||
+++ gcc-5.2.0-arm/libgcc/crtstuff.c 2015-11-23 20:16:26.744000000 +0000
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
/* Target machine header files require this define. */
|
||||
@@ -123,10 +133,10 @@ diff -NBaur gcc-4.9.2/libgcc/crtstuff.c gcc-4.9.2-arm/libgcc/crtstuff.c
|
||||
/* FIXME: Including auto-host is incorrect, but until we have
|
||||
identified the set of defines that need to go into auto-target.h,
|
||||
this will have to do. */
|
||||
diff -NBaur gcc-4.9.2/libgcc/Makefile.in gcc-4.9.2-arm/libgcc/Makefile.in
|
||||
--- gcc-4.9.2/libgcc/Makefile.in 2014-01-08 16:37:08.000000000 +0000
|
||||
+++ gcc-4.9.2-arm/libgcc/Makefile.in 2015-02-14 19:27:06.610220000 +0000
|
||||
@@ -816,7 +816,7 @@
|
||||
diff -Nbaur gcc-5.2.0/libgcc/Makefile.in gcc-5.2.0-arm/libgcc/Makefile.in
|
||||
--- gcc-5.2.0/libgcc/Makefile.in 2015-01-29 08:03:56.000000000 +0000
|
||||
+++ gcc-5.2.0-arm/libgcc/Makefile.in 2015-11-23 20:16:26.744000000 +0000
|
||||
@@ -819,7 +819,7 @@
|
||||
# libgcc_eh.a, only LIB2ADDEH matters. If we do, only LIB2ADDEHSTATIC and
|
||||
# LIB2ADDEHSHARED matter. (Usually all three are identical.)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -NBaur gdb-7.8.2/gdb/Makefile.in gdb-7.8.2-arm/gdb/Makefile.in
|
||||
--- gdb-7.8.2/gdb/Makefile.in 2015-01-15 10:58:12.000000000 +0000
|
||||
+++ gdb-7.8.2-arm/gdb/Makefile.in 2015-01-21 17:13:14.155896000 +0000
|
||||
@@ -2516,10 +2516,8 @@
|
||||
diff -NBaur gdb-7.10/gdb/Makefile.in gdb-7.10-arm/gdb/Makefile.in
|
||||
--- gdb-7.10/gdb/Makefile.in 2015-08-28 22:22:07.000000000 +0100
|
||||
+++ gdb-7.10-arm/gdb/Makefile.in 2015-10-21 08:54:36.492597858 +0100
|
||||
@@ -2676,10 +2676,8 @@
|
||||
# Note that we put the dependencies into a .Tpo file, then move them
|
||||
# into place if the compile succeeds. We need this because gcc does
|
||||
# not atomically write the dependency output file.
|
||||
@@ -14,10 +14,10 @@ diff -NBaur gdb-7.8.2/gdb/Makefile.in gdb-7.8.2-arm/gdb/Makefile.in
|
||||
@GMAKE_TRUE@else
|
||||
@GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
|
||||
@GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
|
||||
diff -NBaur gdb-7.8.2/sim/common/Make-common.in gdb-7.8.2-arm/sim/common/Make-common.in
|
||||
--- gdb-7.8.2/sim/common/Make-common.in 2015-01-15 10:58:12.000000000 +0000
|
||||
+++ gdb-7.8.2-arm/sim/common/Make-common.in 2015-01-21 17:13:14.155896000 +0000
|
||||
@@ -415,10 +415,8 @@
|
||||
diff -NBaur gdb-7.10/sim/common/Make-common.in gdb-7.10-arm/sim/common/Make-common.in
|
||||
--- gdb-7.10/sim/common/Make-common.in 2015-07-06 20:57:46.000000000 +0100
|
||||
+++ gdb-7.10-arm/sim/common/Make-common.in 2015-10-21 08:54:36.492597858 +0100
|
||||
@@ -421,10 +421,8 @@
|
||||
# Note that we put the dependencies into a .Tpo file, then move them
|
||||
# into place if the compile succeeds. We need this because gcc does
|
||||
# not atomically write the dependency output file.
|
||||
@@ -648,15 +648,16 @@ index 0000000..79d2006
|
||||
+}
|
||||
diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c
|
||||
new file mode 100644
|
||||
index 0000000..c850f27
|
||||
index 0000000..ae3a099
|
||||
--- /dev/null
|
||||
+++ b/libgloss/libsysbase/chdir.c
|
||||
@@ -0,0 +1,192 @@
|
||||
@@ -0,0 +1,199 @@
|
||||
+#include <unistd.h>
|
||||
+#include <limits.h>
|
||||
+#include <reent.h>
|
||||
+#include <string.h>
|
||||
+#include <errno.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <sys/iosupport.h>
|
||||
+#include <sys/param.h>
|
||||
+
|
||||
@@ -779,7 +780,13 @@ index 0000000..c850f27
|
||||
+ strncpy (temp_cwd, _current_working_directory, PATH_MAX);
|
||||
+ }
|
||||
+
|
||||
+ pathPosition = strchr (temp_cwd , ':') + 1;
|
||||
+ pathPosition = strchr (temp_cwd , ':');
|
||||
+
|
||||
+ if (pathPosition == NULL) {
|
||||
+ pathPosition = temp_cwd;
|
||||
+ } else {
|
||||
+ pathPosition++;
|
||||
+ }
|
||||
+
|
||||
+ /* Make sure the path starts in the root directory */
|
||||
+ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) {
|
||||
@@ -880,7 +887,7 @@ index 0000000..f3959bf
|
||||
+
|
||||
diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c
|
||||
new file mode 100644
|
||||
index 0000000..6470054
|
||||
index 0000000..c69a817
|
||||
--- /dev/null
|
||||
+++ b/libgloss/libsysbase/close.c
|
||||
@@ -0,0 +1,49 @@
|
||||
@@ -907,7 +914,7 @@ index 0000000..6470054
|
||||
+#endif
|
||||
+ int ret = -1;
|
||||
+ unsigned int dev = 0;
|
||||
+ unsigned int fd = -1;
|
||||
+ int fd = -1;
|
||||
+
|
||||
+ if(fileDesc!=-1) {
|
||||
+
|
||||
@@ -917,7 +924,7 @@ index 0000000..6470054
|
||||
+ dev = handle->device;
|
||||
+ handle->refcount--;
|
||||
+ if (handle->refcount == 0 ) {
|
||||
+ fd = (unsigned int)handle->fileStruct;
|
||||
+ fd = (int)handle->fileStruct;
|
||||
+
|
||||
+ if(devoptab_list[dev]->close_r)
|
||||
+ ret = devoptab_list[dev]->close_r(ptr,fd);
|
||||
@@ -5758,7 +5765,7 @@ index 0000000..712b13e
|
||||
+}
|
||||
diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c
|
||||
new file mode 100644
|
||||
index 0000000..c0d80dd
|
||||
index 0000000..9881601
|
||||
--- /dev/null
|
||||
+++ b/libgloss/libsysbase/fstat.c
|
||||
@@ -0,0 +1,45 @@
|
||||
@@ -5787,7 +5794,7 @@ index 0000000..c0d80dd
|
||||
+#endif
|
||||
+ int ret = -1;
|
||||
+ unsigned int dev = 0;
|
||||
+ unsigned int fd = -1;
|
||||
+ int fd = -1;
|
||||
+
|
||||
+ __handle * handle = NULL;
|
||||
+
|
||||
@@ -6152,12 +6159,13 @@ index 0000000..9714c10
|
||||
+}
|
||||
diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c
|
||||
new file mode 100644
|
||||
index 0000000..ae816a8
|
||||
index 0000000..c08699d
|
||||
--- /dev/null
|
||||
+++ b/libgloss/libsysbase/iosupport.c
|
||||
@@ -0,0 +1,126 @@
|
||||
@@ -0,0 +1,133 @@
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include <ctype.h>
|
||||
+#include <sys/iosupport.h>
|
||||
+
|
||||
+static int defaultDevice = -1;
|
||||
@@ -6171,13 +6179,19 @@ index 0000000..ae816a8
|
||||
+}
|
||||
+
|
||||
+//---------------------------------------------------------------------------------
|
||||
+static ssize_t null_write(struct _reent *r,int fd,const char *ptr, size_t len) {
|
||||
+//---------------------------------------------------------------------------------
|
||||
+ return len;
|
||||
+}
|
||||
+
|
||||
+//---------------------------------------------------------------------------------
|
||||
+const devoptab_t dotab_stdnull = {
|
||||
+//---------------------------------------------------------------------------------
|
||||
+ "stdnull", // device name
|
||||
+ 0, // size of file structure
|
||||
+ NULL, // device open
|
||||
+ NULL, // device close
|
||||
+ NULL, // device write
|
||||
+ null_write, // device write
|
||||
+ NULL, // device read
|
||||
+ NULL, // device seek
|
||||
+ NULL, // device fstat
|
||||
@@ -6382,7 +6396,7 @@ index 0000000..c1698dd
|
||||
+
|
||||
diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c
|
||||
new file mode 100644
|
||||
index 0000000..aa232e0
|
||||
index 0000000..20a7da1
|
||||
--- /dev/null
|
||||
+++ b/libgloss/libsysbase/lseek.c
|
||||
@@ -0,0 +1,53 @@
|
||||
@@ -6417,7 +6431,7 @@ index 0000000..aa232e0
|
||||
+//---------------------------------------------------------------------------------
|
||||
+ _off_t ret = -1;
|
||||
+ unsigned int dev = 0;
|
||||
+ unsigned int fd = -1;
|
||||
+ int fd = -1;
|
||||
+
|
||||
+ __handle * handle;
|
||||
+
|
||||
@@ -6539,7 +6553,7 @@ index 0000000..7a3953c
|
||||
+}
|
||||
diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c
|
||||
new file mode 100644
|
||||
index 0000000..c7eaafe
|
||||
index 0000000..5fa5919
|
||||
--- /dev/null
|
||||
+++ b/libgloss/libsysbase/read.c
|
||||
@@ -0,0 +1,47 @@
|
||||
@@ -6570,7 +6584,7 @@ index 0000000..c7eaafe
|
||||
+#endif
|
||||
+ int ret = -1;
|
||||
+ unsigned int dev = 0;
|
||||
+ unsigned int fd = -1;
|
||||
+ int fd = -1;
|
||||
+
|
||||
+ __handle * handle = NULL;
|
||||
+
|
||||
@@ -7132,7 +7146,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..263eb69
|
||||
index 0000000..9422f52
|
||||
--- /dev/null
|
||||
+++ b/libgloss/libsysbase/write.c
|
||||
@@ -0,0 +1,46 @@
|
||||
@@ -7163,7 +7177,7 @@ index 0000000..263eb69
|
||||
+#endif
|
||||
+ int ret = -1;
|
||||
+ unsigned int dev = 0;
|
||||
+ unsigned int fd = -1;
|
||||
+ int fd = -1;
|
||||
+
|
||||
+ __handle * handle = NULL;
|
||||
+
|
||||
@@ -7183,7 +7197,7 @@ index 0000000..263eb69
|
||||
+ return ret;
|
||||
+}
|
||||
diff --git a/newlib/configure.host b/newlib/configure.host
|
||||
index c4773d9..4f1f5a2 100644
|
||||
index c4773d9..e55f330 100644
|
||||
--- a/newlib/configure.host
|
||||
+++ b/newlib/configure.host
|
||||
@@ -602,6 +602,14 @@ case "${host}" in
|
||||
@@ -7194,7 +7208,7 @@ index c4773d9..4f1f5a2 100644
|
||||
+ default_newlib_io_c99_formats="yes"
|
||||
+ default_newlib_io_long_long="yes"
|
||||
+ default_newlib_io_pos_args="yes"
|
||||
+ newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__"
|
||||
+ newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__ -DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__"
|
||||
+ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections"
|
||||
+ syscall_dir=syscalls
|
||||
+ ;;
|
||||
@@ -7290,10 +7304,10 @@ index a3fb5c0..1ead46b 100644
|
||||
+#endif // _dirent_h_
|
||||
diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h
|
||||
new file mode 100644
|
||||
index 0000000..1cd3b62
|
||||
index 0000000..2b5fc6e
|
||||
--- /dev/null
|
||||
+++ b/newlib/libc/include/sys/iosupport.h
|
||||
@@ -0,0 +1,107 @@
|
||||
@@ -0,0 +1,105 @@
|
||||
+//---------------------------------------------------------------------------------
|
||||
+#ifndef __iosupp_h__
|
||||
+#define __iosupp_h__
|
||||
@@ -7367,8 +7381,6 @@ index 0000000..1cd3b62
|
||||
+ void *(*sbrk_r) (struct _reent *ptr, ptrdiff_t incr);
|
||||
+ void (*exit) ( int rc );
|
||||
+ int (*gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz);
|
||||
+ void (*malloc_lock) (struct _reent *ptr);
|
||||
+ void (*malloc_unlock) (struct _reent *ptr);
|
||||
+ void (*lock_init) (_LOCK_T *lock);
|
||||
+ void (*lock_acquire) (_LOCK_T *lock);
|
||||
+ int (*lock_try_acquire) (_LOCK_T *lock);
|
||||
@@ -7444,10 +7456,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..8bc19ff 100644
|
||||
index ba9dbd6..51d99ec 100644
|
||||
--- a/newlib/libc/include/sys/syslimits.h
|
||||
+++ b/newlib/libc/include/sys/syslimits.h
|
||||
@@ -44,12 +44,12 @@
|
||||
@@ -44,7 +44,7 @@
|
||||
#define LINK_MAX 32767 /* max file link count */
|
||||
#define MAX_CANON 255 /* max bytes in term canon input line */
|
||||
#define MAX_INPUT 255 /* max bytes in terminal input */
|
||||
@@ -7456,12 +7468,6 @@ index ba9dbd6..8bc19ff 100644
|
||||
#define NGROUPS_MAX 16 /* max supplemental group id's */
|
||||
#ifndef OPEN_MAX
|
||||
#define OPEN_MAX 64 /* max open files per process */
|
||||
#endif
|
||||
-#define PATH_MAX 1024 /* max bytes in pathname */
|
||||
+#define PATH_MAX 4096 /* max bytes in pathname */
|
||||
#define PIPE_BUF 512 /* max bytes for atomic pipe writes */
|
||||
#define IOV_MAX 1024 /* max elements in i/o vector */
|
||||
|
||||
diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h
|
||||
index ed33e0a..79f73ac 100644
|
||||
--- a/newlib/libc/include/sys/types.h
|
||||
@@ -7725,8 +7731,80 @@ index 13e1e4c..ba71516 100644
|
||||
/* Cygwin starts up in UTF-8 mode. */
|
||||
= __utf8_wctomb;
|
||||
#else
|
||||
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
|
||||
--- /dev/null
|
||||
+++ b/newlib/libc/sys/arm/sys/lock.h
|
||||
@@ -0,0 +1,66 @@
|
||||
+#ifndef __SYS_LOCK_H__
|
||||
+#define __SYS_LOCK_H__
|
||||
+
|
||||
+#include <_ansi.h>
|
||||
+#include <stdint.h>
|
||||
+
|
||||
+typedef int32_t _LOCK_T;
|
||||
+
|
||||
+struct __lock_t {
|
||||
+ _LOCK_T lock;
|
||||
+ uint32_t thread_tag;
|
||||
+ uint32_t counter;
|
||||
+};
|
||||
+
|
||||
+typedef struct __lock_t _LOCK_RECURSIVE_T;
|
||||
+
|
||||
+extern void __libc_lock_init(_LOCK_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_recursive(_LOCK_RECURSIVE_T *lock);
|
||||
+extern void __libc_lock_acquire(_LOCK_T *lock);
|
||||
+extern void __libc_lock_acquire_recursive(_LOCK_RECURSIVE_T *lock);
|
||||
+extern void __libc_lock_release(_LOCK_T *lock);
|
||||
+extern void __libc_lock_release_recursive(_LOCK_RECURSIVE_T *lock);
|
||||
+
|
||||
+/* Returns 0 for success and non-zero for failure */
|
||||
+extern int __libc_lock_try_acquire(_LOCK_T *lock);
|
||||
+extern int __libc_lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock);
|
||||
+
|
||||
+#define __LOCK_INIT(CLASS,NAME) \
|
||||
+CLASS _LOCK_T NAME = 1;
|
||||
+
|
||||
+#define __LOCK_INIT_RECURSIVE(CLASS,NAME) \
|
||||
+CLASS _LOCK_RECURSIVE_T NAME = {1,0,0};
|
||||
+
|
||||
+#define __lock_init(NAME) \
|
||||
+ __libc_lock_init(&(NAME))
|
||||
+
|
||||
+#define __lock_init_recursive(NAME) \
|
||||
+ __libc_lock_init_recursive(&(NAME))
|
||||
+
|
||||
+#define __lock_close(NAME) \
|
||||
+ __libc_lock_close(&(NAME))
|
||||
+
|
||||
+#define __lock_close_recursive(NAME) \
|
||||
+ __libc_lock_close_recursive(&(NAME))
|
||||
+
|
||||
+#define __lock_acquire(NAME) \
|
||||
+ __libc_lock_acquire(&(NAME))
|
||||
+
|
||||
+#define __lock_acquire_recursive(NAME) \
|
||||
+ __libc_lock_acquire_recursive(&(NAME))
|
||||
+
|
||||
+#define __lock_try_acquire(NAME) \
|
||||
+ __libc_lock_try_acquire(&(NAME))
|
||||
+
|
||||
+#define __lock_try_acquire_recursive(NAME) \
|
||||
+ __libc_lock_try_acquire_recursive(&(NAME))
|
||||
+
|
||||
+#define __lock_release(NAME) \
|
||||
+ __libc_lock_release(&(NAME))
|
||||
+
|
||||
+#define __lock_release_recursive(NAME) \
|
||||
+ __libc_lock_release_recursive(&(NAME))
|
||||
+
|
||||
+#endif // __SYS_LOCK_H__
|
||||
diff --git a/newlib/libc/sys/arm/sys/param.h b/newlib/libc/sys/arm/sys/param.h
|
||||
index adc066e..4bf7ad5 100644
|
||||
index adc066e..836f80f 100644
|
||||
--- a/newlib/libc/sys/arm/sys/param.h
|
||||
+++ b/newlib/libc/sys/arm/sys/param.h
|
||||
@@ -3,10 +3,17 @@
|
||||
@@ -7739,13 +7817,12 @@ index adc066e..4bf7ad5 100644
|
||||
+#endif
|
||||
+#ifndef NOFILE
|
||||
# define NOFILE (60)
|
||||
-# define PATHSIZE (1024)
|
||||
+#endif
|
||||
+#ifndef PATHSIZE
|
||||
+# define PATHSIZE (4096)
|
||||
# define PATHSIZE (1024)
|
||||
+#endif
|
||||
|
||||
+#define MAXPATHLEN 4096
|
||||
+#define MAXPATHLEN PATHSIZE
|
||||
#define BIG_ENDIAN 4321
|
||||
#define LITTLE_ENDIAN 1234
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ include $(DEVKITARM)/base_rules
|
||||
|
||||
PORTLIBS := $(PORTLIBS_PATH)/armv6k $(PORTLIBS_PATH)/3ds
|
||||
|
||||
CTRULIB := $(DEVKITPRO)/libctru
|
||||
CTRULIB ?= $(DEVKITPRO)/libctru
|
||||
|
||||
ifeq ($(strip $(APP_TITLE)),)
|
||||
APP_TITLE := $(notdir $(OUTPUT))
|
||||
|
||||
@@ -20,10 +20,11 @@ PREFIX := arm-none-eabi-
|
||||
export CC := $(PREFIX)gcc
|
||||
export CXX := $(PREFIX)g++
|
||||
export AS := $(PREFIX)as
|
||||
export AR := $(PREFIX)ar
|
||||
export AR := $(PREFIX)gcc-ar
|
||||
export OBJCOPY := $(PREFIX)objcopy
|
||||
export STRIP := $(PREFIX)strip
|
||||
export NM := $(PREFIX)nm
|
||||
export NM := $(PREFIX)gcc-nm
|
||||
export RANLIB := $(PREFIX)gcc-ranlib
|
||||
|
||||
ISVC=$(or $(VCBUILDHELPER_COMMAND),$(MSBUILDEXTENSIONSPATH32),$(MSBUILDEXTENSIONSPATH))
|
||||
|
||||
|
||||
@@ -43,6 +43,8 @@ then
|
||||
--enable-languages=c,c++,objc,obj-c++ \
|
||||
--with-gnu-as --with-gnu-ld --with-gcc \
|
||||
--with-march=armv4t\
|
||||
--enable-cxx-flags='-ffunction-sections' \
|
||||
--disable-libstdcxx-verbose \
|
||||
--enable-poison-system-directories \
|
||||
--enable-interwork --enable-multilib \
|
||||
--disable-dependency-tracking \
|
||||
@@ -54,7 +56,7 @@ then
|
||||
--with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \
|
||||
--prefix=$prefix \
|
||||
--enable-lto $plugin_ld\
|
||||
--with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 44" \
|
||||
--with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 45" \
|
||||
$CROSS_PARAMS \
|
||||
|| { echo "Error configuring gcc"; exit 1; }
|
||||
touch configured-gcc
|
||||
|
||||
@@ -30,10 +30,10 @@ done
|
||||
|
||||
case "$VERSION" in
|
||||
"1" )
|
||||
GCC_VER=4.9.2
|
||||
BINUTILS_VER=2.25
|
||||
GCC_VER=5.3.0
|
||||
BINUTILS_VER=2.25.1
|
||||
NEWLIB_VER=2.2.0
|
||||
GDB_VER=7.8.2
|
||||
GDB_VER=7.10
|
||||
basedir='dkarm-eabi'
|
||||
package=devkitARM
|
||||
target=arm-none-eabi
|
||||
|
||||
Reference in New Issue
Block a user