mirror of
https://github.com/devkitPro/buildscripts.git
synced 2026-08-22 18:34:07 -05:00
Compare commits
70 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc708a543c | ||
|
|
9e5843b414 | ||
|
|
811c6a45b4 | ||
|
|
b1e0b0abd8 | ||
|
|
be6c50e32e | ||
|
|
3ef75548cf | ||
|
|
cb663299d1 | ||
|
|
3ba03b29f2 | ||
|
|
64492fe29c | ||
|
|
0026b3450c | ||
|
|
7f9fa7a161 | ||
|
|
cd8a1b3c85 | ||
|
|
ca40deb9ee | ||
|
|
3a2688063a | ||
|
|
4c47502632 | ||
|
|
eb23f198ad | ||
|
|
a1221bad50 | ||
|
|
1b65df77a3 | ||
|
|
e48ba38ce5 | ||
|
|
1d6cd5b344 | ||
|
|
e2d1ec8882 | ||
|
|
25e4deb095 | ||
|
|
ff9b2dd329 | ||
|
|
b6511b156c | ||
|
|
ca6443a27c | ||
|
|
5b1d0458dc | ||
|
|
116ad3bfc4 | ||
|
|
d8e737b988 | ||
|
|
b033aa91b2 | ||
|
|
3f149af10d | ||
|
|
dc93157478 | ||
|
|
a62a3f6379 | ||
|
|
6698343534 | ||
|
|
c8d5125ac3 | ||
|
|
e257f22430 | ||
|
|
3b8d9c702d | ||
|
|
f9dd6655ec | ||
|
|
3fcebd74b2 | ||
|
|
ac39e253ff | ||
|
|
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 |
@@ -23,6 +23,8 @@ http://gmplib.org/
|
|||||||
http://www.mpfr.org/
|
http://www.mpfr.org/
|
||||||
http://www.multiprecision.org/
|
http://www.multiprecision.org/
|
||||||
|
|
||||||
|
sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev
|
||||||
|
|
||||||
Some of the tools for devkitARM and devkitPPC also require FreeImage, zlib,
|
Some of the tools for devkitARM and devkitPPC also require FreeImage, zlib,
|
||||||
and libusb. Again these are built as static libraries for ease of packaging
|
and libusb. Again these are built as static libraries for ease of packaging
|
||||||
but you can probably use the versions supplied by your distro.
|
but you can probably use the versions supplied by your distro.
|
||||||
@@ -31,7 +33,10 @@ http://freeimage.sourceforge.net/
|
|||||||
http://www.zlib.net
|
http://www.zlib.net
|
||||||
http://www.libusb.org
|
http://www.libusb.org
|
||||||
|
|
||||||
|
sudo apt-get install libfreeimage-dev zlib1g-dev libusb-dev
|
||||||
|
|
||||||
Building gxtexconv for cube/wii needs GL/gl.h which can be obtained with
|
Building gxtexconv for cube/wii needs GL/gl.h which can be obtained with
|
||||||
|
|
||||||
sudo apt-get install mesa-common-dev
|
sudo apt-get install mesa-common-dev
|
||||||
|
|
||||||
To avoid having to manually answer prompts during the build the script will
|
To avoid having to manually answer prompts during the build the script will
|
||||||
@@ -78,7 +83,7 @@ Using devkitPPC
|
|||||||
|
|
||||||
to use the built in crt0 and linkscript use powerpc-eabi-gcc to link your project,
|
to use the built in crt0 and linkscript use powerpc-eabi-gcc to link your project,
|
||||||
using the command line switch -mgcn for a bare bones system, -mogc to use libogc and
|
using the command line switch -mgcn for a bare bones system, -mogc to use libogc and
|
||||||
the multi-threaded microkernel for gamecube, -mrvl for wii.
|
the multi-threaded microkernel for gamecube, -mrvl for wii, -mwup for wii u.
|
||||||
|
|
||||||
Using devkitPSP
|
Using devkitPSP
|
||||||
---------------
|
---------------
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# Build scripts for
|
# devkitARM release 45
|
||||||
# devkitARM release 44
|
# devkitPPC release 28
|
||||||
# devkitPPC release 27
|
|
||||||
# devkitPSP release 17
|
# devkitPSP release 17
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -24,11 +23,11 @@ echo "Patches and improvements are of course welcome, please send these to the p
|
|||||||
echo "https://sourceforge.net/tracker/?group_id=114505&atid=668553"
|
echo "https://sourceforge.net/tracker/?group_id=114505&atid=668553"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
LIBOGC_VER=1.8.12
|
LIBOGC_VER=1.8.15
|
||||||
LIBGBA_VER=20150106
|
LIBGBA_VER=20150106
|
||||||
LIBNDS_VER=1.5.10
|
LIBNDS_VER=1.5.12
|
||||||
LIBCTRU_VER=0.4.0
|
LIBCTRU_VER=0.6.0
|
||||||
DEFAULT_ARM7_VER=0.5.27
|
DEFAULT_ARM7_VER=0.6.0
|
||||||
DSWIFI_VER=0.3.17
|
DSWIFI_VER=0.3.17
|
||||||
LIBMIRKO_VER=0.9.7
|
LIBMIRKO_VER=0.9.7
|
||||||
MAXMOD_VER=1.0.9
|
MAXMOD_VER=1.0.9
|
||||||
@@ -38,34 +37,25 @@ PSPSDK_VER=20120404
|
|||||||
GBATOOLS_VER=1.0.0
|
GBATOOLS_VER=1.0.0
|
||||||
DSTOOLS_VER=1.0.2
|
DSTOOLS_VER=1.0.2
|
||||||
GP32_TOOLS_VER=1.0.1
|
GP32_TOOLS_VER=1.0.1
|
||||||
GRIT_VER=0.8.12
|
GRIT_VER=0.8.13
|
||||||
NDSTOOL_VER=1.50.3
|
NDSTOOL_VER=1.50.3
|
||||||
GENERAL_TOOLS_VER=1.0.0
|
GENERAL_TOOLS_VER=1.0.0
|
||||||
DLDITOOL_VER=1.24.0
|
DLDITOOL_VER=1.24.0
|
||||||
GAMECUBE_TOOLS_VER=1.0.0
|
GAMECUBE_TOOLS_VER=1.0.1
|
||||||
WIILOAD_VER=0.5.1
|
WIILOAD_VER=0.5.1
|
||||||
MMUTIL_VER=1.8.6
|
MMUTIL_VER=1.8.6
|
||||||
DFU_UTIL_VER=0.8.1
|
DFU_UTIL_VER=0.8.1
|
||||||
STLINK_VER=0.5.8
|
STLINK_VER=0.5.8
|
||||||
TOOLS3DS_VER=1.0.3
|
TOOLS3DS_VER=1.1.1
|
||||||
LINK3DS_VER=0.5.0
|
LINK3DS_VER=0.5.1
|
||||||
|
PICASSO_VER=2.1.0
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
function extract_and_patch {
|
function extract_and_patch {
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
if [ ! -f extracted-$1 ]; then
|
if [ ! -f extracted-$1 ]; then
|
||||||
echo "extracting $1"
|
echo "extracting $1"
|
||||||
if [ $3 == "bz2" ]; then
|
tar -xf "$SRCDIR/$1-$2.tar.$3" || { echo "Error extracting "$1; exit 1; }
|
||||||
extractflags="-xjf"
|
|
||||||
archivetype=".tar.bz2"
|
|
||||||
elif [ $3 == "gz" ]; then
|
|
||||||
extractflags="-xzf"
|
|
||||||
archivetype=".tar.gz"
|
|
||||||
else
|
|
||||||
echo "invalid archive type"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
tar $extractflags "$SRCDIR/$1-$2$archivetype" || { echo "Error extracting "$1; exit 1; }
|
|
||||||
touch extracted-$1
|
touch extracted-$1
|
||||||
fi
|
fi
|
||||||
if [[ ! -f patched-$1 && -f $patchdir/$1-$2.patch ]]; then
|
if [[ ! -f patched-$1 && -f $patchdir/$1-$2.patch ]]; then
|
||||||
@@ -169,10 +159,8 @@ PLATFORM=`uname -s`
|
|||||||
|
|
||||||
case $PLATFORM in
|
case $PLATFORM in
|
||||||
Darwin )
|
Darwin )
|
||||||
cflags="-mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
|
cflags="-mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk -I/usr/local/include"
|
||||||
ldflags="-mmacosx-version-min=10.4 -arch i386 -arch ppc -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk"
|
ldflags="-mmacosx-version-min=10.5 -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -L/usr/local/lib"
|
||||||
export CC=gcc-4.0
|
|
||||||
export CXX=g++-4.0
|
|
||||||
;;
|
;;
|
||||||
MINGW32* )
|
MINGW32* )
|
||||||
cflags="-D__USE_MINGW_ACCESS"
|
cflags="-D__USE_MINGW_ACCESS"
|
||||||
@@ -203,7 +191,8 @@ if [ $VERSION -eq 1 ]; then
|
|||||||
hostarchives="gbatools-$GBATOOLS_VER.tar.bz2 gp32tools-$GP32_TOOLS_VER.tar.bz2
|
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
|
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
|
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
|
fi
|
||||||
|
|
||||||
if [ $VERSION -eq 2 ]; then
|
if [ $VERSION -eq 2 ]; then
|
||||||
@@ -271,7 +260,7 @@ if [ -f $scriptdir/build-crtls.sh ]; then . $scriptdir/build-crtls.sh || { echo
|
|||||||
|
|
||||||
if [ ! -z $CROSSBUILD ]; then
|
if [ ! -z $CROSSBUILD ]; then
|
||||||
if [ $VERSION -ne 3 ]; then
|
if [ $VERSION -ne 3 ]; then
|
||||||
cp -v $CROSSLIBPATH/FreeImage.dll $prefix/bin
|
cp -v $CROSSBINPATH/FreeImage.dll $prefix/bin
|
||||||
fi
|
fi
|
||||||
if [ $VERSION -eq 1 ]; then
|
if [ $VERSION -eq 1 ]; then
|
||||||
cp -v $CROSSBINPATH/libusb-1.0.dll $prefix/bin
|
cp -v $CROSSBINPATH/libusb-1.0.dll $prefix/bin
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ SECTIONS
|
|||||||
{
|
{
|
||||||
/* =========== CODE section =========== */
|
/* =========== CODE section =========== */
|
||||||
|
|
||||||
. = 0x100000;
|
PROVIDE(__start__ = 0x100000);
|
||||||
__start__ = . ;
|
. = __start__;
|
||||||
|
|
||||||
.text ALIGN(0x1000) :
|
.text ALIGN(0x1000) :
|
||||||
{
|
{
|
||||||
@@ -67,6 +67,25 @@ SECTIONS
|
|||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
} : data
|
} : 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) :
|
.preinit_array ALIGN(4) :
|
||||||
{
|
{
|
||||||
PROVIDE (__preinit_array_start = .);
|
PROVIDE (__preinit_array_start = .);
|
||||||
@@ -115,6 +134,11 @@ SECTIONS
|
|||||||
*(.gnu.linkonce.b*)
|
*(.gnu.linkonce.b*)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
|
|
||||||
|
/* Reserve space for the TLS segment of the main thread */
|
||||||
|
__tls_start = .;
|
||||||
|
. += + SIZEOF(.tdata) + SIZEOF(.tbss);
|
||||||
|
__tls_end = .;
|
||||||
} : data
|
} : data
|
||||||
__bss_end__ = .;
|
__bss_end__ = .;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
%rename link old_link
|
%rename link old_link
|
||||||
|
|
||||||
*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:
|
*startfile:
|
||||||
3dsx_crt0%O%s crti%O%s crtbegin%O%s
|
3dsx_crt0%O%s crti%O%s crtbegin%O%s
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
%rename link old_link
|
%rename link old_link
|
||||||
|
|
||||||
*link:
|
*link:
|
||||||
%(old_link) -T ds_arm7.ld%s
|
%(old_link) -T ds_arm7.ld%s --gc-sections
|
||||||
|
|
||||||
*startfile:
|
*startfile:
|
||||||
ds_arm7_crt0%O%s crti%O%s crtbegin%O%s
|
ds_arm7_crt0%O%s crti%O%s crtbegin%O%s
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
%rename link old_link
|
%rename link old_link
|
||||||
|
|
||||||
*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:
|
*startfile:
|
||||||
ds_arm9_crt0%O%s crti%O%s crtbegin%O%s
|
ds_arm9_crt0%O%s crti%O%s crtbegin%O%s
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
%rename link old_link
|
%rename link old_link
|
||||||
|
|
||||||
*link:
|
*link:
|
||||||
%(old_link) -T ds_cart.ld%s
|
%(old_link) -T ds_cart.ld%s --gc-sections
|
||||||
|
|
||||||
*startfile:
|
*startfile:
|
||||||
ds_cart_crt0%O%s crti%O%s crtbegin%O%s
|
ds_cart_crt0%O%s crti%O%s crtbegin%O%s
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
%rename link old_link
|
%rename link old_link
|
||||||
|
|
||||||
*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:
|
*startfile:
|
||||||
ds_arm9_crt0%O%s crti%O%s crtbegin%O%s
|
ds_arm9_crt0%O%s crti%O%s crtbegin%O%s
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
%rename link old_link
|
%rename link old_link
|
||||||
|
|
||||||
*link:
|
*link:
|
||||||
%(old_link) -T gba_cart.ld%s
|
%(old_link) -T gba_cart.ld%s --gc-sections
|
||||||
|
|
||||||
*startfile:
|
*startfile:
|
||||||
gba_crt0%O%s crti%O%s crtbegin%O%s
|
gba_crt0%O%s crti%O%s crtbegin%O%s
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
%rename endfile old_endfile
|
%rename endfile old_endfile
|
||||||
|
|
||||||
*link:
|
*link:
|
||||||
-T gba_er.ld%s %(old_link)
|
-T gba_er.ld%s %(old_link) --gc-sections
|
||||||
|
|
||||||
*startfile:
|
*startfile:
|
||||||
er_crt0%O%s
|
er_crt0%O%s
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
%rename link old_link
|
%rename link old_link
|
||||||
|
|
||||||
*link:
|
*link:
|
||||||
-T gba_mb.ld%s %(old_link)
|
-T gba_mb.ld%s %(old_link) --gc-sections
|
||||||
|
|
||||||
*startfile:
|
*startfile:
|
||||||
gba_crt0%O%s crti%O%s crtbegin%O%s
|
gba_crt0%O%s crti%O%s crtbegin%O%s
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
%rename link old_link
|
%rename link old_link
|
||||||
|
|
||||||
*link:
|
*link:
|
||||||
%(old_link) -T gp32.ld%s
|
%(old_link) -T gp32.ld%s --gc-sections
|
||||||
|
|
||||||
*startfile:
|
*startfile:
|
||||||
gp32_crt0%O%s crti%O%s crtbegin%O%s
|
gp32_crt0%O%s crti%O%s crtbegin%O%s
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
%rename link old_link
|
%rename link old_link
|
||||||
|
|
||||||
*link:
|
*link:
|
||||||
%(old_link) -T gp32_gpsdk.ld%s
|
%(old_link) -T gp32_gpsdk.ld%s --gc-sections
|
||||||
|
|
||||||
*startfile:
|
*startfile:
|
||||||
gp32_gpsdk_crt0%O%s crti%O%s crtbegin%O%s
|
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
|
diff -Nbaur gcc-5.2.0/gcc/config/arm/t-arm-elf gcc-5.2.0-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-5.2.0/gcc/config/arm/t-arm-elf 2015-01-05 12:33:28.000000000 +0000
|
||||||
+++ gcc-4.9.2-arm/gcc/config/arm/t-arm-elf 2015-02-14 19:27:06.598220000 +0000
|
+++ gcc-5.2.0-arm/gcc/config/arm/t-arm-elf 2015-11-23 20:16:26.736000000 +0000
|
||||||
@@ -16,10 +16,18 @@
|
@@ -16,11 +16,19 @@
|
||||||
# along with GCC; see the file COPYING3. If not see
|
# along with GCC; see the file COPYING3. If not see
|
||||||
# <http://www.gnu.org/licenses/>.
|
# <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_DIRNAMES = thumb armv6k fpu
|
||||||
MULTILIB_EXCEPTIONS =
|
MULTILIB_EXCEPTIONS =
|
||||||
MULTILIB_MATCHES =
|
MULTILIB_MATCHES =
|
||||||
+
|
|
||||||
+MULTILIB_REQUIRED = mthumb march=armv6k/mfloat-abi=hard
|
+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_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
|
||||||
@@ -38,9 +46,9 @@
|
@@ -38,9 +46,9 @@
|
||||||
# Not quite true. We can support hard-vfp calling in Thumb2, but how do we
|
# 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
|
# 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=fa526/*mfloat-abi=hard*
|
||||||
#MULTILIB_EXCEPTIONS += *mcpu=fa626/*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
|
diff -Nbaur gcc-5.2.0/gcc/config/arm/unknown-elf.h gcc-5.2.0-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-5.2.0/gcc/config/arm/unknown-elf.h 2015-11-28 18:13:20.576000000 +0000
|
||||||
+++ gcc-4.9.2-arm/gcc/config/arm/unknown-elf.h 2015-02-14 19:27:06.598220000 +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 @@
|
@@ -93,4 +93,4 @@
|
||||||
udivmoddi4, which will depend on the exception unwind routines,
|
udivmoddi4, which will depend on the exception unwind routines,
|
||||||
which will depend on abort, which is defined in libc. */
|
which will depend on abort, which is defined in libc. */
|
||||||
#undef LINK_GCC_C_SEQUENCE_SPEC
|
#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 --end-group"
|
||||||
+#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --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
|
diff -Nbaur gcc-5.2.0/gcc/gcc.c gcc-5.2.0-arm/gcc/gcc.c
|
||||||
--- gcc-4.9.2/gcc/gcc.c 2014-10-22 22:42:48.000000000 +0100
|
--- gcc-5.2.0/gcc/gcc.c 2015-03-10 09:37:41.000000000 +0000
|
||||||
+++ gcc-4.9.2-arm/gcc/gcc.c 2015-02-14 19:27:06.606220000 +0000
|
+++ gcc-5.2.0-arm/gcc/gcc.c 2015-11-23 20:16:26.740000000 +0000
|
||||||
@@ -616,6 +616,11 @@
|
@@ -647,6 +647,11 @@
|
||||||
#endif
|
#endif
|
||||||
#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. */
|
/* config.h can define STARTFILE_SPEC to override the default crt0 files. */
|
||||||
#ifndef STARTFILE_SPEC
|
#ifndef STARTFILE_SPEC
|
||||||
#define STARTFILE_SPEC \
|
#define STARTFILE_SPEC \
|
||||||
@@ -813,6 +818,7 @@
|
@@ -879,6 +884,7 @@
|
||||||
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;
|
||||||
@@ -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 *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;
|
||||||
@@ -1303,6 +1309,7 @@
|
@@ -1374,6 +1380,7 @@
|
||||||
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),
|
||||||
@@ -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 ("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-4.9.2/gcc/Makefile.in gcc-4.9.2-arm/gcc/Makefile.in
|
diff -Nbaur gcc-5.2.0/gcc/Makefile.in gcc-5.2.0-arm/gcc/Makefile.in
|
||||||
--- gcc-4.9.2/gcc/Makefile.in 2014-10-16 14:50:42.000000000 +0100
|
--- gcc-5.2.0/gcc/Makefile.in 2015-05-04 11:46:32.000000000 +0100
|
||||||
+++ gcc-4.9.2-arm/gcc/Makefile.in 2015-02-14 21:02:09.598220000 +0000
|
+++ gcc-5.2.0-arm/gcc/Makefile.in 2015-11-23 20:16:26.744000000 +0000
|
||||||
@@ -1046,8 +1046,8 @@
|
@@ -1053,8 +1053,8 @@
|
||||||
# things like the go/%.o rule work properly; but we use $(*F) for the
|
# 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 part, as we just want the file part of the stem, not the entire
|
||||||
# file name.
|
# file name.
|
||||||
@@ -89,9 +99,9 @@ diff -NBaur gcc-4.9.2/gcc/Makefile.in gcc-4.9.2-arm/gcc/Makefile.in
|
|||||||
else
|
else
|
||||||
COMPILE = source='$<' object='$@' libtool=no \
|
COMPILE = source='$<' object='$@' libtool=no \
|
||||||
DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) $(COMPILE.base)
|
DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) $(COMPILE.base)
|
||||||
diff -NBaur gcc-4.9.2/libcpp/Makefile.in gcc-4.9.2-arm/libcpp/Makefile.in
|
diff -Nbaur gcc-5.2.0/libcpp/Makefile.in gcc-5.2.0-arm/libcpp/Makefile.in
|
||||||
--- gcc-4.9.2/libcpp/Makefile.in 2014-10-30 08:28:58.000000000 +0000
|
--- gcc-5.2.0/libcpp/Makefile.in 2015-07-16 10:16:25.000000000 +0100
|
||||||
+++ gcc-4.9.2-arm/libcpp/Makefile.in 2015-02-14 19:27:06.606220000 +0000
|
+++ gcc-5.2.0-arm/libcpp/Makefile.in 2015-11-23 20:16:26.744000000 +0000
|
||||||
@@ -208,8 +208,7 @@
|
@@ -208,8 +208,7 @@
|
||||||
# Note that we put the dependencies into a .Tpo file, then move them
|
# 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
|
# 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
|
else
|
||||||
COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \
|
COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \
|
||||||
$(depcomp) $(COMPILE.base)
|
$(depcomp) $(COMPILE.base)
|
||||||
diff -NBaur gcc-4.9.2/libgcc/config/arm/t-bpabi gcc-4.9.2-arm/libgcc/config/arm/t-bpabi
|
diff -Nbaur gcc-5.2.0/libgcc/config/arm/t-bpabi gcc-5.2.0-arm/libgcc/config/arm/t-bpabi
|
||||||
--- gcc-4.9.2/libgcc/config/arm/t-bpabi 2012-08-17 16:06:06.000000000 +0100
|
--- gcc-5.2.0/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
|
+++ gcc-5.2.0-arm/libgcc/config/arm/t-bpabi 2015-11-23 20:16:26.744000000 +0000
|
||||||
@@ -17,4 +17,4 @@
|
@@ -17,4 +17,4 @@
|
||||||
# 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-4.9.2/libgcc/crtstuff.c gcc-4.9.2-arm/libgcc/crtstuff.c
|
diff -Nbaur gcc-5.2.0/libgcc/crtstuff.c gcc-5.2.0-arm/libgcc/crtstuff.c
|
||||||
--- gcc-4.9.2/libgcc/crtstuff.c 2014-03-10 18:31:20.000000000 +0000
|
--- gcc-5.2.0/libgcc/crtstuff.c 2015-01-05 12:33:28.000000000 +0000
|
||||||
+++ gcc-4.9.2-arm/libgcc/crtstuff.c 2015-02-14 19:27:06.610220000 +0000
|
+++ gcc-5.2.0-arm/libgcc/crtstuff.c 2015-11-23 20:16:26.744000000 +0000
|
||||||
@@ -47,7 +47,7 @@
|
@@ -47,7 +47,7 @@
|
||||||
|
|
||||||
/* Target machine header files require this define. */
|
/* 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
|
/* 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-4.9.2/libgcc/Makefile.in gcc-4.9.2-arm/libgcc/Makefile.in
|
diff -Nbaur gcc-5.2.0/libgcc/Makefile.in gcc-5.2.0-arm/libgcc/Makefile.in
|
||||||
--- gcc-4.9.2/libgcc/Makefile.in 2014-01-08 16:37:08.000000000 +0000
|
--- gcc-5.2.0/libgcc/Makefile.in 2015-01-29 08:03:56.000000000 +0000
|
||||||
+++ gcc-4.9.2-arm/libgcc/Makefile.in 2015-02-14 19:27:06.610220000 +0000
|
+++ gcc-5.2.0-arm/libgcc/Makefile.in 2015-11-23 20:16:26.744000000 +0000
|
||||||
@@ -816,7 +816,7 @@
|
@@ -819,7 +819,7 @@
|
||||||
# libgcc_eh.a, only LIB2ADDEH matters. If we do, only LIB2ADDEHSTATIC and
|
# libgcc_eh.a, only LIB2ADDEH matters. If we do, only LIB2ADDEHSTATIC and
|
||||||
# LIB2ADDEHSHARED matter. (Usually all three are identical.)
|
# 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
|
diff -NBaur gdb-7.10/gdb/Makefile.in gdb-7.10-arm/gdb/Makefile.in
|
||||||
--- gdb-7.8.2/gdb/Makefile.in 2015-01-15 10:58:12.000000000 +0000
|
--- gdb-7.10/gdb/Makefile.in 2015-08-28 22:22:07.000000000 +0100
|
||||||
+++ gdb-7.8.2-arm/gdb/Makefile.in 2015-01-21 17:13:14.155896000 +0000
|
+++ gdb-7.10-arm/gdb/Makefile.in 2015-10-21 08:54:36.492597858 +0100
|
||||||
@@ -2516,10 +2516,8 @@
|
@@ -2676,10 +2676,8 @@
|
||||||
# Note that we put the dependencies into a .Tpo file, then move them
|
# 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
|
# into place if the compile succeeds. We need this because gcc does
|
||||||
# not atomically write the dependency output file.
|
# 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@else
|
||||||
@GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
|
@GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
|
||||||
@GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
|
@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
|
diff -NBaur gdb-7.10/sim/common/Make-common.in gdb-7.10-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.10/sim/common/Make-common.in 2015-07-06 20:57:46.000000000 +0100
|
||||||
+++ gdb-7.8.2-arm/sim/common/Make-common.in 2015-01-21 17:13:14.155896000 +0000
|
+++ gdb-7.10-arm/sim/common/Make-common.in 2015-10-21 08:54:36.492597858 +0100
|
||||||
@@ -415,10 +415,8 @@
|
@@ -421,10 +421,8 @@
|
||||||
# Note that we put the dependencies into a .Tpo file, then move them
|
# 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
|
# into place if the compile succeeds. We need this because gcc does
|
||||||
# not atomically write the dependency output file.
|
# 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
|
diff --git a/libgloss/libsysbase/chdir.c b/libgloss/libsysbase/chdir.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..c850f27
|
index 0000000..ae3a099
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libgloss/libsysbase/chdir.c
|
+++ b/libgloss/libsysbase/chdir.c
|
||||||
@@ -0,0 +1,192 @@
|
@@ -0,0 +1,199 @@
|
||||||
+#include <unistd.h>
|
+#include <unistd.h>
|
||||||
+#include <limits.h>
|
+#include <limits.h>
|
||||||
+#include <reent.h>
|
+#include <reent.h>
|
||||||
+#include <string.h>
|
+#include <string.h>
|
||||||
+#include <errno.h>
|
+#include <errno.h>
|
||||||
|
+#include <stdlib.h>
|
||||||
+#include <sys/iosupport.h>
|
+#include <sys/iosupport.h>
|
||||||
+#include <sys/param.h>
|
+#include <sys/param.h>
|
||||||
+
|
+
|
||||||
@@ -779,7 +780,13 @@ index 0000000..c850f27
|
|||||||
+ strncpy (temp_cwd, _current_working_directory, PATH_MAX);
|
+ 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 */
|
+ /* Make sure the path starts in the root directory */
|
||||||
+ if (pathPosition[0] != DIRECTORY_SEPARATOR_CHAR) {
|
+ 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
|
diff --git a/libgloss/libsysbase/close.c b/libgloss/libsysbase/close.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..6470054
|
index 0000000..c69a817
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libgloss/libsysbase/close.c
|
+++ b/libgloss/libsysbase/close.c
|
||||||
@@ -0,0 +1,49 @@
|
@@ -0,0 +1,49 @@
|
||||||
@@ -907,7 +914,7 @@ index 0000000..6470054
|
|||||||
+#endif
|
+#endif
|
||||||
+ int ret = -1;
|
+ int ret = -1;
|
||||||
+ unsigned int dev = 0;
|
+ unsigned int dev = 0;
|
||||||
+ unsigned int fd = -1;
|
+ int fd = -1;
|
||||||
+
|
+
|
||||||
+ if(fileDesc!=-1) {
|
+ if(fileDesc!=-1) {
|
||||||
+
|
+
|
||||||
@@ -917,7 +924,7 @@ index 0000000..6470054
|
|||||||
+ dev = handle->device;
|
+ dev = handle->device;
|
||||||
+ handle->refcount--;
|
+ handle->refcount--;
|
||||||
+ if (handle->refcount == 0 ) {
|
+ if (handle->refcount == 0 ) {
|
||||||
+ fd = (unsigned int)handle->fileStruct;
|
+ fd = (int)handle->fileStruct;
|
||||||
+
|
+
|
||||||
+ if(devoptab_list[dev]->close_r)
|
+ if(devoptab_list[dev]->close_r)
|
||||||
+ ret = devoptab_list[dev]->close_r(ptr,fd);
|
+ 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
|
diff --git a/libgloss/libsysbase/fstat.c b/libgloss/libsysbase/fstat.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..c0d80dd
|
index 0000000..9881601
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libgloss/libsysbase/fstat.c
|
+++ b/libgloss/libsysbase/fstat.c
|
||||||
@@ -0,0 +1,45 @@
|
@@ -0,0 +1,45 @@
|
||||||
@@ -5787,7 +5794,7 @@ index 0000000..c0d80dd
|
|||||||
+#endif
|
+#endif
|
||||||
+ int ret = -1;
|
+ int ret = -1;
|
||||||
+ unsigned int dev = 0;
|
+ unsigned int dev = 0;
|
||||||
+ unsigned int fd = -1;
|
+ int fd = -1;
|
||||||
+
|
+
|
||||||
+ __handle * handle = NULL;
|
+ __handle * handle = NULL;
|
||||||
+
|
+
|
||||||
@@ -6152,12 +6159,13 @@ index 0000000..9714c10
|
|||||||
+}
|
+}
|
||||||
diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c
|
diff --git a/libgloss/libsysbase/iosupport.c b/libgloss/libsysbase/iosupport.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..ae816a8
|
index 0000000..c08699d
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libgloss/libsysbase/iosupport.c
|
+++ b/libgloss/libsysbase/iosupport.c
|
||||||
@@ -0,0 +1,126 @@
|
@@ -0,0 +1,133 @@
|
||||||
+#include <stdlib.h>
|
+#include <stdlib.h>
|
||||||
+#include <string.h>
|
+#include <string.h>
|
||||||
|
+#include <ctype.h>
|
||||||
+#include <sys/iosupport.h>
|
+#include <sys/iosupport.h>
|
||||||
+
|
+
|
||||||
+static int defaultDevice = -1;
|
+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 = {
|
+const devoptab_t dotab_stdnull = {
|
||||||
+//---------------------------------------------------------------------------------
|
+//---------------------------------------------------------------------------------
|
||||||
+ "stdnull", // device name
|
+ "stdnull", // device name
|
||||||
+ 0, // size of file structure
|
+ 0, // size of file structure
|
||||||
+ NULL, // device open
|
+ NULL, // device open
|
||||||
+ NULL, // device close
|
+ NULL, // device close
|
||||||
+ NULL, // device write
|
+ null_write, // device write
|
||||||
+ NULL, // device read
|
+ NULL, // device read
|
||||||
+ NULL, // device seek
|
+ NULL, // device seek
|
||||||
+ NULL, // device fstat
|
+ NULL, // device fstat
|
||||||
@@ -6382,7 +6396,7 @@ index 0000000..c1698dd
|
|||||||
+
|
+
|
||||||
diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c
|
diff --git a/libgloss/libsysbase/lseek.c b/libgloss/libsysbase/lseek.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..aa232e0
|
index 0000000..20a7da1
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libgloss/libsysbase/lseek.c
|
+++ b/libgloss/libsysbase/lseek.c
|
||||||
@@ -0,0 +1,53 @@
|
@@ -0,0 +1,53 @@
|
||||||
@@ -6417,7 +6431,7 @@ index 0000000..aa232e0
|
|||||||
+//---------------------------------------------------------------------------------
|
+//---------------------------------------------------------------------------------
|
||||||
+ _off_t ret = -1;
|
+ _off_t ret = -1;
|
||||||
+ unsigned int dev = 0;
|
+ unsigned int dev = 0;
|
||||||
+ unsigned int fd = -1;
|
+ int fd = -1;
|
||||||
+
|
+
|
||||||
+ __handle * handle;
|
+ __handle * handle;
|
||||||
+
|
+
|
||||||
@@ -6539,7 +6553,7 @@ index 0000000..7a3953c
|
|||||||
+}
|
+}
|
||||||
diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c
|
diff --git a/libgloss/libsysbase/read.c b/libgloss/libsysbase/read.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..c7eaafe
|
index 0000000..5fa5919
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libgloss/libsysbase/read.c
|
+++ b/libgloss/libsysbase/read.c
|
||||||
@@ -0,0 +1,47 @@
|
@@ -0,0 +1,47 @@
|
||||||
@@ -6570,7 +6584,7 @@ index 0000000..c7eaafe
|
|||||||
+#endif
|
+#endif
|
||||||
+ int ret = -1;
|
+ int ret = -1;
|
||||||
+ unsigned int dev = 0;
|
+ unsigned int dev = 0;
|
||||||
+ unsigned int fd = -1;
|
+ int fd = -1;
|
||||||
+
|
+
|
||||||
+ __handle * handle = NULL;
|
+ __handle * handle = NULL;
|
||||||
+
|
+
|
||||||
@@ -7132,7 +7146,7 @@ index 0000000..2c29982
|
|||||||
+#endif /* __WARNING_H__ */
|
+#endif /* __WARNING_H__ */
|
||||||
diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c
|
diff --git a/libgloss/libsysbase/write.c b/libgloss/libsysbase/write.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..263eb69
|
index 0000000..9422f52
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/libgloss/libsysbase/write.c
|
+++ b/libgloss/libsysbase/write.c
|
||||||
@@ -0,0 +1,46 @@
|
@@ -0,0 +1,46 @@
|
||||||
@@ -7163,7 +7177,7 @@ index 0000000..263eb69
|
|||||||
+#endif
|
+#endif
|
||||||
+ int ret = -1;
|
+ int ret = -1;
|
||||||
+ unsigned int dev = 0;
|
+ unsigned int dev = 0;
|
||||||
+ unsigned int fd = -1;
|
+ int fd = -1;
|
||||||
+
|
+
|
||||||
+ __handle * handle = NULL;
|
+ __handle * handle = NULL;
|
||||||
+
|
+
|
||||||
@@ -7183,7 +7197,7 @@ index 0000000..263eb69
|
|||||||
+ return ret;
|
+ return ret;
|
||||||
+}
|
+}
|
||||||
diff --git a/newlib/configure.host b/newlib/configure.host
|
diff --git a/newlib/configure.host b/newlib/configure.host
|
||||||
index c4773d9..4f1f5a2 100644
|
index c4773d9..e55f330 100644
|
||||||
--- a/newlib/configure.host
|
--- a/newlib/configure.host
|
||||||
+++ b/newlib/configure.host
|
+++ b/newlib/configure.host
|
||||||
@@ -602,6 +602,14 @@ case "${host}" in
|
@@ -602,6 +602,14 @@ case "${host}" in
|
||||||
@@ -7194,7 +7208,7 @@ index c4773d9..4f1f5a2 100644
|
|||||||
+ default_newlib_io_c99_formats="yes"
|
+ default_newlib_io_c99_formats="yes"
|
||||||
+ default_newlib_io_long_long="yes"
|
+ default_newlib_io_long_long="yes"
|
||||||
+ default_newlib_io_pos_args="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"
|
+ newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections"
|
||||||
+ syscall_dir=syscalls
|
+ syscall_dir=syscalls
|
||||||
+ ;;
|
+ ;;
|
||||||
@@ -7290,10 +7304,10 @@ index a3fb5c0..1ead46b 100644
|
|||||||
+#endif // _dirent_h_
|
+#endif // _dirent_h_
|
||||||
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 0000000..1cd3b62
|
index 0000000..2b5fc6e
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/newlib/libc/include/sys/iosupport.h
|
+++ b/newlib/libc/include/sys/iosupport.h
|
||||||
@@ -0,0 +1,107 @@
|
@@ -0,0 +1,105 @@
|
||||||
+//---------------------------------------------------------------------------------
|
+//---------------------------------------------------------------------------------
|
||||||
+#ifndef __iosupp_h__
|
+#ifndef __iosupp_h__
|
||||||
+#define __iosupp_h__
|
+#define __iosupp_h__
|
||||||
@@ -7367,8 +7381,6 @@ index 0000000..1cd3b62
|
|||||||
+ void *(*sbrk_r) (struct _reent *ptr, ptrdiff_t incr);
|
+ void *(*sbrk_r) (struct _reent *ptr, ptrdiff_t incr);
|
||||||
+ void (*exit) ( int rc );
|
+ void (*exit) ( int rc );
|
||||||
+ int (*gettod_r) (struct _reent *ptr, struct timeval *tp, struct timezone *tz);
|
+ 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_init) (_LOCK_T *lock);
|
||||||
+ void (*lock_acquire) (_LOCK_T *lock);
|
+ void (*lock_acquire) (_LOCK_T *lock);
|
||||||
+ int (*lock_try_acquire) (_LOCK_T *lock);
|
+ int (*lock_try_acquire) (_LOCK_T *lock);
|
||||||
@@ -7444,10 +7456,10 @@ index 0000000..380329d
|
|||||||
+#endif // _SYS_STATVFS_H
|
+#endif // _SYS_STATVFS_H
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h
|
diff --git a/newlib/libc/include/sys/syslimits.h b/newlib/libc/include/sys/syslimits.h
|
||||||
index ba9dbd6..8bc19ff 100644
|
index ba9dbd6..51d99ec 100644
|
||||||
--- a/newlib/libc/include/sys/syslimits.h
|
--- a/newlib/libc/include/sys/syslimits.h
|
||||||
+++ b/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 LINK_MAX 32767 /* max file link count */
|
||||||
#define MAX_CANON 255 /* max bytes in term canon input line */
|
#define MAX_CANON 255 /* max bytes in term canon input line */
|
||||||
#define MAX_INPUT 255 /* max bytes in terminal input */
|
#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 */
|
#define NGROUPS_MAX 16 /* max supplemental group id's */
|
||||||
#ifndef OPEN_MAX
|
#ifndef OPEN_MAX
|
||||||
#define OPEN_MAX 64 /* max open files per process */
|
#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
|
diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h
|
||||||
index ed33e0a..79f73ac 100644
|
index ed33e0a..79f73ac 100644
|
||||||
--- a/newlib/libc/include/sys/types.h
|
--- a/newlib/libc/include/sys/types.h
|
||||||
@@ -7725,8 +7731,80 @@ index 13e1e4c..ba71516 100644
|
|||||||
/* Cygwin starts up in UTF-8 mode. */
|
/* Cygwin starts up in UTF-8 mode. */
|
||||||
= __utf8_wctomb;
|
= __utf8_wctomb;
|
||||||
#else
|
#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
|
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
|
--- a/newlib/libc/sys/arm/sys/param.h
|
||||||
+++ b/newlib/libc/sys/arm/sys/param.h
|
+++ b/newlib/libc/sys/arm/sys/param.h
|
||||||
@@ -3,10 +3,17 @@
|
@@ -3,10 +3,17 @@
|
||||||
@@ -7739,13 +7817,12 @@ index adc066e..4bf7ad5 100644
|
|||||||
+#endif
|
+#endif
|
||||||
+#ifndef NOFILE
|
+#ifndef NOFILE
|
||||||
# define NOFILE (60)
|
# define NOFILE (60)
|
||||||
-# define PATHSIZE (1024)
|
|
||||||
+#endif
|
+#endif
|
||||||
+#ifndef PATHSIZE
|
+#ifndef PATHSIZE
|
||||||
+# define PATHSIZE (4096)
|
# define PATHSIZE (1024)
|
||||||
+#endif
|
+#endif
|
||||||
|
|
||||||
+#define MAXPATHLEN 4096
|
+#define MAXPATHLEN PATHSIZE
|
||||||
#define BIG_ENDIAN 4321
|
#define BIG_ENDIAN 4321
|
||||||
#define LITTLE_ENDIAN 1234
|
#define LITTLE_ENDIAN 1234
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ include $(DEVKITARM)/base_rules
|
|||||||
|
|
||||||
PORTLIBS := $(PORTLIBS_PATH)/armv6k $(PORTLIBS_PATH)/3ds
|
PORTLIBS := $(PORTLIBS_PATH)/armv6k $(PORTLIBS_PATH)/3ds
|
||||||
|
|
||||||
CTRULIB := $(DEVKITPRO)/libctru
|
CTRULIB ?= $(DEVKITPRO)/libctru
|
||||||
|
|
||||||
ifeq ($(strip $(APP_TITLE)),)
|
ifeq ($(strip $(APP_TITLE)),)
|
||||||
APP_TITLE := $(notdir $(OUTPUT))
|
APP_TITLE := $(notdir $(OUTPUT))
|
||||||
|
|||||||
@@ -20,10 +20,11 @@ PREFIX := arm-none-eabi-
|
|||||||
export CC := $(PREFIX)gcc
|
export CC := $(PREFIX)gcc
|
||||||
export CXX := $(PREFIX)g++
|
export CXX := $(PREFIX)g++
|
||||||
export AS := $(PREFIX)as
|
export AS := $(PREFIX)as
|
||||||
export AR := $(PREFIX)ar
|
export AR := $(PREFIX)gcc-ar
|
||||||
export OBJCOPY := $(PREFIX)objcopy
|
export OBJCOPY := $(PREFIX)objcopy
|
||||||
export STRIP := $(PREFIX)strip
|
export STRIP := $(PREFIX)strip
|
||||||
export NM := $(PREFIX)nm
|
export NM := $(PREFIX)gcc-nm
|
||||||
|
export RANLIB := $(PREFIX)gcc-ranlib
|
||||||
|
|
||||||
ISVC=$(or $(VCBUILDHELPER_COMMAND),$(MSBUILDEXTENSIONSPATH32),$(MSBUILDEXTENSIONSPATH))
|
ISVC=$(or $(VCBUILDHELPER_COMMAND),$(MSBUILDEXTENSIONSPATH32),$(MSBUILDEXTENSIONSPATH))
|
||||||
|
|
||||||
|
|||||||
@@ -43,6 +43,8 @@ then
|
|||||||
--enable-languages=c,c++,objc,obj-c++ \
|
--enable-languages=c,c++,objc,obj-c++ \
|
||||||
--with-gnu-as --with-gnu-ld --with-gcc \
|
--with-gnu-as --with-gnu-ld --with-gcc \
|
||||||
--with-march=armv4t\
|
--with-march=armv4t\
|
||||||
|
--enable-cxx-flags='-ffunction-sections' \
|
||||||
|
--disable-libstdcxx-verbose \
|
||||||
--enable-poison-system-directories \
|
--enable-poison-system-directories \
|
||||||
--enable-interwork --enable-multilib \
|
--enable-interwork --enable-multilib \
|
||||||
--disable-dependency-tracking \
|
--disable-dependency-tracking \
|
||||||
@@ -54,7 +56,7 @@ then
|
|||||||
--with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \
|
--with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \
|
||||||
--prefix=$prefix \
|
--prefix=$prefix \
|
||||||
--enable-lto $plugin_ld\
|
--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 \
|
$CROSS_PARAMS \
|
||||||
|| { echo "Error configuring gcc"; exit 1; }
|
|| { echo "Error configuring gcc"; exit 1; }
|
||||||
touch configured-gcc
|
touch configured-gcc
|
||||||
|
|||||||
257
dkppc/crtls/wup.ld
Normal file
257
dkppc/crtls/wup.ld
Normal file
@@ -0,0 +1,257 @@
|
|||||||
|
/*
|
||||||
|
* 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 . */
|
||||||
|
}
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
diff -Nbaur binutils-2.24/opcodes/ppc-opc.c binutils-2.24-ppc/opcodes/ppc-opc.c
|
|
||||||
--- binutils-2.24/opcodes/ppc-opc.c 2013-11-04 15:33:40.000000000 +0000
|
|
||||||
+++ binutils-2.24-ppc/opcodes/ppc-opc.c 2014-04-01 14:22:06.000000000 +0100
|
|
||||||
@@ -2735,7 +2735,7 @@
|
|
||||||
#define MFDEC1 PPC_OPCODE_POWER
|
|
||||||
#define MFDEC2 PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE | PPC_OPCODE_TITAN
|
|
||||||
#define BOOKE PPC_OPCODE_BOOKE
|
|
||||||
-#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS | PPC_OPCODE_VLE
|
|
||||||
+#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS | PPC_OPCODE_VLE
|
|
||||||
#define PPCE300 PPC_OPCODE_E300
|
|
||||||
#define PPCSPE PPC_OPCODE_SPE | PPC_OPCODE_VLE
|
|
||||||
#define PPCISEL PPC_OPCODE_ISEL | PPC_OPCODE_VLE
|
|
||||||
12
dkppc/patches/binutils-2.27.patch
Normal file
12
dkppc/patches/binutils-2.27.patch
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
diff -Nbaur binutils-2.27/opcodes/ppc-opc.c binutils-2.27-ppc/opcodes/ppc-opc.c
|
||||||
|
--- binutils-2.27/opcodes/ppc-opc.c 2016-08-03 08:36:54.000000000 +0100
|
||||||
|
+++ binutils-2.27-ppc/opcodes/ppc-opc.c 2016-11-08 21:37:45.360000000 +0000
|
||||||
|
@@ -3037,7 +3037,7 @@
|
||||||
|
#define MFDEC1 PPC_OPCODE_POWER
|
||||||
|
#define MFDEC2 PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE | PPC_OPCODE_TITAN
|
||||||
|
#define BOOKE PPC_OPCODE_BOOKE
|
||||||
|
-#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS
|
||||||
|
+#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS
|
||||||
|
#define PPCE300 PPC_OPCODE_E300
|
||||||
|
#define PPCSPE PPC_OPCODE_SPE
|
||||||
|
#define PPCISEL PPC_OPCODE_ISEL
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
diff -Nbaur gcc-4.8.2/gcc/config/rs6000/rs6000.h gcc-4.8.2-ppc/gcc/config/rs6000/rs6000.h
|
diff -NBaur gcc-6.1.0/gcc/config/rs6000/rs6000.h gcc-6.1.0-ppc/gcc/config/rs6000/rs6000.h
|
||||||
--- gcc-4.8.2/gcc/config/rs6000/rs6000.h 2013-06-19 02:18:38.000000000 +0100
|
--- gcc-6.1.0/gcc/config/rs6000/rs6000.h 2016-01-20 20:30:24.000000000 +0000
|
||||||
+++ gcc-4.8.2-ppc/gcc/config/rs6000/rs6000.h 2014-04-01 14:13:11.000000000 +0100
|
+++ gcc-6.1.0-ppc/gcc/config/rs6000/rs6000.h 2016-05-20 12:10:24.645019640 +0100
|
||||||
@@ -195,6 +195,7 @@
|
@@ -205,6 +205,7 @@
|
||||||
{ "asm_cpu_476", ASM_CPU_476_SPEC }, \
|
{ "asm_cpu_476", ASM_CPU_476_SPEC }, \
|
||||||
SUBTARGET_EXTRA_SPECS
|
SUBTARGET_EXTRA_SPECS
|
||||||
|
|
||||||
@@ -9,42 +9,44 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/rs6000.h gcc-4.8.2-ppc/gcc/config/rs6000
|
|||||||
/* -mcpu=native handling only makes sense with compiler running on
|
/* -mcpu=native handling only makes sense with compiler running on
|
||||||
an PowerPC chip. If changing this condition, also change
|
an PowerPC chip. If changing this condition, also change
|
||||||
the condition in driver-rs6000.c. */
|
the condition in driver-rs6000.c. */
|
||||||
@@ -209,6 +210,8 @@
|
@@ -219,6 +220,8 @@
|
||||||
#else
|
#else
|
||||||
#define ASM_CPU_NATIVE_SPEC "%(asm_default)"
|
#define ASM_CPU_NATIVE_SPEC "%(asm_default)"
|
||||||
#endif
|
#endif
|
||||||
+#endif
|
+#endif
|
||||||
+#define ASM_CPU_NATIVE_SPEC "%(asm_default)"
|
+#define ASM_CPU_NATIVE_SPEC "%(asm_default)"
|
||||||
|
|
||||||
#ifndef CC1_CPU_SPEC
|
#ifndef CC1_CPU_SPEC
|
||||||
#ifdef HAVE_LOCAL_CPU_DETECT
|
#ifdef HAVE_LOCAL_CPU_DETECT
|
||||||
diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/sysv4.h
|
diff -NBaur gcc-6.1.0/gcc/config/rs6000/sysv4.h gcc-6.1.0-ppc/gcc/config/rs6000/sysv4.h
|
||||||
--- gcc-4.8.2/gcc/config/rs6000/sysv4.h 2013-06-19 02:18:38.000000000 +0100
|
--- gcc-6.1.0/gcc/config/rs6000/sysv4.h 2016-01-04 14:30:50.000000000 +0000
|
||||||
+++ gcc-4.8.2-ppc/gcc/config/rs6000/sysv4.h 2014-04-01 14:13:11.000000000 +0100
|
+++ gcc-6.1.0-ppc/gcc/config/rs6000/sysv4.h 2016-05-20 12:12:27.073019640 +0100
|
||||||
@@ -570,7 +570,11 @@
|
@@ -559,7 +559,12 @@
|
||||||
|
|
||||||
/* Default starting address if specified. */
|
/* Default starting address if specified. */
|
||||||
#define LINK_START_SPEC "\
|
#define LINK_START_SPEC "\
|
||||||
-%{mads : %(link_start_ads) ; \
|
-%{mads : %(link_start_ads) ; \
|
||||||
+%{mgcn|mogc : %(link_start_ogc) ; \
|
+%{mgcn|mogc : %(link_start_ogc) ; \
|
||||||
+ 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) ; \
|
||||||
@@ -604,7 +608,8 @@
|
@@ -590,7 +594,9 @@
|
||||||
|
|
||||||
/* 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) ; \
|
||||||
@@ -622,7 +627,10 @@
|
@@ -608,7 +613,11 @@
|
||||||
/* 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} \
|
||||||
@@ -52,11 +54,12 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
|
|||||||
+%{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) ; \
|
||||||
@@ -636,7 +644,10 @@
|
@@ -622,7 +630,11 @@
|
||||||
|
|
||||||
#undef STARTFILE_SPEC
|
#undef STARTFILE_SPEC
|
||||||
#define STARTFILE_SPEC "\
|
#define STARTFILE_SPEC "\
|
||||||
@@ -64,11 +67,12 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
|
|||||||
+%{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) ; \
|
||||||
@@ -646,11 +657,12 @@
|
@@ -632,11 +643,13 @@
|
||||||
mcall-openbsd: %(startfile_openbsd) ; \
|
mcall-openbsd: %(startfile_openbsd) ; \
|
||||||
: %(startfile_default) }"
|
: %(startfile_default) }"
|
||||||
|
|
||||||
@@ -79,11 +83,12 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
|
|||||||
#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) ; \
|
||||||
@@ -660,11 +672,12 @@
|
@@ -646,11 +658,13 @@
|
||||||
mcall-openbsd: %(lib_openbsd) ; \
|
mcall-openbsd: %(lib_openbsd) ; \
|
||||||
: %(lib_default) }"
|
: %(lib_default) }"
|
||||||
|
|
||||||
@@ -94,98 +99,111 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
|
|||||||
#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) ; \
|
||||||
@@ -680,16 +693,27 @@
|
@@ -666,16 +679,33 @@
|
||||||
|
|
||||||
/* 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"
|
||||||
@@ -859,6 +883,7 @@
|
@@ -855,6 +879,8 @@
|
||||||
#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 }, \
|
||||||
@@ -868,6 +893,7 @@
|
@@ -864,6 +889,8 @@
|
||||||
{ "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 }, \
|
||||||
@@ -877,6 +903,7 @@
|
@@ -873,6 +899,8 @@
|
||||||
{ "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 }, \
|
||||||
@@ -889,7 +916,11 @@
|
@@ -884,7 +911,12 @@
|
||||||
|
{ "endfile_default", ENDFILE_DEFAULT_SPEC }, \
|
||||||
{ "link_shlib", LINK_SHLIB_SPEC }, \
|
{ "link_shlib", LINK_SHLIB_SPEC }, \
|
||||||
{ "link_target", LINK_TARGET_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 }, \
|
||||||
@@ -899,6 +930,7 @@
|
@@ -894,6 +925,8 @@
|
||||||
{ "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 }, \
|
||||||
@@ -912,6 +944,9 @@
|
@@ -905,6 +937,10 @@
|
||||||
{ "cc1_endian_little", CC1_ENDIAN_LITTLE_SPEC }, \
|
{ "link_os_default", LINK_OS_DEFAULT_SPEC }, \
|
||||||
{ "cc1_endian_default", CC1_ENDIAN_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 }, \
|
||||||
+ { "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 -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.opt gcc-4.8.2-ppc/gcc/config/rs6000/sysv4.opt
|
diff -NBaur gcc-6.1.0/gcc/config/rs6000/sysv4.opt gcc-6.1.0-ppc/gcc/config/rs6000/sysv4.opt
|
||||||
--- gcc-4.8.2/gcc/config/rs6000/sysv4.opt 2013-01-10 20:38:27.000000000 +0000
|
--- gcc-6.1.0/gcc/config/rs6000/sysv4.opt 2016-01-04 14:30:50.000000000 +0000
|
||||||
+++ gcc-4.8.2-ppc/gcc/config/rs6000/sysv4.opt 2014-04-01 14:13:11.000000000 +0100
|
+++ gcc-6.1.0-ppc/gcc/config/rs6000/sysv4.opt 2016-05-20 12:10:24.649019640 +0100
|
||||||
@@ -120,6 +120,26 @@
|
@@ -120,6 +120,30 @@
|
||||||
Target RejectNegative
|
Target RejectNegative
|
||||||
Link with libads.a, libc.a and crt0.o
|
Link with libads.a, libc.a and crt0.o.
|
||||||
|
|
||||||
+mgcn
|
+mgcn
|
||||||
+Target RejectNegative
|
+Target RejectNegative
|
||||||
@@ -206,14 +224,18 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.opt gcc-4.8.2-ppc/gcc/config/rs600
|
|||||||
+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
|
||||||
Link with libyk.a, libc.a and crt0.o
|
Link with libyk.a, libc.a and crt0.o.
|
||||||
diff -Nbaur gcc-4.8.2/gcc/config.gcc gcc-4.8.2-ppc/gcc/config.gcc
|
diff -NBaur gcc-6.1.0/gcc/config.gcc gcc-6.1.0-ppc/gcc/config.gcc
|
||||||
--- gcc-4.8.2/gcc/config.gcc 2013-10-03 01:47:24.000000000 +0100
|
--- gcc-6.1.0/gcc/config.gcc 2016-04-11 11:14:59.000000000 +0100
|
||||||
+++ gcc-4.8.2-ppc/gcc/config.gcc 2014-04-01 14:13:11.000000000 +0100
|
+++ gcc-6.1.0-ppc/gcc/config.gcc 2016-05-20 12:10:24.661019640 +0100
|
||||||
@@ -2057,7 +2057,7 @@
|
@@ -2381,7 +2381,7 @@
|
||||||
use_gcc_stdint=wrap
|
use_gcc_stdint=wrap
|
||||||
;;
|
;;
|
||||||
powerpc-*-eabi*)
|
powerpc-*-eabi*)
|
||||||
@@ -222,10 +244,24 @@ diff -Nbaur gcc-4.8.2/gcc/config.gcc gcc-4.8.2-ppc/gcc/config.gcc
|
|||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
|
tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
|
||||||
use_gcc_stdint=wrap
|
use_gcc_stdint=wrap
|
||||||
diff -Nbaur gcc-4.8.2/libcpp/Makefile.in gcc-4.8.2-ppc/libcpp/Makefile.in
|
diff -NBaur gcc-6.1.0/gcc/Makefile.in gcc-6.1.0-ppc/gcc/Makefile.in
|
||||||
--- gcc-4.8.2/libcpp/Makefile.in 2013-10-16 08:27:58.000000000 +0100
|
--- gcc-6.1.0/gcc/Makefile.in 2016-04-15 12:49:39.000000000 +0100
|
||||||
+++ gcc-4.8.2-ppc/libcpp/Makefile.in 2014-04-01 14:13:11.000000000 +0100
|
+++ gcc-6.1.0-ppc/gcc/Makefile.in 2016-05-20 12:10:24.641019640 +0100
|
||||||
@@ -207,8 +207,7 @@
|
@@ -1073,8 +1073,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.
|
||||||
|
-COMPILE = $(COMPILE.base) -MT $@ -MMD -MP -MF $(@D)/$(DEPDIR)/$(*F).TPo
|
||||||
|
-POSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(*F).TPo $(@D)/$(DEPDIR)/$(*F).Po
|
||||||
|
+COMPILE = $(COMPILE.base)
|
||||||
|
+POSTCOMPILE =
|
||||||
|
else
|
||||||
|
COMPILE = source='$<' object='$@' libtool=no \
|
||||||
|
DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) $(COMPILE.base)
|
||||||
|
diff -NBaur gcc-6.1.0/libcpp/Makefile.in gcc-6.1.0-ppc/libcpp/Makefile.in
|
||||||
|
--- gcc-6.1.0/libcpp/Makefile.in 2016-04-27 09:22:11.000000000 +0100
|
||||||
|
+++ gcc-6.1.0-ppc/libcpp/Makefile.in 2016-05-20 12:10:24.661019640 +0100
|
||||||
|
@@ -208,8 +208,7 @@
|
||||||
# Note that we put the dependencies into a .Tpo file, then move them
|
# 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
|
# into place if the compile succeeds. We need this because gcc does
|
||||||
# not atomically write the dependency output file.
|
# not atomically write the dependency output file.
|
||||||
@@ -235,9 +271,9 @@ diff -Nbaur gcc-4.8.2/libcpp/Makefile.in gcc-4.8.2-ppc/libcpp/Makefile.in
|
|||||||
else
|
else
|
||||||
COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \
|
COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \
|
||||||
$(depcomp) $(COMPILE.base)
|
$(depcomp) $(COMPILE.base)
|
||||||
diff -Nbaur gcc-4.8.2/libgcc/config/rs6000/crtrestvr.S gcc-4.8.2-ppc/libgcc/config/rs6000/crtrestvr.S
|
diff -NBaur gcc-6.1.0/libgcc/config/rs6000/crtrestvr.S gcc-6.1.0-ppc/libgcc/config/rs6000/crtrestvr.S
|
||||||
--- gcc-4.8.2/libgcc/config/rs6000/crtrestvr.S 2013-02-04 19:06:20.000000000 +0000
|
--- gcc-6.1.0/libgcc/config/rs6000/crtrestvr.S 2016-01-04 14:30:50.000000000 +0000
|
||||||
+++ gcc-4.8.2-ppc/libgcc/config/rs6000/crtrestvr.S 2014-04-01 14:13:11.000000000 +0100
|
+++ gcc-6.1.0-ppc/libgcc/config/rs6000/crtrestvr.S 2016-05-20 12:10:24.665019640 +0100
|
||||||
@@ -24,7 +24,7 @@
|
@@ -24,7 +24,7 @@
|
||||||
|
|
||||||
/* On PowerPC64 Linux, these functions are provided by the linker. */
|
/* On PowerPC64 Linux, these functions are provided by the linker. */
|
||||||
@@ -252,31 +288,43 @@ diff -Nbaur gcc-4.8.2/libgcc/config/rs6000/crtrestvr.S gcc-4.8.2-ppc/libgcc/conf
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
+#endif
|
+#endif
|
||||||
diff -Nbaur gcc-4.8.2/libgcc/config/rs6000/crtsavevr.S gcc-4.8.2-ppc/libgcc/config/rs6000/crtsavevr.S
|
diff -NBaur gcc-6.1.0/libgcc/config/rs6000/crtsavevr.S gcc-6.1.0-ppc/libgcc/config/rs6000/crtsavevr.S
|
||||||
--- gcc-4.8.2/libgcc/config/rs6000/crtsavevr.S 2013-02-04 19:06:20.000000000 +0000
|
--- gcc-6.1.0/libgcc/config/rs6000/crtsavevr.S 2016-01-04 14:30:50.000000000 +0000
|
||||||
+++ gcc-4.8.2-ppc/libgcc/config/rs6000/crtsavevr.S 2014-04-01 14:13:11.000000000 +0100
|
+++ gcc-6.1.0-ppc/libgcc/config/rs6000/crtsavevr.S 2016-05-20 12:10:24.665019640 +0100
|
||||||
@@ -24,6 +24,7 @@
|
@@ -24,7 +24,7 @@
|
||||||
|
|
||||||
/* On PowerPC64 Linux, these functions are provided by the linker. */
|
/* On PowerPC64 Linux, these functions are provided by the linker. */
|
||||||
#ifndef __powerpc64__
|
#ifndef __powerpc64__
|
||||||
|
-
|
||||||
+#if 0
|
+#if 0
|
||||||
|
|
||||||
#undef __ALTIVEC__
|
#undef __ALTIVEC__
|
||||||
#define __ALTIVEC__ 1
|
#define __ALTIVEC__ 1
|
||||||
@@ -85,3 +86,4 @@
|
#include "ppc-asm.h"
|
||||||
|
@@ -85,3 +85,4 @@
|
||||||
CFI_ENDPROC
|
CFI_ENDPROC
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
+#endif
|
+#endif
|
||||||
diff -Nbaur gcc-4.8.2/libgcc/crtstuff.c gcc-4.8.2-ppc/libgcc/crtstuff.c
|
diff -NBaur gcc-6.1.0/libgcc/crtstuff.c gcc-6.1.0-ppc/libgcc/crtstuff.c
|
||||||
--- gcc-4.8.2/libgcc/crtstuff.c 2013-02-04 19:06:20.000000000 +0000
|
--- gcc-6.1.0/libgcc/crtstuff.c 2016-01-04 14:30:50.000000000 +0000
|
||||||
+++ gcc-4.8.2-ppc/libgcc/crtstuff.c 2014-04-01 14:13:11.000000000 +0100
|
+++ gcc-6.1.0-ppc/libgcc/crtstuff.c 2016-05-20 12:10:24.669019640 +0100
|
||||||
@@ -47,7 +47,7 @@
|
@@ -47,6 +47,7 @@
|
||||||
|
|
||||||
/* Target machine header files require this define. */
|
/* Target machine header files require this define. */
|
||||||
#define IN_LIBGCC2
|
#define IN_LIBGCC2
|
||||||
-
|
|
||||||
+#define USED_FOR_TARGET
|
+#define USED_FOR_TARGET
|
||||||
|
|
||||||
/* 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. */
|
diff -NBaur gcc-6.1.0/libstdc++-v3/include/std/type_traits gcc-6.1.0-ppc/libstdc++-v3/include/std/type_traits
|
||||||
|
--- gcc-6.1.0/libstdc++-v3/include/std/type_traits 2016-01-12 21:19:58.000000000 +0000
|
||||||
|
+++ gcc-6.1.0-ppc/libstdc++-v3/include/std/type_traits 2016-05-20 12:10:24.669019640 +0100
|
||||||
|
@@ -38,7 +38,7 @@
|
||||||
|
#include <bits/c++config.h>
|
||||||
|
|
||||||
|
#ifdef _GLIBCXX_USE_C99_STDINT_TR1
|
||||||
|
-# if defined (__UINT_LEAST16_TYPE__) && defined(__UINT_LEAST32_TYPE__)
|
||||||
|
+# if defined (__UINT_LEAST16_TYPE__) && defined(__UINT_LEAST32_TYPE__) && 0
|
||||||
|
namespace std
|
||||||
|
{
|
||||||
|
typedef __UINT_LEAST16_TYPE__ uint_least16_t;
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
diff -Nbaur gdb-7.7/gdb/Makefile.in gdb-7.7-ppc/gdb/Makefile.in
|
diff -NBaur gdb-7.10/gdb/Makefile.in gdb-7.10-ppc/gdb/Makefile.in
|
||||||
--- gdb-7.7/gdb/Makefile.in 2014-02-06 02:21:29.000000000 +0000
|
--- gdb-7.10/gdb/Makefile.in 2015-08-28 22:22:07.000000000 +0100
|
||||||
+++ gdb-7.7-ppc/gdb/Makefile.in 2014-04-01 14:01:24.000000000 +0100
|
+++ gdb-7.10-ppc/gdb/Makefile.in 2015-11-09 09:21:13.228003995 +0000
|
||||||
@@ -2307,10 +2307,10 @@
|
@@ -2676,10 +2676,10 @@
|
||||||
# Note that we put the dependencies into a .Tpo file, then move them
|
# 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
|
# into place if the compile succeeds. We need this because gcc does
|
||||||
# not atomically write the dependency output file.
|
# not atomically write the dependency output file.
|
||||||
@@ -16,15 +16,3 @@ diff -Nbaur gdb-7.7/gdb/Makefile.in gdb-7.7-ppc/gdb/Makefile.in
|
|||||||
@GMAKE_TRUE@else
|
@GMAKE_TRUE@else
|
||||||
@GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
|
@GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
|
||||||
@GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
|
@GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
|
||||||
diff -Nbaur gdb-7.7/sim/ppc/Makefile.in gdb-7.7-ppc/sim/ppc/Makefile.in
|
|
||||||
--- gdb-7.7/sim/ppc/Makefile.in 2013-12-08 04:55:48.000000000 +0000
|
|
||||||
+++ gdb-7.7-ppc/sim/ppc/Makefile.in 2014-04-01 14:01:24.000000000 +0100
|
|
||||||
@@ -552,7 +552,7 @@
|
|
||||||
PACKAGE_OBJ = @sim_pk_obj@
|
|
||||||
|
|
||||||
|
|
||||||
-psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBS) $(LIBINTL_DEP)
|
|
||||||
+psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBINTL_DEP)
|
|
||||||
$(CC) $(CFLAGS) $(SIM_CFLAGS) $(LDFLAGS) -o psim$(EXEEXT) main.o $(TARGETLIB) $(BFD_LIB) $(LIBINTL) $(LIBIBERTY_LIB) $(LIBS)
|
|
||||||
|
|
||||||
run: psim
|
|
||||||
@@ -6630,29 +6630,6 @@ diff -Nbaur newlib-2.0.0/newlib/libc/include/pthread.h newlib-2.0.0-ppc/newlib/l
|
|||||||
-
|
-
|
||||||
-#endif
|
-#endif
|
||||||
-/* end of include file */
|
-/* end of include file */
|
||||||
diff -Nbaur newlib-2.0.0/newlib/libc/include/stdint.h newlib-2.0.0-ppc/newlib/libc/include/stdint.h
|
|
||||||
--- newlib-2.0.0/newlib/libc/include/stdint.h 2012-10-16 19:45:23.000000000 +0100
|
|
||||||
+++ newlib-2.0.0-ppc/newlib/libc/include/stdint.h 2013-09-06 22:13:38.000000000 +0100
|
|
||||||
@@ -75,14 +75,14 @@
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if __have_long32
|
|
||||||
-typedef signed long int32_t;
|
|
||||||
-typedef unsigned long uint32_t;
|
|
||||||
-#define __int32_t_defined 1
|
|
||||||
-#elif __STDINT_EXP(INT_MAX) == 0x7fffffffL
|
|
||||||
+#if __STDINT_EXP(INT_MAX) == 0x7fffffffL
|
|
||||||
typedef signed int int32_t;
|
|
||||||
typedef unsigned int uint32_t;
|
|
||||||
#define __int32_t_defined 1
|
|
||||||
+#elif __have_long32
|
|
||||||
+typedef signed long int32_t;
|
|
||||||
+typedef unsigned long uint32_t;
|
|
||||||
+#define __int32_t_defined 1
|
|
||||||
#elif __STDINT_EXP(SHRT_MAX) == 0x7fffffffL
|
|
||||||
typedef signed short int32_t;
|
|
||||||
typedef unsigned short uint32_t;
|
|
||||||
diff -Nbaur newlib-2.0.0/newlib/libc/include/stdio.h newlib-2.0.0-ppc/newlib/libc/include/stdio.h
|
diff -Nbaur newlib-2.0.0/newlib/libc/include/stdio.h newlib-2.0.0-ppc/newlib/libc/include/stdio.h
|
||||||
--- newlib-2.0.0/newlib/libc/include/stdio.h 2012-11-01 11:51:11.000000000 +0000
|
--- newlib-2.0.0/newlib/libc/include/stdio.h 2012-11-01 11:51:11.000000000 +0000
|
||||||
+++ newlib-2.0.0-ppc/newlib/libc/include/stdio.h 2013-09-06 22:13:38.000000000 +0100
|
+++ newlib-2.0.0-ppc/newlib/libc/include/stdio.h 2013-09-06 22:13:38.000000000 +0100
|
||||||
|
|||||||
12
dkppc/rules/wiiu_rules
Normal file
12
dkppc/rules/wiiu_rules
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
ifeq ($(strip $(DEVKITPPC)),)
|
||||||
|
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPro/devkitPPC)
|
||||||
|
endif
|
||||||
|
|
||||||
|
MACHDEP = -DESPRESSO -mwup -mcpu=750 -meabi -mhard-float
|
||||||
|
|
||||||
|
include $(DEVKITPPC)/base_rules
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
%.elf:
|
||||||
|
@echo linking ... $(notdir $@)
|
||||||
|
@$(LD) $^ $(LDFLAGS) $(LIBPATHS) $(LIBS) -o $@
|
||||||
@@ -16,7 +16,7 @@ then
|
|||||||
--prefix=$prefix --target=$target --disable-nls --disable-shared --disable-debug \
|
--prefix=$prefix --target=$target --disable-nls --disable-shared --disable-debug \
|
||||||
--disable-werror \
|
--disable-werror \
|
||||||
--enable-poison-system-directories \
|
--enable-poison-system-directories \
|
||||||
--enable-plugins --enable-lto --disable-dependency-tracking \
|
--enable-plugins --enable-lto \
|
||||||
--disable-werror $CROSS_PARAMS \
|
--disable-werror $CROSS_PARAMS \
|
||||||
|| { echo "Error configuing ppc binutils"; exit 1; }
|
|| { echo "Error configuing ppc binutils"; exit 1; }
|
||||||
touch configured-binutils
|
touch configured-binutils
|
||||||
@@ -47,7 +47,6 @@ if [ ! -f configured-binutils ]
|
|||||||
then
|
then
|
||||||
CFLAGS=$cflags LDFLAGS=$ldflags ../../binutils-$BINUTILS_VER/configure \
|
CFLAGS=$cflags LDFLAGS=$ldflags ../../binutils-$BINUTILS_VER/configure \
|
||||||
--prefix=$prefix --target=mn10200 --disable-nls --disable-debug \
|
--prefix=$prefix --target=mn10200 --disable-nls --disable-debug \
|
||||||
--disable-dependency-tracking \
|
|
||||||
--disable-werror $CROSS_PARAMS \
|
--disable-werror $CROSS_PARAMS \
|
||||||
|| { echo "Error configuing mn10200 binutils"; exit 1; }
|
|| { echo "Error configuing mn10200 binutils"; exit 1; }
|
||||||
touch configured-binutils
|
touch configured-binutils
|
||||||
@@ -82,12 +81,13 @@ then
|
|||||||
--disable-nls --disable-shared --enable-threads --disable-multilib \
|
--disable-nls --disable-shared --enable-threads --disable-multilib \
|
||||||
--disable-win32-registry \
|
--disable-win32-registry \
|
||||||
--disable-libstdcxx-pch \
|
--disable-libstdcxx-pch \
|
||||||
|
--disable-libstdcxx-verbose \
|
||||||
|
--enable-cxx-flags='-ffunction-sections -fdata-sections' \
|
||||||
--target=$target \
|
--target=$target \
|
||||||
--with-newlib \
|
--with-newlib \
|
||||||
--with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \
|
--with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \
|
||||||
--prefix=$prefix\
|
--prefix=$prefix\
|
||||||
--disable-dependency-tracking \
|
--with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitPPC release 28" \
|
||||||
--with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitPPC release 27" \
|
|
||||||
$CROSS_PARAMS \
|
$CROSS_PARAMS \
|
||||||
|| { echo "Error configuring gcc stage 1"; exit 1; }
|
|| { echo "Error configuring gcc stage 1"; exit 1; }
|
||||||
touch configured-gcc
|
touch configured-gcc
|
||||||
@@ -170,7 +170,7 @@ cd $target/gdb
|
|||||||
if [ ! -f configured-gdb ]
|
if [ ! -f configured-gdb ]
|
||||||
then
|
then
|
||||||
CFLAGS="$cflags" LDFLAGS="$ldflags" ../../gdb-$GDB_VER/configure \
|
CFLAGS="$cflags" LDFLAGS="$ldflags" ../../gdb-$GDB_VER/configure \
|
||||||
--disable-nls --prefix=$prefix --target=$target --disable-werror --disable-dependency-tracking\
|
--disable-nls --prefix=$prefix --target=$target --disable-werror \
|
||||||
$CROSS_PARAMS || { echo "Error configuring gdb"; exit 1; }
|
$CROSS_PARAMS || { echo "Error configuring gdb"; exit 1; }
|
||||||
touch configured-gdb
|
touch configured-gdb
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -30,20 +30,20 @@ done
|
|||||||
|
|
||||||
case "$VERSION" in
|
case "$VERSION" in
|
||||||
"1" )
|
"1" )
|
||||||
GCC_VER=4.9.2
|
GCC_VER=5.3.0
|
||||||
BINUTILS_VER=2.25
|
BINUTILS_VER=2.25.1
|
||||||
NEWLIB_VER=2.2.0
|
NEWLIB_VER=2.2.0
|
||||||
GDB_VER=7.8.2
|
GDB_VER=7.10
|
||||||
basedir='dkarm-eabi'
|
basedir='dkarm-eabi'
|
||||||
package=devkitARM
|
package=devkitARM
|
||||||
target=arm-none-eabi
|
target=arm-none-eabi
|
||||||
toolchain=DEVKITARM
|
toolchain=DEVKITARM
|
||||||
;;
|
;;
|
||||||
"2" )
|
"2" )
|
||||||
GCC_VER=4.8.2
|
GCC_VER=6.2.0
|
||||||
BINUTILS_VER=2.24
|
BINUTILS_VER=2.27
|
||||||
NEWLIB_VER=2.0.0
|
NEWLIB_VER=2.0.0
|
||||||
GDB_VER=7.7
|
GDB_VER=7.11
|
||||||
basedir='dkppc'
|
basedir='dkppc'
|
||||||
package=devkitPPC
|
package=devkitPPC
|
||||||
target=powerpc-eabi
|
target=powerpc-eabi
|
||||||
|
|||||||
Reference in New Issue
Block a user