mirror of
https://github.com/devkitPro/buildscripts.git
synced 2026-08-21 01:44:16 -05:00
Compare commits
12 Commits
v20181114
...
devkitPPC_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d2614153c5 | ||
|
|
37b381ea1f | ||
|
|
a6c67408af | ||
|
|
bd5c0ba3ec | ||
|
|
41b418fd8c | ||
|
|
8421d92bcb | ||
|
|
20dc1324d4 | ||
|
|
118896fb1a | ||
|
|
ab95988007 | ||
|
|
596d710c3b | ||
|
|
f0463ecba1 | ||
|
|
0bbc2be394 |
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# devkitARM release 49
|
# devkitARM release 50
|
||||||
# devkitPPC release 33
|
# devkitPPC release 33
|
||||||
# devkitA64 release 12
|
# devkitA64 release 12
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
@@ -46,8 +46,9 @@ DFU_UTIL_VER=0.9.1
|
|||||||
STLINK_VER=1.2.3
|
STLINK_VER=1.2.3
|
||||||
|
|
||||||
GAMECUBE_TOOLS_VER=1.0.2
|
GAMECUBE_TOOLS_VER=1.0.2
|
||||||
LIBOGC_VER=1.8.20
|
LIBOGC_VER=1.8.21
|
||||||
WIILOAD_VER=0.5.1
|
WIILOAD_VER=0.5.1
|
||||||
|
DKPPC_RULES_VER=1.0.0
|
||||||
|
|
||||||
LIBCTRU_VER=1.5.0
|
LIBCTRU_VER=1.5.0
|
||||||
CITRO3D_VER=1.4.0
|
CITRO3D_VER=1.4.0
|
||||||
@@ -154,11 +155,13 @@ export MAKE
|
|||||||
TOOLPATH=$(echo $INSTALLDIR | sed -e 's/^\([a-zA-Z]\):/\/\1/')
|
TOOLPATH=$(echo $INSTALLDIR | sed -e 's/^\([a-zA-Z]\):/\/\1/')
|
||||||
export PATH=$PATH:$TOOLPATH/$package/bin
|
export PATH=$PATH:$TOOLPATH/$package/bin
|
||||||
|
|
||||||
|
CROSS_PARAMS="--build=`./config.guess`"
|
||||||
|
|
||||||
if [ ! -z $CROSSBUILD ]; then
|
if [ ! -z $CROSSBUILD ]; then
|
||||||
toolsprefix=$INSTALLDIR/$CROSSBUILD/tools
|
toolsprefix=$INSTALLDIR/$CROSSBUILD/tools
|
||||||
prefix=$INSTALLDIR/$CROSSBUILD/$package
|
prefix=$INSTALLDIR/$CROSSBUILD/$package
|
||||||
toolsprefix=$INSTALLDIR/$CROSSBUILD/tools
|
toolsprefix=$INSTALLDIR/$CROSSBUILD/tools
|
||||||
CROSS_PARAMS="--build=`./config.guess` --host=$CROSSBUILD"
|
CROSS_PARAMS="$CROSS_PARAMS --host=$CROSSBUILD"
|
||||||
CROSS_GCC_PARAMS="--with-gmp=$CROSSPATH --with-mpfr=$CROSSPATH --with-mpc=$CROSSPATH"
|
CROSS_GCC_PARAMS="--with-gmp=$CROSSPATH --with-mpfr=$CROSSPATH --with-mpc=$CROSSPATH"
|
||||||
else
|
else
|
||||||
toolsprefix=$INSTALLDIR/tools
|
toolsprefix=$INSTALLDIR/tools
|
||||||
@@ -232,7 +235,7 @@ if [ $VERSION -eq 2 ]; then
|
|||||||
|
|
||||||
hostarchives="gamecube-tools-$GAMECUBE_TOOLS_VER.tar.bz2 wiiload-$WIILOAD_VER.tar.bz2 general-tools-$GENERAL_TOOLS_VER.tar.bz2"
|
hostarchives="gamecube-tools-$GAMECUBE_TOOLS_VER.tar.bz2 wiiload-$WIILOAD_VER.tar.bz2 general-tools-$GENERAL_TOOLS_VER.tar.bz2"
|
||||||
|
|
||||||
archives="binutils-${MN_BINUTILS_VER}.tar.bz2 $archives"
|
archives="binutils-${MN_BINUTILS_VER}.tar.bz2 devkitppc-rules-$DKPPC_RULES_VER.tar.xz $archives"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $VERSION -eq 3 ]; then
|
if [ $VERSION -eq 3 ]; then
|
||||||
@@ -303,6 +306,8 @@ if [ "$BUILD_DKPRO_SKIP_LIBRARIES" != "1" ] && [ -f $scriptdir/build-libs.sh ];
|
|||||||
. $scriptdir/build-libs.sh || { echo "Error building libraries"; exit 1; }; cd $BUILDSCRIPTDIR;
|
. $scriptdir/build-libs.sh || { echo "Error building libraries"; exit 1; }; cd $BUILDSCRIPTDIR;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
cd $BUILDSCRIPTDIR
|
||||||
|
|
||||||
if [ ! -z $CROSSBUILD ] && grep -q "mingw" <<<"$CROSSBUILD" ; then
|
if [ ! -z $CROSSBUILD ] && grep -q "mingw" <<<"$CROSSBUILD" ; then
|
||||||
cp -v $CROSSBINPATH//libwinpthread-1.dll $prefix/bin
|
cp -v $CROSSBINPATH//libwinpthread-1.dll $prefix/bin
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
export CROSSBUILD=i686-w64-mingw32
|
export CROSSBUILD=i686-w64-mingw32
|
||||||
export CROSSLIBPATH=/opt/mingw32/mingw/lib
|
export CROSSPATH=/opt/mingw32/mingw
|
||||||
export CROSSBINPATH=/opt/mingw32/mingw/bin
|
export CROSSLIBPATH=$CROSSPATH/lib
|
||||||
|
export CROSSBINPATH=$CROSSPATH/bin
|
||||||
export PATH=/opt/mingw32/bin:$PATH
|
export PATH=/opt/mingw32/bin:$PATH
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
diff -NBaur gcc-8.1.0/gcc/config/arm/arm-cpus.in gcc-8.1.0-arm/gcc/config/arm/arm-cpus.in
|
diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in
|
||||||
--- gcc-8.1.0/gcc/config/arm/arm-cpus.in 2018-01-11 15:21:26.000000000 +0000
|
index 545321b0bbe..63ed77af8fd 100644
|
||||||
+++ gcc-8.1.0-arm/gcc/config/arm/arm-cpus.in 2018-05-11 01:05:33.648236777 +0000
|
--- a/gcc/config/arm/arm-cpus.in
|
||||||
@@ -393,7 +393,7 @@
|
+++ b/gcc/config/arm/arm-cpus.in
|
||||||
|
@@ -395,7 +395,7 @@ begin arch armv6k
|
||||||
tune for mpcore
|
tune for mpcore
|
||||||
tune flags CO_PROC
|
tune flags CO_PROC
|
||||||
base 6K
|
base 6K
|
||||||
@@ -10,9 +11,10 @@ diff -NBaur gcc-8.1.0/gcc/config/arm/arm-cpus.in gcc-8.1.0-arm/gcc/config/arm/ar
|
|||||||
option fp add VFPv2 FP_DBL
|
option fp add VFPv2 FP_DBL
|
||||||
optalias vfpv2 fp
|
optalias vfpv2 fp
|
||||||
option nofp remove ALL_FP
|
option nofp remove ALL_FP
|
||||||
diff -NBaur gcc-8.1.0/gcc/config/arm/t-arm-elf gcc-8.1.0-arm/gcc/config/arm/t-arm-elf
|
diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf
|
||||||
--- gcc-8.1.0/gcc/config/arm/t-arm-elf 2018-01-11 15:21:26.000000000 +0000
|
index 9ec5bf065ac..9ab3ffb109d 100644
|
||||||
+++ gcc-8.1.0-arm/gcc/config/arm/t-arm-elf 2018-05-10 23:15:13.124566279 +0000
|
--- a/gcc/config/arm/t-arm-elf
|
||||||
|
+++ b/gcc/config/arm/t-arm-elf
|
||||||
@@ -1,4 +1,4 @@
|
@@ -1,4 +1,4 @@
|
||||||
-# Copyright (C) 1998-2018 Free Software Foundation, Inc.
|
-# Copyright (C) 1998-2018 Free Software Foundation, Inc.
|
||||||
+# Copyright (C) 1998-2017 Free Software Foundation, Inc.
|
+# Copyright (C) 1998-2017 Free Software Foundation, Inc.
|
||||||
@@ -105,25 +107,22 @@ diff -NBaur gcc-8.1.0/gcc/config/arm/t-arm-elf gcc-8.1.0-arm/gcc/config/arm/t-ar
|
|||||||
-
|
-
|
||||||
-MULTILIB_MATCHES += $(foreach FPARCH, $(v7a_fps), \
|
-MULTILIB_MATCHES += $(foreach FPARCH, $(v7a_fps), \
|
||||||
- march?armv7+fp=march?armv7-a+$(FPARCH))
|
- march?armv7+fp=march?armv7-a+$(FPARCH))
|
||||||
|
-
|
||||||
-MULTILIB_MATCHES += $(foreach FPARCH, $(v7ve_fps), \
|
-MULTILIB_MATCHES += $(foreach FPARCH, $(v7ve_fps), \
|
||||||
- march?armv7+fp=march?armv7ve+$(FPARCH))
|
- march?armv7+fp=march?armv7ve+$(FPARCH))
|
||||||
+MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard
|
-
|
||||||
|
|
||||||
-MULTILIB_MATCHES += $(foreach ARCH, $(all_v7_a_r), \
|
-MULTILIB_MATCHES += $(foreach ARCH, $(all_v7_a_r), \
|
||||||
- march?armv7+fp=march?$(ARCH) \
|
- march?armv7+fp=march?$(ARCH) \
|
||||||
- march?armv7+fp=march?$(ARCH)+fp)
|
- march?armv7+fp=march?$(ARCH)+fp)
|
||||||
|
-
|
||||||
-MULTILIB_MATCHES += $(foreach ARCH, $(all_v8_archs), \
|
-MULTILIB_MATCHES += $(foreach ARCH, $(all_v8_archs), \
|
||||||
- march?armv7+fp=march?$(ARCH) \
|
- march?armv7+fp=march?$(ARCH) \
|
||||||
- $(foreach FPARCH, $(v8_fps), \
|
- $(foreach FPARCH, $(v8_fps), \
|
||||||
- march?armv7+fp=march?$(ARCH)+$(FPARCH)))
|
- march?armv7+fp=march?$(ARCH)+$(FPARCH)))
|
||||||
+MULTILIB_MATCHES += march?armv6k=mtune?mpcore
|
-
|
||||||
+MULTILIB_MATCHES += march?armv6k=mcpu?mpcore
|
|
||||||
|
|
||||||
-MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \
|
-MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \
|
||||||
- march?armv7+fp=march?$(ARCH)+fp.dp)
|
- march?armv7+fp=march?$(ARCH)+fp.dp)
|
||||||
|
-
|
||||||
-# PART 4 - Reuse rules
|
-# PART 4 - Reuse rules
|
||||||
|
|
||||||
-MULTILIB_REUSE += mthumb=mthumb/mfpu.auto
|
-MULTILIB_REUSE += mthumb=mthumb/mfpu.auto
|
||||||
@@ -135,6 +134,14 @@ diff -NBaur gcc-8.1.0/gcc/config/arm/t-arm-elf gcc-8.1.0-arm/gcc/config/arm/t-ar
|
|||||||
-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mthumb/march.armv7+fp/mfloat-abi.hard
|
-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mthumb/march.armv7+fp/mfloat-abi.hard
|
||||||
-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard
|
-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=mfpu.auto/march.armv7+fp/mfloat-abi.hard
|
||||||
-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard
|
-MULTILIB_REUSE += mthumb/mfpu.auto/march.armv7+fp/mfloat-abi.hard=march.armv7+fp/mfloat-abi.hard
|
||||||
|
+MULTILIB_REQUIRED = mthumb mbig-endian mthumb/mbig-endian march=armv6k/mfloat-abi=hard
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+MULTILIB_MATCHES += march?armv6k=mtune?mpcore
|
||||||
|
+MULTILIB_MATCHES += march?armv6k=mcpu?mpcore
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+
|
||||||
+#MULTILIB_OPTIONS += mcpu=fa526/mcpu=fa626/mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te
|
+#MULTILIB_OPTIONS += mcpu=fa526/mcpu=fa626/mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te
|
||||||
+#MULTILIB_DIRNAMES += fa526 fa626 fa606te fa626te fmp626 fa726te
|
+#MULTILIB_DIRNAMES += fa526 fa626 fa606te fa626te fmp626 fa726te
|
||||||
+#MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=fa526 *mthumb*/*mcpu=fa626
|
+#MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=fa526 *mthumb*/*mcpu=fa626
|
||||||
@@ -202,9 +209,10 @@ diff -NBaur gcc-8.1.0/gcc/config/arm/t-arm-elf gcc-8.1.0-arm/gcc/config/arm/t-ar
|
|||||||
+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm600
|
+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm600
|
||||||
+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm610
|
+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm610
|
||||||
+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm620
|
+# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm620
|
||||||
diff -NBaur gcc-8.1.0/gcc/config/arm/unknown-elf.h gcc-8.1.0-arm/gcc/config/arm/unknown-elf.h
|
diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h
|
||||||
--- gcc-8.1.0/gcc/config/arm/unknown-elf.h 2018-01-03 10:03:58.000000000 +0000
|
index 12dd0931b08..59584fe64bc 100644
|
||||||
+++ gcc-8.1.0-arm/gcc/config/arm/unknown-elf.h 2018-05-10 23:01:02.432676190 +0000
|
--- a/gcc/config/arm/unknown-elf.h
|
||||||
|
+++ b/gcc/config/arm/unknown-elf.h
|
||||||
@@ -29,7 +29,7 @@
|
@@ -29,7 +29,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -225,10 +233,11 @@ diff -NBaur gcc-8.1.0/gcc/config/arm/unknown-elf.h gcc-8.1.0-arm/gcc/config/arm/
|
|||||||
+#undef NO_IMPLICIT_EXTERN_C
|
+#undef NO_IMPLICIT_EXTERN_C
|
||||||
+#define NO_IMPLICIT_EXTERN_C
|
+#define NO_IMPLICIT_EXTERN_C
|
||||||
+
|
+
|
||||||
diff -NBaur gcc-8.1.0/gcc/gcc.c gcc-8.1.0-arm/gcc/gcc.c
|
diff --git a/gcc/gcc.c b/gcc/gcc.c
|
||||||
--- gcc-8.1.0/gcc/gcc.c 2018-02-09 06:44:06.000000000 +0000
|
index a716f708259..6a11011dba7 100644
|
||||||
+++ gcc-8.1.0-arm/gcc/gcc.c 2018-05-10 23:01:02.440676328 +0000
|
--- a/gcc/gcc.c
|
||||||
@@ -786,6 +786,11 @@
|
+++ b/gcc/gcc.c
|
||||||
|
@@ -786,6 +786,11 @@ proper position among the other output files. */
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -240,7 +249,7 @@ diff -NBaur gcc-8.1.0/gcc/gcc.c gcc-8.1.0-arm/gcc/gcc.c
|
|||||||
/* 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 @@
|
@@ -1081,6 +1086,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;
|
||||||
@@ -248,7 +257,7 @@ diff -NBaur gcc-8.1.0/gcc/gcc.c gcc-8.1.0-arm/gcc/gcc.c
|
|||||||
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 @@
|
@@ -1577,6 +1583,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),
|
||||||
@@ -256,19 +265,21 @@ diff -NBaur gcc-8.1.0/gcc/gcc.c gcc-8.1.0-arm/gcc/gcc.c
|
|||||||
INIT_STATIC_SPEC ("startfile", &startfile_spec),
|
INIT_STATIC_SPEC ("startfile", &startfile_spec),
|
||||||
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 -NBaur gcc-8.1.0/libgcc/config/arm/t-bpabi gcc-8.1.0-arm/libgcc/config/arm/t-bpabi
|
diff --git a/libgcc/config/arm/t-bpabi b/libgcc/config/arm/t-bpabi
|
||||||
--- gcc-8.1.0/libgcc/config/arm/t-bpabi 2012-08-17 15:06:06.000000000 +0000
|
index dddddc7c444..c2502597953 100644
|
||||||
+++ gcc-8.1.0-arm/libgcc/config/arm/t-bpabi 2018-05-10 23:01:02.440676328 +0000
|
--- a/libgcc/config/arm/t-bpabi
|
||||||
@@ -17,4 +17,4 @@
|
+++ b/libgcc/config/arm/t-bpabi
|
||||||
|
@@ -17,4 +17,4 @@ SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver
|
||||||
# On ARM, specifying -fnon-call-exceptions will needlessly pull in
|
# On ARM, specifying -fnon-call-exceptions will needlessly pull in
|
||||||
# the unwinder in simple programs which use 64-bit division. Omitting
|
# the unwinder in simple programs which use 64-bit division. Omitting
|
||||||
# the option is safe.
|
# the option is safe.
|
||||||
-LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions
|
-LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions
|
||||||
+LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions
|
+LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions
|
||||||
diff -NBaur gcc-8.1.0/libgcc/crtstuff.c gcc-8.1.0-arm/libgcc/crtstuff.c
|
diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c
|
||||||
--- gcc-8.1.0/libgcc/crtstuff.c 2018-01-03 10:03:58.000000000 +0000
|
index 5e894455e16..f81c9c6a64c 100644
|
||||||
+++ gcc-8.1.0-arm/libgcc/crtstuff.c 2018-05-10 23:01:02.440676328 +0000
|
--- a/libgcc/crtstuff.c
|
||||||
@@ -47,7 +47,7 @@
|
+++ b/libgcc/crtstuff.c
|
||||||
|
@@ -47,7 +47,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
|
||||||
/* Target machine header files require this define. */
|
/* Target machine header files require this define. */
|
||||||
#define IN_LIBGCC2
|
#define IN_LIBGCC2
|
||||||
@@ -277,15 +288,3 @@ diff -NBaur gcc-8.1.0/libgcc/crtstuff.c gcc-8.1.0-arm/libgcc/crtstuff.c
|
|||||||
/* 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,
|
||||||
this will have to do. */
|
this will have to do. */
|
||||||
diff -NBaur gcc-8.1.0/libgcc/Makefile.in gcc-8.1.0-arm/libgcc/Makefile.in
|
|
||||||
--- gcc-8.1.0/libgcc/Makefile.in 2018-01-03 10:03:58.000000000 +0000
|
|
||||||
+++ gcc-8.1.0-arm/libgcc/Makefile.in 2018-05-10 23:01:02.440676328 +0000
|
|
||||||
@@ -847,7 +847,7 @@
|
|
||||||
# libgcc_eh.a, only LIB2ADDEH matters. If we do, only LIB2ADDEHSTATIC and
|
|
||||||
# LIB2ADDEHSHARED matter. (Usually all three are identical.)
|
|
||||||
|
|
||||||
-c_flags := -fexceptions
|
|
||||||
+c_flags := -fno-exceptions
|
|
||||||
|
|
||||||
ifeq ($(enable_shared),yes)
|
|
||||||
|
|
||||||
@@ -1,29 +1,7 @@
|
|||||||
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
|
diff -NBaur gdb-8.2/gdb/arm-3ds-tdep.c gdb-8.2-3ds/gdb/arm-3ds-tdep.c
|
||||||
index 1d2dbaf3f7..2d24f09c1b 100644
|
--- gdb-8.2/gdb/arm-3ds-tdep.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
--- a/gdb/Makefile.in
|
+++ gdb-8.2-3ds/gdb/arm-3ds-tdep.c 2018-11-15 22:55:21.916968907 +0000
|
||||||
+++ b/gdb/Makefile.in
|
@@ -0,0 +1,157 @@
|
||||||
@@ -779,6 +779,7 @@ ALL_64_TARGET_OBS = \
|
|
||||||
ALL_TARGET_OBS = \
|
|
||||||
arc-tdep.o \
|
|
||||||
arm.o \
|
|
||||||
+ arm-3ds-tdep.o \
|
|
||||||
arm-bsd-tdep.o \
|
|
||||||
arm-get-next-pcs.o \
|
|
||||||
arm-linux.o \
|
|
||||||
@@ -2487,6 +2488,7 @@ ALLDEPFILES = \
|
|
||||||
amd64-tdep.c \
|
|
||||||
arc-tdep.c \
|
|
||||||
arm.c \
|
|
||||||
+ arm-3ds-tdep.c \
|
|
||||||
arm-bsd-tdep.c \
|
|
||||||
arm-get-next-pcs.c \
|
|
||||||
arm-linux.c \
|
|
||||||
diff --git a/gdb/arm-3ds-tdep.c b/gdb/arm-3ds-tdep.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000..ad014e28db
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/gdb/arm-3ds-tdep.c
|
|
||||||
@@ -0,0 +1,197 @@
|
|
||||||
+/* Target-dependent code for 3DS. */
|
+/* Target-dependent code for 3DS. */
|
||||||
+
|
+
|
||||||
+/* This uses code from GDB, which license is: */
|
+/* This uses code from GDB, which license is: */
|
||||||
@@ -95,48 +73,11 @@ index 0000000000..ad014e28db
|
|||||||
+ return next_pc;
|
+ return next_pc;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+static VEC (CORE_ADDR) *
|
|
||||||
+arm_3ds_software_single_step (struct regcache *regcache)
|
|
||||||
+{
|
|
||||||
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
|
||||||
+ struct arm_get_next_pcs next_pcs_ctx;
|
|
||||||
+ CORE_ADDR pc;
|
|
||||||
+ int i;
|
|
||||||
+ VEC (CORE_ADDR) *next_pcs = NULL;
|
|
||||||
+ struct cleanup *old_chain;
|
|
||||||
+
|
|
||||||
+ /* If the target does have hardware single step, GDB doesn't have
|
|
||||||
+ to bother software single step. */
|
|
||||||
+ if (target_can_do_single_step () == 1)
|
|
||||||
+ return NULL;
|
|
||||||
+
|
|
||||||
+ old_chain = make_cleanup (VEC_cleanup (CORE_ADDR), &next_pcs);
|
|
||||||
+
|
|
||||||
+ arm_get_next_pcs_ctor (&next_pcs_ctx,
|
|
||||||
+ &arm_3ds_get_next_pcs_ops,
|
|
||||||
+ gdbarch_byte_order (gdbarch),
|
|
||||||
+ gdbarch_byte_order_for_code (gdbarch),
|
|
||||||
+ 1,
|
|
||||||
+ regcache);
|
|
||||||
+
|
|
||||||
+ next_pcs = arm_get_next_pcs (&next_pcs_ctx);
|
|
||||||
+
|
|
||||||
+ for (i = 0; VEC_iterate (CORE_ADDR, next_pcs, i, pc); i++)
|
|
||||||
+ {
|
|
||||||
+ pc = gdbarch_addr_bits_remove (gdbarch, pc);
|
|
||||||
+ VEC_replace (CORE_ADDR, next_pcs, i, pc);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ discard_cleanups (old_chain);
|
|
||||||
+
|
|
||||||
+ return next_pcs;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static LONGEST
|
+static LONGEST
|
||||||
+arm_3ds_get_syscall_number (struct gdbarch *gdbarch,
|
+arm_3ds_get_syscall_number (struct gdbarch *gdbarch,
|
||||||
+ ptid_t ptid)
|
+ thread_info *thread)
|
||||||
+{
|
+{
|
||||||
+ struct regcache *regs = get_thread_regcache (ptid);
|
+ struct regcache *regs = get_thread_regcache (thread);
|
||||||
+
|
+
|
||||||
+ ULONGEST pc;
|
+ ULONGEST pc;
|
||||||
+ ULONGEST cpsr;
|
+ ULONGEST cpsr;
|
||||||
@@ -205,42 +146,35 @@ index 0000000000..ad014e28db
|
|||||||
+ tdep->fp_model = ARM_FLOAT_VFP;
|
+ tdep->fp_model = ARM_FLOAT_VFP;
|
||||||
+
|
+
|
||||||
+ /* Single stepping. */
|
+ /* Single stepping. */
|
||||||
+ set_gdbarch_software_single_step (gdbarch, arm_3ds_software_single_step);
|
+ set_gdbarch_software_single_step (gdbarch, arm_software_single_step);
|
||||||
+
|
+
|
||||||
+ /* `catch syscall' */
|
+ /* `catch syscall' */
|
||||||
+ set_xml_syscall_file_name (gdbarch, "syscalls/arm-3ds.xml");
|
+ set_xml_syscall_file_name (gdbarch, "syscalls/arm-3ds.xml");
|
||||||
+ set_gdbarch_get_syscall_number (gdbarch, arm_3ds_get_syscall_number);
|
+ set_gdbarch_get_syscall_number (gdbarch, arm_3ds_get_syscall_number);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+/* Provide a prototype to silence -Wmissing-prototypes. */
|
|
||||||
+extern initialize_file_ftype _initialize_arm_3ds_tdep;
|
|
||||||
+
|
|
||||||
+void
|
+void
|
||||||
+_initialize_arm_3ds_tdep (void)
|
+_initialize_arm_3ds_tdep (void)
|
||||||
+{
|
+{
|
||||||
+ gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_3DS,
|
+ gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_3DS,
|
||||||
+ arm_3ds_init_abi);
|
+ arm_3ds_init_abi);
|
||||||
+}
|
+}
|
||||||
diff --git a/gdb/configure.tgt b/gdb/configure.tgt
|
diff -NBaur gdb-8.2/gdb/configure.tgt gdb-8.2-3ds/gdb/configure.tgt
|
||||||
index fdcb7b1d69..d8fd1622b8 100644
|
--- gdb-8.2/gdb/configure.tgt 2018-09-05 08:44:28.000000000 +0100
|
||||||
--- a/gdb/configure.tgt
|
+++ gdb-8.2-3ds/gdb/configure.tgt 2018-11-15 22:47:17.337689978 +0000
|
||||||
+++ b/gdb/configure.tgt
|
@@ -61,7 +61,7 @@
|
||||||
@@ -119,8 +119,8 @@ arm*-*-symbianelf*)
|
|
||||||
gdb_target_obs="arm.o arm-get-next-pcs.o arm-tdep.o arm-symbian-tdep.o"
|
|
||||||
;;
|
|
||||||
arm*-*-*)
|
|
||||||
- # Target: ARM embedded system
|
|
||||||
- gdb_target_obs="arm.o arm-get-next-pcs.o arm-tdep.o"
|
|
||||||
+ # Target: ARM embedded system (+ 3DS)
|
|
||||||
+ gdb_target_obs="arm.o arm-get-next-pcs.o arm-tdep.o arm-3ds-tdep.o"
|
|
||||||
gdb_sim=../sim/arm/libsim.a
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
|
arm*-*-*)
|
||||||
index 304d4b05c0..2cf8986d3a 100644
|
- cpu_obs="arch/arm.o arch/arm-get-next-pcs.o arm-tdep.o";;
|
||||||
--- a/gdb/data-directory/Makefile.in
|
+ cpu_obs="arch/arm.o arch/arm-get-next-pcs.o arm-tdep.o arm-3ds-tdep.o";;
|
||||||
+++ b/gdb/data-directory/Makefile.in
|
|
||||||
@@ -63,7 +63,7 @@ GEN_SYSCALLS_FILES = \
|
hppa*-*-*)
|
||||||
|
# Target: HP PA-RISC
|
||||||
|
diff -NBaur gdb-8.2/gdb/data-directory/Makefile.in gdb-8.2-3ds/gdb/data-directory/Makefile.in
|
||||||
|
--- gdb-8.2/gdb/data-directory/Makefile.in 2018-01-05 04:07:23.000000000 +0000
|
||||||
|
+++ gdb-8.2-3ds/gdb/data-directory/Makefile.in 2018-11-15 22:42:36.840956065 +0000
|
||||||
|
@@ -63,7 +63,7 @@
|
||||||
sparc-linux.xml \
|
sparc-linux.xml \
|
||||||
sparc64-linux.xml
|
sparc64-linux.xml
|
||||||
|
|
||||||
@@ -249,11 +183,10 @@ index 304d4b05c0..2cf8986d3a 100644
|
|||||||
|
|
||||||
PYTHON_DIR = python
|
PYTHON_DIR = python
|
||||||
PYTHON_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(PYTHON_DIR)
|
PYTHON_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(PYTHON_DIR)
|
||||||
diff --git a/gdb/defs.h b/gdb/defs.h
|
diff -NBaur gdb-8.2/gdb/defs.h gdb-8.2-3ds/gdb/defs.h
|
||||||
index a0b586f401..a1508fd5b3 100644
|
--- gdb-8.2/gdb/defs.h 2018-09-05 08:27:32.000000000 +0100
|
||||||
--- a/gdb/defs.h
|
+++ gdb-8.2-3ds/gdb/defs.h 2018-11-15 22:42:36.840956065 +0000
|
||||||
+++ b/gdb/defs.h
|
@@ -495,6 +495,7 @@
|
||||||
@@ -604,6 +604,7 @@ enum gdb_osabi
|
|
||||||
GDB_OSABI_LYNXOS178,
|
GDB_OSABI_LYNXOS178,
|
||||||
GDB_OSABI_NEWLIB,
|
GDB_OSABI_NEWLIB,
|
||||||
GDB_OSABI_SDE,
|
GDB_OSABI_SDE,
|
||||||
@@ -261,11 +194,29 @@ index a0b586f401..a1508fd5b3 100644
|
|||||||
|
|
||||||
GDB_OSABI_INVALID /* keep this last */
|
GDB_OSABI_INVALID /* keep this last */
|
||||||
};
|
};
|
||||||
diff --git a/gdb/osabi.c b/gdb/osabi.c
|
diff -NBaur gdb-8.2/gdb/Makefile.in gdb-8.2-3ds/gdb/Makefile.in
|
||||||
index 84fa9c0273..c1c4bb1672 100644
|
--- gdb-8.2/gdb/Makefile.in 2018-09-05 08:44:28.000000000 +0100
|
||||||
--- a/gdb/osabi.c
|
+++ gdb-8.2-3ds/gdb/Makefile.in 2018-11-15 22:45:01.628931262 +0000
|
||||||
+++ b/gdb/osabi.c
|
@@ -684,6 +684,7 @@
|
||||||
@@ -79,6 +79,7 @@ static const struct osabi_names gdb_osabi_names[] =
|
arch/arm-linux.o \
|
||||||
|
arch/i386.o \
|
||||||
|
arch/ppc-linux-common.o \
|
||||||
|
+ arm-3ds-tdep.o \
|
||||||
|
arm-bsd-tdep.o \
|
||||||
|
arm-fbsd-tdep.o \
|
||||||
|
arm-linux-tdep.o \
|
||||||
|
@@ -2213,6 +2214,7 @@
|
||||||
|
amd64-tdep.c \
|
||||||
|
arc-tdep.c \
|
||||||
|
arm.c \
|
||||||
|
+ arm-3ds-tdep.c \
|
||||||
|
arm-bsd-tdep.c \
|
||||||
|
arm-fbsd-nat.c \
|
||||||
|
arm-fbsd-tdep.c \
|
||||||
|
diff -NBaur gdb-8.2/gdb/osabi.c gdb-8.2-3ds/gdb/osabi.c
|
||||||
|
--- gdb-8.2/gdb/osabi.c 2018-09-05 08:27:13.000000000 +0100
|
||||||
|
+++ gdb-8.2-3ds/gdb/osabi.c 2018-11-15 22:42:36.840956065 +0000
|
||||||
|
@@ -80,6 +80,7 @@
|
||||||
{ "LynxOS178", NULL },
|
{ "LynxOS178", NULL },
|
||||||
{ "Newlib", NULL },
|
{ "Newlib", NULL },
|
||||||
{ "SDE", NULL },
|
{ "SDE", NULL },
|
||||||
@@ -273,11 +224,9 @@ index 84fa9c0273..c1c4bb1672 100644
|
|||||||
|
|
||||||
{ "<invalid>", NULL }
|
{ "<invalid>", NULL }
|
||||||
};
|
};
|
||||||
diff --git a/gdb/syscalls/arm-3ds.xml b/gdb/syscalls/arm-3ds.xml
|
diff -NBaur gdb-8.2/gdb/syscalls/arm-3ds.xml gdb-8.2-3ds/gdb/syscalls/arm-3ds.xml
|
||||||
new file mode 100644
|
--- gdb-8.2/gdb/syscalls/arm-3ds.xml 1970-01-01 01:00:00.000000000 +0100
|
||||||
index 0000000000..48780b7bd5
|
+++ gdb-8.2-3ds/gdb/syscalls/arm-3ds.xml 2018-11-15 22:42:36.840956065 +0000
|
||||||
--- /dev/null
|
|
||||||
+++ b/gdb/syscalls/arm-3ds.xml
|
|
||||||
@@ -0,0 +1,159 @@
|
@@ -0,0 +1,159 @@
|
||||||
+<?xml version="1.0"?>
|
+<?xml version="1.0"?>
|
||||||
+<!DOCTYPE syscalls_info SYSTEM "gdb-syscalls.dtd">
|
+<!DOCTYPE syscalls_info SYSTEM "gdb-syscalls.dtd">
|
||||||
@@ -438,4 +387,3 @@ index 0000000000..48780b7bd5
|
|||||||
+ <syscall name="TranslateHandle" number="178" groups="custom,synchronization,ipc,thread,process,debug"/>
|
+ <syscall name="TranslateHandle" number="178" groups="custom,synchronization,ipc,thread,process,debug"/>
|
||||||
+
|
+
|
||||||
+</syscalls_info>
|
+</syscalls_info>
|
||||||
|
|
||||||
@@ -7531,7 +7531,7 @@ index 2900b332f..6efb54eb3 100644
|
|||||||
#ifdef __rtems__
|
#ifdef __rtems__
|
||||||
diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h
|
diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000..ee14d2610
|
index 000000000..dfed4107e
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/newlib/libc/include/sys/iosupport.h
|
+++ b/newlib/libc/include/sys/iosupport.h
|
||||||
@@ -0,0 +1,112 @@
|
@@ -0,0 +1,112 @@
|
||||||
@@ -7553,7 +7553,7 @@ index 000000000..ee14d2610
|
|||||||
+ STD_IN,
|
+ STD_IN,
|
||||||
+ STD_OUT,
|
+ STD_OUT,
|
||||||
+ STD_ERR,
|
+ STD_ERR,
|
||||||
+ STD_MAX = 16
|
+ STD_MAX = 35
|
||||||
+};
|
+};
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ if [ ! -f configured-binutils ]
|
|||||||
then
|
then
|
||||||
CPPFLAGS="$cppflags $CPPFLAGS" LDFLAGS=$ldflags ../../binutils-$BINUTILS_VER/configure \
|
CPPFLAGS="$cppflags $CPPFLAGS" LDFLAGS=$ldflags ../../binutils-$BINUTILS_VER/configure \
|
||||||
--prefix=$prefix --target=$target --disable-nls --disable-werror \
|
--prefix=$prefix --target=$target --disable-nls --disable-werror \
|
||||||
--enable-lto --enable-plugins --enable-gold \
|
--enable-lto --enable-plugins \
|
||||||
--enable-poison-system-directories \
|
--enable-poison-system-directories \
|
||||||
$CROSS_PARAMS \
|
$CROSS_PARAMS \
|
||||||
|| { echo "Error configuring binutils"; exit 1; }
|
|| { echo "Error configuring binutils"; exit 1; }
|
||||||
@@ -64,7 +64,7 @@ then
|
|||||||
--prefix=$prefix \
|
--prefix=$prefix \
|
||||||
--enable-lto\
|
--enable-lto\
|
||||||
--with-system-zlib \
|
--with-system-zlib \
|
||||||
--with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 49" \
|
--with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 50" \
|
||||||
$CROSS_PARAMS \
|
$CROSS_PARAMS \
|
||||||
$CROSS_GCC_PARAMS \
|
$CROSS_GCC_PARAMS \
|
||||||
|| { echo "Error configuring gcc"; exit 1; }
|
|| { echo "Error configuring gcc"; exit 1; }
|
||||||
|
|||||||
@@ -1,257 +0,0 @@
|
|||||||
/*
|
|
||||||
* Linkscript for Wii U
|
|
||||||
*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", "elf32-powerpc");
|
|
||||||
OUTPUT_ARCH(powerpc:common);
|
|
||||||
EXTERN(_start);
|
|
||||||
ENTRY(_start);
|
|
||||||
|
|
||||||
PHDRS
|
|
||||||
{
|
|
||||||
stub PT_LOAD FLAGS(5);
|
|
||||||
text PT_LOAD FLAGS(5);
|
|
||||||
data PT_LOAD FLAGS(6);
|
|
||||||
bss1 PT_LOAD;
|
|
||||||
bss2 PT_LOAD;
|
|
||||||
}
|
|
||||||
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
/* default base address */
|
|
||||||
/* use -Wl,--section-start,.init=0xADDRESS to change */
|
|
||||||
. = 0x00802000;
|
|
||||||
|
|
||||||
/* Program */
|
|
||||||
.init :
|
|
||||||
{
|
|
||||||
KEEP (*crt0.o(*.init))
|
|
||||||
KEEP (*(.init))
|
|
||||||
} :text = 0
|
|
||||||
.plt : { *(.plt) }
|
|
||||||
.interp : { *(.interp) }
|
|
||||||
.hash : { *(.hash) }
|
|
||||||
.dynsym : { *(.dynsym) }
|
|
||||||
.dynstr : { *(.dynstr) }
|
|
||||||
.gnu.version : { *(.gnu.version) }
|
|
||||||
.gnu.version_d : { *(.gnu.version_d) }
|
|
||||||
.gnu.version_r : { *(.gnu.version_r) }
|
|
||||||
.rel.init : { *(.rel.init) }
|
|
||||||
.rela.init : { *(.rela.init) }
|
|
||||||
.rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) }
|
|
||||||
.rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
|
|
||||||
.rel.fini : { *(.rel.fini) }
|
|
||||||
.rela.fini : { *(.rela.fini) }
|
|
||||||
.rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) }
|
|
||||||
.rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
|
|
||||||
.rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) }
|
|
||||||
.rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
|
|
||||||
.rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) }
|
|
||||||
.rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
|
|
||||||
.rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) }
|
|
||||||
.rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
|
|
||||||
.rel.ctors : { *(.rel.ctors) }
|
|
||||||
.rela.ctors : { *(.rela.ctors) }
|
|
||||||
.rel.dtors : { *(.rel.dtors) }
|
|
||||||
.rela.dtors : { *(.rela.dtors) }
|
|
||||||
.rel.got : { *(.rel.got) }
|
|
||||||
.rela.got : { *(.rela.got) }
|
|
||||||
.rela.got1 : { *(.rela.got1) }
|
|
||||||
.rela.got2 : { *(.rela.got2) }
|
|
||||||
.rel.sdata : { *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*) }
|
|
||||||
.rela.sdata : { *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*) }
|
|
||||||
.rel.sbss : { *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*) }
|
|
||||||
.rela.sbss : { *(.rela.sbss .rela.sbss.* .rel.gnu.linkonce.sb.*) }
|
|
||||||
.rel.sdata2 : { *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*) }
|
|
||||||
.rela.sdata2 : { *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*) }
|
|
||||||
.rel.sbss2 : { *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*) }
|
|
||||||
.rela.sbss2 : { *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) }
|
|
||||||
.rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) }
|
|
||||||
.rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
|
|
||||||
.rel.plt : { *(.rel.plt) }
|
|
||||||
.rela.plt : { *(.rela.plt) }
|
|
||||||
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
*(.text)
|
|
||||||
*(.text.*)
|
|
||||||
/* .gnu.warning sections are handled specially by elf32.em. */
|
|
||||||
*(.gnu.warning)
|
|
||||||
*(.gnu.linkonce.t.*)
|
|
||||||
. = ALIGN(32); /* REQUIRED. LD is flaky without it. */
|
|
||||||
} = 0
|
|
||||||
|
|
||||||
.fini :
|
|
||||||
{
|
|
||||||
KEEP (*(.fini))
|
|
||||||
. = ALIGN(32); /* REQUIRED. LD is flaky without it. */
|
|
||||||
} = 0
|
|
||||||
|
|
||||||
PROVIDE (__etext = .);
|
|
||||||
PROVIDE (_etext = .);
|
|
||||||
PROVIDE (etext = .);
|
|
||||||
|
|
||||||
.rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } :data
|
|
||||||
.rodata1 : { *(.rodata1) }
|
|
||||||
.sdata2 : { *(.sdata2) *(.sdata2.*) *(.gnu.linkonce.s2.*) }
|
|
||||||
.sbss2 : { *(.sbss2) *(.sbss2.*) *(.gnu.linkonce.sb2.*) }
|
|
||||||
/* Adjust the address for the data segment. We want to adjust up to
|
|
||||||
the same address within the page on the next page up. */
|
|
||||||
/* Ensure the __preinit_array_start label is properly aligned. We
|
|
||||||
could instead move the label definition inside the section, but
|
|
||||||
the linker would then create the section even if it turns out to
|
|
||||||
be empty, which isn't pretty. */
|
|
||||||
. = ALIGN(32 / 8);
|
|
||||||
PROVIDE (__preinit_array_start = .);
|
|
||||||
.preinit_array : { *(.preinit_array) }
|
|
||||||
PROVIDE (__preinit_array_end = .);
|
|
||||||
PROVIDE (__init_array_start = .);
|
|
||||||
.init_array : { *(.init_array) }
|
|
||||||
PROVIDE (__init_array_end = .);
|
|
||||||
PROVIDE (__fini_array_start = .);
|
|
||||||
.fini_array : { *(.fini_array) }
|
|
||||||
PROVIDE (__fini_array_end = .);
|
|
||||||
.data :
|
|
||||||
{
|
|
||||||
*(.data)
|
|
||||||
*(.data.*)
|
|
||||||
*(.gnu.linkonce.d.*)
|
|
||||||
SORT(CONSTRUCTORS)
|
|
||||||
. = ALIGN(32); /* REQUIRED. LD is flaky without it. */
|
|
||||||
}
|
|
||||||
|
|
||||||
.data1 : { *(.data1) }
|
|
||||||
.tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
|
|
||||||
.tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
|
|
||||||
.eh_frame : { KEEP (*(.eh_frame)) }
|
|
||||||
.gcc_except_table : { *(.gcc_except_table) }
|
|
||||||
.fixup : { *(.fixup) }
|
|
||||||
.got1 : { *(.got1) }
|
|
||||||
.got2 : { *(.got2) }
|
|
||||||
.dynamic : { *(.dynamic) }
|
|
||||||
|
|
||||||
.ctors :
|
|
||||||
{
|
|
||||||
/* gcc uses crtbegin.o to find the start of
|
|
||||||
the constructors, so we make sure it is
|
|
||||||
first. Because this is a wildcard, it
|
|
||||||
doesn't matter if the user does not
|
|
||||||
actually link against crtbegin.o; the
|
|
||||||
linker won't look for a file to match a
|
|
||||||
wildcard. The wildcard also means that it
|
|
||||||
doesn't matter which directory crtbegin.o
|
|
||||||
is in. */
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
|
|
||||||
/* We don't want to include the .ctor section from
|
|
||||||
from the crtend.o file until after the sorted ctors.
|
|
||||||
The .ctor section from the crtend file contains the
|
|
||||||
end of ctors marker and it must be last */
|
|
||||||
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*(.ctors))
|
|
||||||
. = ALIGN(32); /* REQUIRED. LD is flaky without it. */
|
|
||||||
}
|
|
||||||
|
|
||||||
.dtors :
|
|
||||||
{
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*(.dtors))
|
|
||||||
. = ALIGN(32); /* REQUIRED. LD is flaky without it. */
|
|
||||||
}
|
|
||||||
|
|
||||||
.jcr : { KEEP (*(.jcr)) }
|
|
||||||
.got : { *(.got.plt) *(.got) }
|
|
||||||
|
|
||||||
|
|
||||||
/* We want the small data sections together, so single-instruction offsets
|
|
||||||
can access them all, and initialized data all before uninitialized, so
|
|
||||||
we can shorten the on-disk segment size. */
|
|
||||||
|
|
||||||
.sdata :
|
|
||||||
{
|
|
||||||
*(.sdata)
|
|
||||||
*(.sdata.*)
|
|
||||||
*(.gnu.linkonce.s.*)
|
|
||||||
. = ALIGN(32); /* REQUIRED. LD is flaky without it. */
|
|
||||||
}
|
|
||||||
|
|
||||||
_edata = .;
|
|
||||||
PROVIDE (edata = .);
|
|
||||||
|
|
||||||
.sbss :
|
|
||||||
{
|
|
||||||
__sbss_start = .;
|
|
||||||
PROVIDE (__sbss_start = .);
|
|
||||||
PROVIDE (___sbss_start = .);
|
|
||||||
*(.dynsbss)
|
|
||||||
*(.sbss)
|
|
||||||
*(.sbss.*)
|
|
||||||
*(.gnu.linkonce.sb.*)
|
|
||||||
*(.scommon)
|
|
||||||
PROVIDE (__sbss_end = .);
|
|
||||||
PROVIDE (___sbss_end = .);
|
|
||||||
. = ALIGN(32); /* REQUIRED. LD is flaky without it. */
|
|
||||||
__sbss_end = .;
|
|
||||||
} :bss1
|
|
||||||
|
|
||||||
.bss :
|
|
||||||
{
|
|
||||||
__bss_start = .;
|
|
||||||
PROVIDE (__bss_start = .);
|
|
||||||
*(.dynbss)
|
|
||||||
*(.bss)
|
|
||||||
*(.bss.*)
|
|
||||||
*(.gnu.linkonce.b.*)
|
|
||||||
*(COMMON)
|
|
||||||
/* Align here to ensure that the .bss section occupies space up to
|
|
||||||
_end. Align after .bss to ensure correct alignment even if the
|
|
||||||
.bss section disappears because there are no input sections. */
|
|
||||||
|
|
||||||
. = ALIGN(32);
|
|
||||||
|
|
||||||
PROVIDE (__bss_end = .);
|
|
||||||
__bss_end = .;
|
|
||||||
} :bss2
|
|
||||||
|
|
||||||
_end = .;
|
|
||||||
PROVIDE(end = .);
|
|
||||||
/* Stabs debugging sections. */
|
|
||||||
.stab 0 : { *(.stab) }
|
|
||||||
.stabstr 0 : { *(.stabstr) }
|
|
||||||
.stab.excl 0 : { *(.stab.excl) }
|
|
||||||
.stab.exclstr 0 : { *(.stab.exclstr) }
|
|
||||||
.stab.index 0 : { *(.stab.index) }
|
|
||||||
.stab.indexstr 0 : { *(.stab.indexstr) }
|
|
||||||
.comment 0 : { *(.comment) }
|
|
||||||
/* DWARF debug sections.
|
|
||||||
Symbols in the DWARF debugging sections are relative to the beginning
|
|
||||||
of the section so we begin them at 0. */
|
|
||||||
/* DWARF 1 */
|
|
||||||
.debug 0 : { *(.debug) }
|
|
||||||
.line 0 : { *(.line) }
|
|
||||||
/* GNU DWARF 1 extensions */
|
|
||||||
.debug_srcinfo 0 : { *(.debug_srcinfo) }
|
|
||||||
.debug_sfnames 0 : { *(.debug_sfnames) }
|
|
||||||
/* DWARF 1.1 and DWARF 2 */
|
|
||||||
.debug_aranges 0 : { *(.debug_aranges) }
|
|
||||||
.debug_pubnames 0 : { *(.debug_pubnames) }
|
|
||||||
/* DWARF 2 */
|
|
||||||
.debug_info 0 : { *(.debug_info) }
|
|
||||||
.debug_abbrev 0 : { *(.debug_abbrev) }
|
|
||||||
.debug_line 0 : { *(.debug_line) }
|
|
||||||
.debug_frame 0 : { *(.debug_frame) }
|
|
||||||
.debug_str 0 : { *(.debug_str) }
|
|
||||||
.debug_loc 0 : { *(.debug_loc) }
|
|
||||||
.debug_macinfo 0 : { *(.debug_macinfo) }
|
|
||||||
/* SGI/MIPS DWARF 2 extensions */
|
|
||||||
.debug_weaknames 0 : { *(.debug_weaknames) }
|
|
||||||
.debug_funcnames 0 : { *(.debug_funcnames) }
|
|
||||||
.debug_typenames 0 : { *(.debug_typenames) }
|
|
||||||
.debug_varnames 0 : { *(.debug_varnames) }
|
|
||||||
/* These must appear regardless of . */
|
|
||||||
}
|
|
||||||
@@ -58,10 +58,10 @@ index b83b304e3eb..b85359edcfc 100644
|
|||||||
#ifndef CC1_CPU_SPEC
|
#ifndef CC1_CPU_SPEC
|
||||||
#ifdef HAVE_LOCAL_CPU_DETECT
|
#ifdef HAVE_LOCAL_CPU_DETECT
|
||||||
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
|
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
|
||||||
index bb19d0dcd41..ff5f80b7298 100644
|
index bb19d0dcd41..74d1e474432 100644
|
||||||
--- a/gcc/config/rs6000/sysv4.h
|
--- a/gcc/config/rs6000/sysv4.h
|
||||||
+++ b/gcc/config/rs6000/sysv4.h
|
+++ b/gcc/config/rs6000/sysv4.h
|
||||||
@@ -565,7 +565,12 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
@@ -565,7 +565,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||||
|
|
||||||
/* Default starting address if specified. */
|
/* Default starting address if specified. */
|
||||||
#define LINK_START_SPEC "\
|
#define LINK_START_SPEC "\
|
||||||
@@ -70,23 +70,21 @@ index bb19d0dcd41..ff5f80b7298 100644
|
|||||||
+ mvgc : %(link_start_vgc) ; \
|
+ mvgc : %(link_start_vgc) ; \
|
||||||
+ mgcbios : %(link_start_gcb) ; \
|
+ mgcbios : %(link_start_gcb) ; \
|
||||||
+ mrvl : %(link_start_rvl) ; \
|
+ mrvl : %(link_start_rvl) ; \
|
||||||
+ mwup : %(link_start_wup) ; \
|
|
||||||
+ mads : %(link_start_ads) ; \
|
+ mads : %(link_start_ads) ; \
|
||||||
myellowknife : %(link_start_yellowknife) ; \
|
myellowknife : %(link_start_yellowknife) ; \
|
||||||
mmvme : %(link_start_mvme) ; \
|
mmvme : %(link_start_mvme) ; \
|
||||||
msim : %(link_start_sim) ; \
|
msim : %(link_start_sim) ; \
|
||||||
@@ -596,7 +601,9 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
@@ -596,7 +600,8 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||||
|
|
||||||
/* Any specific OS flags. */
|
/* Any specific OS flags. */
|
||||||
#define LINK_OS_SPEC "\
|
#define LINK_OS_SPEC "\
|
||||||
-%{mads : %(link_os_ads) ; \
|
-%{mads : %(link_os_ads) ; \
|
||||||
+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(link_os_ogc) ; \
|
+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(link_os_ogc) ; \
|
||||||
+ mwup : %(link_os_wup) ; \
|
|
||||||
+ mads : %(link_os_ads) ; \
|
+ mads : %(link_os_ads) ; \
|
||||||
myellowknife : %(link_os_yellowknife) ; \
|
myellowknife : %(link_os_yellowknife) ; \
|
||||||
mmvme : %(link_os_mvme) ; \
|
mmvme : %(link_os_mvme) ; \
|
||||||
msim : %(link_os_sim) ; \
|
msim : %(link_os_sim) ; \
|
||||||
@@ -614,7 +621,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
@@ -614,7 +619,10 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||||
/* Override rs6000.h definition. */
|
/* Override rs6000.h definition. */
|
||||||
#undef CPP_SPEC
|
#undef CPP_SPEC
|
||||||
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \
|
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \
|
||||||
@@ -94,12 +92,11 @@ index bb19d0dcd41..ff5f80b7298 100644
|
|||||||
+%{mgcn : %(cpp_os_gcn) ; \
|
+%{mgcn : %(cpp_os_gcn) ; \
|
||||||
+ mogc|mvgc|mgcbios : %(cpp_os_ogc) ; \
|
+ mogc|mvgc|mgcbios : %(cpp_os_ogc) ; \
|
||||||
+ mrvl : %(cpp_os_rvl) ; \
|
+ mrvl : %(cpp_os_rvl) ; \
|
||||||
+ mwup : %(cpp_os_wup) ; \
|
|
||||||
+ mads : %(cpp_os_ads) ; \
|
+ mads : %(cpp_os_ads) ; \
|
||||||
myellowknife : %(cpp_os_yellowknife) ; \
|
myellowknife : %(cpp_os_yellowknife) ; \
|
||||||
mmvme : %(cpp_os_mvme) ; \
|
mmvme : %(cpp_os_mvme) ; \
|
||||||
msim : %(cpp_os_sim) ; \
|
msim : %(cpp_os_sim) ; \
|
||||||
@@ -628,7 +639,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
@@ -628,7 +636,10 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||||
|
|
||||||
#undef STARTFILE_SPEC
|
#undef STARTFILE_SPEC
|
||||||
#define STARTFILE_SPEC "\
|
#define STARTFILE_SPEC "\
|
||||||
@@ -107,23 +104,21 @@ index bb19d0dcd41..ff5f80b7298 100644
|
|||||||
+%{mgcn : %(startfile_gcn) ; \
|
+%{mgcn : %(startfile_gcn) ; \
|
||||||
+ mogc|mvgc|mgcbios : %(startfile_ogc) ; \
|
+ mogc|mvgc|mgcbios : %(startfile_ogc) ; \
|
||||||
+ mrvl : %(startfile_ogc) ; \
|
+ mrvl : %(startfile_ogc) ; \
|
||||||
+ mwup : %(startfile_wup) ; \
|
|
||||||
+ mads : %(startfile_ads) ; \
|
+ mads : %(startfile_ads) ; \
|
||||||
myellowknife : %(startfile_yellowknife) ; \
|
myellowknife : %(startfile_yellowknife) ; \
|
||||||
mmvme : %(startfile_mvme) ; \
|
mmvme : %(startfile_mvme) ; \
|
||||||
msim : %(startfile_sim) ; \
|
msim : %(startfile_sim) ; \
|
||||||
@@ -642,7 +657,9 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
@@ -642,7 +653,8 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||||
|
|
||||||
#undef LIB_SPEC
|
#undef LIB_SPEC
|
||||||
#define LIB_SPEC "\
|
#define LIB_SPEC "\
|
||||||
-%{mads : %(lib_ads) ; \
|
-%{mads : %(lib_ads) ; \
|
||||||
+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(lib_ogc) ; \
|
+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(lib_ogc) ; \
|
||||||
+ mwup : %(lib_wup) ; \
|
|
||||||
+ mads : %(lib_ads) ; \
|
+ mads : %(lib_ads) ; \
|
||||||
myellowknife : %(lib_yellowknife) ; \
|
myellowknife : %(lib_yellowknife) ; \
|
||||||
mmvme : %(lib_mvme) ; \
|
mmvme : %(lib_mvme) ; \
|
||||||
msim : %(lib_sim) ; \
|
msim : %(lib_sim) ; \
|
||||||
@@ -652,11 +669,13 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
@@ -652,11 +664,12 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||||
mcall-openbsd: %(lib_openbsd) ; \
|
mcall-openbsd: %(lib_openbsd) ; \
|
||||||
: %(lib_default) }"
|
: %(lib_default) }"
|
||||||
|
|
||||||
@@ -134,110 +129,97 @@ index bb19d0dcd41..ff5f80b7298 100644
|
|||||||
#define ENDFILE_SPEC "\
|
#define ENDFILE_SPEC "\
|
||||||
-%{mads : %(endfile_ads) ; \
|
-%{mads : %(endfile_ads) ; \
|
||||||
+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(endfile_ogc) ; \
|
+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(endfile_ogc) ; \
|
||||||
+ mwup : %(endfile_wup) ; \
|
|
||||||
+ mads : %(endfile_ads) ; \
|
+ mads : %(endfile_ads) ; \
|
||||||
myellowknife : %(endfile_yellowknife) ; \
|
myellowknife : %(endfile_yellowknife) ; \
|
||||||
mmvme : %(endfile_mvme) ; \
|
mmvme : %(endfile_mvme) ; \
|
||||||
msim : %(endfile_sim) ; \
|
msim : %(endfile_sim) ; \
|
||||||
@@ -672,16 +691,33 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
@@ -672,16 +685,27 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||||
|
|
||||||
/* Motorola ADS support. */
|
/* Motorola ADS support. */
|
||||||
#define LIB_ADS_SPEC "--start-group -lads -lc --end-group"
|
#define LIB_ADS_SPEC "--start-group -lads -lc --end-group"
|
||||||
+#define LIB_OGC_SPEC "--start-group -lsysbase -lc --end-group"
|
+#define LIB_OGC_SPEC "--start-group -lsysbase -lc --end-group"
|
||||||
+#define LIB_WUP_SPEC "--start-group -lsysbase -lc --end-group"
|
|
||||||
|
|
||||||
#define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s"
|
#define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s"
|
||||||
+#define STARTFILE_OGC_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s"
|
+#define STARTFILE_OGC_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s"
|
||||||
+#define STARTFILE_WUP_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s"
|
|
||||||
|
|
||||||
#define ENDFILE_ADS_SPEC "crtend.o%s ecrtn.o%s"
|
#define ENDFILE_ADS_SPEC "crtend.o%s ecrtn.o%s"
|
||||||
+#define ENDFILE_OGC_SPEC "crtend.o%s ecrtn.o%s"
|
+#define ENDFILE_OGC_SPEC "crtend.o%s ecrtn.o%s"
|
||||||
+#define ENDFILE_WUP_SPEC "crtend.o%s ecrtn.o%s"
|
|
||||||
|
|
||||||
#define LINK_START_ADS_SPEC "-T ads.ld%s"
|
#define LINK_START_ADS_SPEC "-T ads.ld%s"
|
||||||
+#define LINK_START_OGC_SPEC "-T ogc.ld%s"
|
+#define LINK_START_OGC_SPEC "-T ogc.ld%s"
|
||||||
+#define LINK_START_RVL_SPEC "-T rvl.ld%s"
|
+#define LINK_START_RVL_SPEC "-T rvl.ld%s"
|
||||||
+#define LINK_START_WUP_SPEC "-T wup.ld%s"
|
|
||||||
+#define LINK_START_VGC_SPEC "-T vgcogc.ld%s"
|
+#define LINK_START_VGC_SPEC "-T vgcogc.ld%s"
|
||||||
+#define LINK_START_GCB_SPEC "-T gcbogc.ld%s"
|
+#define LINK_START_GCB_SPEC "-T gcbogc.ld%s"
|
||||||
|
|
||||||
#define LINK_OS_ADS_SPEC ""
|
#define LINK_OS_ADS_SPEC ""
|
||||||
+#define LINK_OS_OGC_SPEC "--gc-sections"
|
+#define LINK_OS_OGC_SPEC "--gc-sections"
|
||||||
+#define LINK_OS_WUP_SPEC "--gc-sections"
|
|
||||||
|
|
||||||
#define CPP_OS_ADS_SPEC ""
|
#define CPP_OS_ADS_SPEC ""
|
||||||
+#define CPP_OS_GCN_SPEC "-D__gamecube__ -ffunction-sections -fdata-sections"
|
+#define CPP_OS_GCN_SPEC "-D__gamecube__ -ffunction-sections -fdata-sections"
|
||||||
+#define CPP_OS_OGC_SPEC "-D__gamecube__ -DHW_DOL -ffunction-sections -fdata-sections"
|
+#define CPP_OS_OGC_SPEC "-D__gamecube__ -DHW_DOL -ffunction-sections -fdata-sections"
|
||||||
+#define CPP_OS_RVL_SPEC "-D__wii__ -DHW_RVL -ffunction-sections -fdata-sections"
|
+#define CPP_OS_RVL_SPEC "-D__wii__ -DHW_RVL -ffunction-sections -fdata-sections"
|
||||||
+#define CPP_OS_WUP_SPEC "-D__wiiu__ -DHW_WUP -ffunction-sections -fdata-sections"
|
|
||||||
|
|
||||||
/* Motorola Yellowknife support. */
|
/* Motorola Yellowknife support. */
|
||||||
#define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group"
|
#define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group"
|
||||||
@@ -882,6 +918,8 @@ ncrtn.o%s"
|
@@ -882,6 +906,7 @@ ncrtn.o%s"
|
||||||
#undef SUBTARGET_EXTRA_SPECS
|
#undef SUBTARGET_EXTRA_SPECS
|
||||||
#define SUBTARGET_EXTRA_SPECS \
|
#define SUBTARGET_EXTRA_SPECS \
|
||||||
{ "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \
|
{ "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \
|
||||||
+ { "lib_ogc", LIB_OGC_SPEC }, \
|
+ { "lib_ogc", LIB_OGC_SPEC }, \
|
||||||
+ { "lib_wup", LIB_WUP_SPEC }, \
|
|
||||||
{ "lib_ads", LIB_ADS_SPEC }, \
|
{ "lib_ads", LIB_ADS_SPEC }, \
|
||||||
{ "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \
|
{ "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \
|
||||||
{ "lib_mvme", LIB_MVME_SPEC }, \
|
{ "lib_mvme", LIB_MVME_SPEC }, \
|
||||||
@@ -891,6 +929,8 @@ ncrtn.o%s"
|
@@ -891,6 +916,7 @@ ncrtn.o%s"
|
||||||
{ "lib_netbsd", LIB_NETBSD_SPEC }, \
|
{ "lib_netbsd", LIB_NETBSD_SPEC }, \
|
||||||
{ "lib_openbsd", LIB_OPENBSD_SPEC }, \
|
{ "lib_openbsd", LIB_OPENBSD_SPEC }, \
|
||||||
{ "lib_default", LIB_DEFAULT_SPEC }, \
|
{ "lib_default", LIB_DEFAULT_SPEC }, \
|
||||||
+ { "startfile_ogc", STARTFILE_OGC_SPEC }, \
|
+ { "startfile_ogc", STARTFILE_OGC_SPEC }, \
|
||||||
+ { "startfile_wup", STARTFILE_WUP_SPEC }, \
|
|
||||||
{ "startfile_ads", STARTFILE_ADS_SPEC }, \
|
{ "startfile_ads", STARTFILE_ADS_SPEC }, \
|
||||||
{ "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \
|
{ "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \
|
||||||
{ "startfile_mvme", STARTFILE_MVME_SPEC }, \
|
{ "startfile_mvme", STARTFILE_MVME_SPEC }, \
|
||||||
@@ -900,6 +940,8 @@ ncrtn.o%s"
|
@@ -900,6 +926,7 @@ ncrtn.o%s"
|
||||||
{ "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \
|
{ "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \
|
||||||
{ "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \
|
{ "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \
|
||||||
{ "startfile_default", STARTFILE_DEFAULT_SPEC }, \
|
{ "startfile_default", STARTFILE_DEFAULT_SPEC }, \
|
||||||
+ { "endfile_ogc", ENDFILE_OGC_SPEC }, \
|
+ { "endfile_ogc", ENDFILE_OGC_SPEC }, \
|
||||||
+ { "endfile_wup", ENDFILE_WUP_SPEC }, \
|
|
||||||
{ "endfile_ads", ENDFILE_ADS_SPEC }, \
|
{ "endfile_ads", ENDFILE_ADS_SPEC }, \
|
||||||
{ "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \
|
{ "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \
|
||||||
{ "endfile_mvme", ENDFILE_MVME_SPEC }, \
|
{ "endfile_mvme", ENDFILE_MVME_SPEC }, \
|
||||||
@@ -911,7 +953,12 @@ ncrtn.o%s"
|
@@ -911,7 +938,11 @@ ncrtn.o%s"
|
||||||
{ "endfile_default", ENDFILE_DEFAULT_SPEC }, \
|
{ "endfile_default", ENDFILE_DEFAULT_SPEC }, \
|
||||||
{ "link_shlib", LINK_SHLIB_SPEC }, \
|
{ "link_shlib", LINK_SHLIB_SPEC }, \
|
||||||
{ "link_start", LINK_START_SPEC }, \
|
{ "link_start", LINK_START_SPEC }, \
|
||||||
+ { "link_start_vgc", LINK_START_VGC_SPEC }, \
|
+ { "link_start_vgc", LINK_START_VGC_SPEC }, \
|
||||||
+ { "link_start_gcb", LINK_START_GCB_SPEC }, \
|
+ { "link_start_gcb", LINK_START_GCB_SPEC }, \
|
||||||
+ { "link_start_rvl", LINK_START_RVL_SPEC }, \
|
+ { "link_start_rvl", LINK_START_RVL_SPEC }, \
|
||||||
+ { "link_start_wup", LINK_START_WUP_SPEC }, \
|
|
||||||
{ "link_start_ads", LINK_START_ADS_SPEC }, \
|
{ "link_start_ads", LINK_START_ADS_SPEC }, \
|
||||||
+ { "link_start_ogc", LINK_START_OGC_SPEC }, \
|
+ { "link_start_ogc", LINK_START_OGC_SPEC }, \
|
||||||
{ "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \
|
{ "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \
|
||||||
{ "link_start_mvme", LINK_START_MVME_SPEC }, \
|
{ "link_start_mvme", LINK_START_MVME_SPEC }, \
|
||||||
{ "link_start_sim", LINK_START_SIM_SPEC }, \
|
{ "link_start_sim", LINK_START_SIM_SPEC }, \
|
||||||
@@ -921,6 +968,8 @@ ncrtn.o%s"
|
@@ -921,6 +952,7 @@ ncrtn.o%s"
|
||||||
{ "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \
|
{ "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \
|
||||||
{ "link_start_default", LINK_START_DEFAULT_SPEC }, \
|
{ "link_start_default", LINK_START_DEFAULT_SPEC }, \
|
||||||
{ "link_os", LINK_OS_SPEC }, \
|
{ "link_os", LINK_OS_SPEC }, \
|
||||||
+ { "link_os_ogc", LINK_OS_OGC_SPEC }, \
|
+ { "link_os_ogc", LINK_OS_OGC_SPEC }, \
|
||||||
+ { "link_os_wup", LINK_OS_WUP_SPEC }, \
|
|
||||||
{ "link_os_ads", LINK_OS_ADS_SPEC }, \
|
{ "link_os_ads", LINK_OS_ADS_SPEC }, \
|
||||||
{ "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \
|
{ "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \
|
||||||
{ "link_os_mvme", LINK_OS_MVME_SPEC }, \
|
{ "link_os_mvme", LINK_OS_MVME_SPEC }, \
|
||||||
@@ -932,6 +981,10 @@ ncrtn.o%s"
|
@@ -932,6 +964,9 @@ ncrtn.o%s"
|
||||||
{ "link_os_default", LINK_OS_DEFAULT_SPEC }, \
|
{ "link_os_default", LINK_OS_DEFAULT_SPEC }, \
|
||||||
{ "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \
|
{ "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \
|
||||||
{ "link_secure_plt", LINK_SECURE_PLT_SPEC }, \
|
{ "link_secure_plt", LINK_SECURE_PLT_SPEC }, \
|
||||||
+ { "cpp_os_gcn", CPP_OS_GCN_SPEC }, \
|
+ { "cpp_os_gcn", CPP_OS_GCN_SPEC }, \
|
||||||
+ { "cpp_os_ogc", CPP_OS_OGC_SPEC }, \
|
+ { "cpp_os_ogc", CPP_OS_OGC_SPEC }, \
|
||||||
+ { "cpp_os_rvl", CPP_OS_RVL_SPEC }, \
|
+ { "cpp_os_rvl", CPP_OS_RVL_SPEC }, \
|
||||||
+ { "cpp_os_wup", CPP_OS_WUP_SPEC }, \
|
|
||||||
{ "cpp_os_ads", CPP_OS_ADS_SPEC }, \
|
{ "cpp_os_ads", CPP_OS_ADS_SPEC }, \
|
||||||
{ "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \
|
{ "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \
|
||||||
{ "cpp_os_mvme", CPP_OS_MVME_SPEC }, \
|
{ "cpp_os_mvme", CPP_OS_MVME_SPEC }, \
|
||||||
diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt
|
diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt
|
||||||
index 34fea0ddd08..9451447fde0 100644
|
index 34fea0ddd08..084a8ae435e 100644
|
||||||
--- a/gcc/config/rs6000/sysv4.opt
|
--- a/gcc/config/rs6000/sysv4.opt
|
||||||
+++ b/gcc/config/rs6000/sysv4.opt
|
+++ b/gcc/config/rs6000/sysv4.opt
|
||||||
@@ -124,6 +124,30 @@ mads
|
@@ -124,6 +124,26 @@ mads
|
||||||
Target RejectNegative
|
Target RejectNegative
|
||||||
Link with libads.a, libc.a and crt0.o.
|
Link with libads.a, libc.a and crt0.o.
|
||||||
|
|
||||||
@@ -260,10 +242,6 @@ index 34fea0ddd08..9451447fde0 100644
|
|||||||
+mrvl
|
+mrvl
|
||||||
+Target RejectNegative
|
+Target RejectNegative
|
||||||
+Link with libsysbase.a and libc.a, use rvl linker script
|
+Link with libsysbase.a and libc.a, use rvl linker script
|
||||||
+
|
|
||||||
+mwup
|
|
||||||
+Target RejectNegative
|
|
||||||
+Link with libsysbase.a and libc.a, use wup linker script
|
|
||||||
+
|
+
|
||||||
myellowknife
|
myellowknife
|
||||||
Target RejectNegative
|
Target RejectNegative
|
||||||
|
|||||||
@@ -7407,10 +7407,10 @@ index eb645868b..b9a006453 100644
|
|||||||
powerpc*-*-linux* | \
|
powerpc*-*-linux* | \
|
||||||
powerpc*-*-rtem* | \
|
powerpc*-*-rtem* | \
|
||||||
diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h
|
diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h
|
||||||
index a3fb5c02c..b42f0b3b1 100644
|
index a3fb5c02c..adb8e1083 100644
|
||||||
--- a/newlib/libc/include/sys/dirent.h
|
--- a/newlib/libc/include/sys/dirent.h
|
||||||
+++ b/newlib/libc/include/sys/dirent.h
|
+++ b/newlib/libc/include/sys/dirent.h
|
||||||
@@ -4,10 +4,56 @@
|
@@ -4,10 +4,57 @@
|
||||||
not support <dirent.h>, we will get this file which uses #error to force
|
not support <dirent.h>, we will get this file which uses #error to force
|
||||||
an error. */
|
an error. */
|
||||||
|
|
||||||
@@ -7419,6 +7419,7 @@ index a3fb5c02c..b42f0b3b1 100644
|
|||||||
+
|
+
|
||||||
+#include <sys/types.h>
|
+#include <sys/types.h>
|
||||||
+#include <sys/syslimits.h>
|
+#include <sys/syslimits.h>
|
||||||
|
+#include <sys/iosupport.h>
|
||||||
+
|
+
|
||||||
+#define _DIRENT_HAVE_D_TYPE
|
+#define _DIRENT_HAVE_D_TYPE
|
||||||
+
|
+
|
||||||
@@ -7445,7 +7446,7 @@ index a3fb5c02c..b42f0b3b1 100644
|
|||||||
+
|
+
|
||||||
+ typedef struct {
|
+ typedef struct {
|
||||||
+ long int position;
|
+ long int position;
|
||||||
+ void* dirData;
|
+ DIR_ITER* dirData;
|
||||||
+ struct dirent fileData;
|
+ struct dirent fileData;
|
||||||
+ } DIR;
|
+ } DIR;
|
||||||
+
|
+
|
||||||
@@ -7484,7 +7485,7 @@ index 2900b332f..6efb54eb3 100644
|
|||||||
#ifdef __rtems__
|
#ifdef __rtems__
|
||||||
diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h
|
diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000..649fc2630
|
index 000000000..8b6d8da30
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/newlib/libc/include/sys/iosupport.h
|
+++ b/newlib/libc/include/sys/iosupport.h
|
||||||
@@ -0,0 +1,108 @@
|
@@ -0,0 +1,108 @@
|
||||||
@@ -7500,7 +7501,7 @@ index 000000000..649fc2630
|
|||||||
+#include <reent.h>
|
+#include <reent.h>
|
||||||
+#include <sys/stat.h>
|
+#include <sys/stat.h>
|
||||||
+#include <sys/statvfs.h>
|
+#include <sys/statvfs.h>
|
||||||
+#include <time.h>
|
+#include <sys/time.h>
|
||||||
+
|
+
|
||||||
+enum {
|
+enum {
|
||||||
+ STD_IN,
|
+ STD_IN,
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ then
|
|||||||
--with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \
|
--with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \
|
||||||
--prefix=$prefix\
|
--prefix=$prefix\
|
||||||
--with-system-zlib\
|
--with-system-zlib\
|
||||||
--with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 33" \
|
--with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 34" \
|
||||||
$CROSS_PARAMS \
|
$CROSS_PARAMS \
|
||||||
$CROSS_GCC_PARAMS \
|
$CROSS_GCC_PARAMS \
|
||||||
CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \
|
CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \
|
||||||
@@ -185,10 +185,6 @@ rm -fr $prefix/$target/sys-include
|
|||||||
|
|
||||||
echo "installing linkscripts ..."
|
echo "installing linkscripts ..."
|
||||||
cp $BUILDSCRIPTDIR/dkppc/crtls/*.ld $prefix/$target/lib/
|
cp $BUILDSCRIPTDIR/dkppc/crtls/*.ld $prefix/$target/lib/
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
# copy base rulesets
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
cp $BUILDSCRIPTDIR/dkppc/rules/* $prefix
|
|
||||||
|
|
||||||
cd $BUILDDIR
|
cd $BUILDDIR
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,12 @@
|
|||||||
export DEVKITPPC=$TOOLPATH/devkitPPC
|
export DEVKITPPC=$TOOLPATH/devkitPPC
|
||||||
export DEVKITPRO=$TOOLPATH
|
export DEVKITPRO=$TOOLPATH
|
||||||
|
|
||||||
|
cd $BUILDDIR
|
||||||
|
mkdir -p rules
|
||||||
|
cd rules
|
||||||
|
tar -xvf $SRCDIR/devkitppc-rules-$DKPPC_RULES_VER.tar.xz
|
||||||
|
make install
|
||||||
|
|
||||||
cd $BUILDDIR/libogc-$LIBOGC_VER
|
cd $BUILDDIR/libogc-$LIBOGC_VER
|
||||||
|
|
||||||
if [ ! -f installed ]; then
|
if [ ! -f installed ]; then
|
||||||
|
|||||||
@@ -30,10 +30,10 @@ done
|
|||||||
|
|
||||||
case "$VERSION" in
|
case "$VERSION" in
|
||||||
"1" )
|
"1" )
|
||||||
GCC_VER=8.1.0
|
GCC_VER=8.2.0
|
||||||
BINUTILS_VER=2.30
|
BINUTILS_VER=2.31.1
|
||||||
NEWLIB_VER=3.0.0
|
NEWLIB_VER=3.0.0
|
||||||
GDB_VER=8.0
|
GDB_VER=8.2
|
||||||
basedir='dkarm-eabi'
|
basedir='dkarm-eabi'
|
||||||
package=devkitARM
|
package=devkitARM
|
||||||
target=arm-none-eabi
|
target=arm-none-eabi
|
||||||
@@ -41,7 +41,7 @@ case "$VERSION" in
|
|||||||
;;
|
;;
|
||||||
"2" )
|
"2" )
|
||||||
GCC_VER=8.2.0
|
GCC_VER=8.2.0
|
||||||
BINUTILS_VER=2.31.1
|
BINUTILS_VER=2.32
|
||||||
MN_BINUTILS_VER=2.17
|
MN_BINUTILS_VER=2.17
|
||||||
NEWLIB_VER=3.0.0
|
NEWLIB_VER=3.0.0
|
||||||
GDB_VER=8.2
|
GDB_VER=8.2
|
||||||
|
|||||||
Reference in New Issue
Block a user