Compare commits

..

1 Commits

Author SHA1 Message Date
Dave Murphy
9bf09fc8a8 make devkitPSP build again 2018-06-05 23:31:45 +00:00
43 changed files with 4459 additions and 4974 deletions

3
.gitignore vendored
View File

@@ -2,6 +2,3 @@ config.sh
.devkitARM* .devkitARM*
.devkitPPC* .devkitPPC*
.devkitPSP* .devkitPSP*
*.gz
*.bz2
*~

View File

@@ -1,65 +1,59 @@
devkitPro build scripts devkitPro build scripts
-------------------------- --------------------------
This readme will guide you through building devkitARM, devkitPPC or devkitPSP This readme will guide you through building devkitARM, devkitPPC or devkitPSP from source using a set of scripts.
from source using a set of scripts.
The windows versions of the toolchains are now cross compiled on linux using To use these scripts under minsys and MinGW you will need some additional packages over and above the base install.
mingw-w64
Preparing to build The minsys developer toolkit
--------------------------
http://prdownloads.sourceforge.net/mingw/msysDTK-1.0.1.exe?download
Bison, Flex and Wget from the gnuwin32 project
http://sourceforge.net/projects/gnuwin32/
For devkitPSP a command line subversion client is required to get the PSP SDK http://www.tigris.org
required packages for building on debian/*buntu required packages for building on debian/*buntu
sudo apt-get install build-essential autoconf automake bison flex libncurses5-dev sudo apt-get install build-essential autoconf automake bison flex libncurses5-dev libreadline-dev texinfo
libreadline-dev texinfo pkg-config
For building gcc libgmp, libmpfr and libmpc are required - these are built as for building gcc libgmp, libmpfr and libmpc are required
static libraries to make packaging simpler. If you're building the tools for
personal use then the versions packaged by your chosen distro should suffice.
http://gmplib.org/ http://gmplib.org/
http://www.mpfr.org/ http://www.mpfr.org/
http://www.multiprecision.org/ http://www.multiprecision.org/
Some of the tools for devkitARM and devkitPPC also require FreeImage, zlib, Some of the tools for devkitARM and devkitPPC also require FreeImage and zlib
and libusb. Again these are built as static libraries for ease of packaging
but you can probably use the versions supplied by your distro.
http://freeimage.sourceforge.net/ http://freeimage.sourceforge.net/
http://www.zlib.net http://www.zlib.net
http://www.libusb.org
Downloading the source packages
-------------------------------
Building gxtexconv for cube/wii needs GL/gl.h which can be obtained with When you run the build script it will ask you to choose from one of two options, one for if you have already downloaded the source packages and another for if you want it to download them for you (using wget or curl).
sudo apt-get install mesa-common-dev
To avoid having to manually answer prompts during the build the script will
read variables from config.sh if it exists. Copy config.sh.sample to config.sh
and set the variables as appropriate for your build.
The script will download the source packages it needs. These will be downloaded
to the script directory by default but you can set BUILD_DKPRO_SRCDIR if you want
to put them somewhere else. When its finished you have the option to delete
all temporary files, sources and their source packages.
The top level shell script has now been unified and offers the option of devkitARM, devkitPPC or devkitPSP.
Building the devkits Building the devkits
-------------------- --------------------
Simply run the "build-devkit.sh" script in the same directory as this text file Simply run the "build-devkit.sh" script in the same directory as this text file as shown below, then follow the prompts;
as shown below, then follow the prompts;
./build-devkit.sh ./build-devkit.sh
Several examples tarballs are provided for the platforms supported by devkitARM & Once the script finds the source packages they will be decompressed and the build process will begin. When its finished you have the option to delete all temporary files, sources and their source packages.
devkitPPC, these include basic templates for starting your own projects.
See http://wiki.devkitpro.org/index.php/Getting_Started for links. To avoid having to manually answer prompts during the build the script will read variables from config.sh if it exists. Copy config.sh.sample to config.sh and set the variables as appropriate for your build.
Several examples tarballs are provided for the platforms supported by devkitARM & devkitPPC, these include basic templates for starting your own projects. See http://wiki.devkitpro.org/index.php/Getting_Started for links.
Using devkitARM Using devkitARM
--------------- ---------------
to use the built in crt0 and linkscript use arm-none-eabi-gcc to link your project to use the built in crt0 and linkscript use arm-eabi-gcc to link your project
Several specs files are built in for the various platforms Several specs files are built in for the various platforms
@@ -71,31 +65,25 @@ Several specs files are built in for the various platforms
-specs=ds_cart for a DS arm7 binary which runs from GBA cart. -specs=ds_cart for a DS arm7 binary which runs from GBA cart.
-specs=gp32.specs for standard GP32 app. -specs=gp32.specs for standard GP32 app.
-specs=gp32_gpsdk.specs for official gamepark SDK GP32 app. -specs=gp32_gpsdk.specs for official gamepark SDK GP32 app.
-specs=3dsx.specs for a 3DS homebrew binary.
Using devkitPPC 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-gekko-gcc to link your project, 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.
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.
Using devkitPSP Using devkitPSP
--------------- ---------------
All you need to do now to use devkitPSP is make sure that your freshly built tools All you need to do now to use devkitPSP is make sure that your freshly built tools are in your PATH, something like this;
are in your PATH, something like this;
export PATH=$PATH:<path to devkitPSP>/bin export PATH=$PATH:<path to devkitPSP>/bin
(Obviously replace <path to devkitPSP> with the full path to the devkitPSP (Obviously replace <path to devkitPSP> with the full path to the devkitPSP installation directory)
installation directory)
Getting started Getting started
--------------- ---------------
The best thing to do next is test the compiler, so grab an examples tarball The best thing to do next is test the compiler, so grab an examples tarball from sourceforge & run make in the top level.
from sourceforge & run make in the top level.
Credits Credits
------- -------
@@ -103,7 +91,6 @@ Credits
* Thanks to WinterMute for bringing us devkitPro, the website is http://www.devkitpro.org * Thanks to WinterMute for bringing us devkitPro, the website is http://www.devkitpro.org
* Build scripts written by WinterMute and tied together by GreenGianT * Build scripts written by WinterMute and tied together by GreenGianT
* Thanks to Mr Spiv, Honkey Kong, Raleigh and JoostP for OS X testing * Thanks to Mr Spiv, Honkey Kong, Raleigh and JoostP for OS X testing
* libctru by Smealum, YellowS8, fincs, mtheall & WinterMute with contributions from many others.
* libogc written and supplied by Shagkur. Additional code by WinterMute, Bushing, Marcan & Tybor * libogc written and supplied by Shagkur. Additional code by WinterMute, Bushing, Marcan & Tybor
* libgba by WinterMute * libgba by WinterMute
* libnds by Joat, Dovoto and WinterMute with contributions from many others. * libnds by Joat, Dovoto and WinterMute with contributions from many others.

View File

@@ -1,8 +1,8 @@
#!/bin/bash #!/bin/bash
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# Build scripts for # Build scripts for
# devkitARM release 45 # devkitARM release 38
# devkitPPC release 27 # devkitPPC release 26
# devkitPSP release 17 # devkitPSP release 17
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@@ -11,8 +11,8 @@ if [ 0 -eq 1 ] ; then
echo "Please use the latest release buildscripts unless advised otherwise by devkitPro staff." echo "Please use the latest release buildscripts unless advised otherwise by devkitPro staff."
echo "http://sourceforge.net/projects/devkitpro/files/buildscripts/" echo "http://sourceforge.net/projects/devkitpro/files/buildscripts/"
echo echo
echo "The scripts in the git repository are quite often dependent on things which currently only exist" echo "The scripts in svn are quite often dependent on things which currently only exist on developer"
echo "on developer machines. This is not a bug, use stable releases." echo "machines. This is not a bug, use stable releases."
exit 1 exit 1
fi fi
@@ -24,32 +24,26 @@ 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.10
LIBGBA_VER=20150106 LIBGBA_VER=20090222
LIBNDS_VER=1.5.12 LIBNDS_VER=1.5.5
LIBCTRU_VER=0.6.0 DEFAULT_ARM7_VER=0.5.24
DEFAULT_ARM7_VER=0.6.0 DSWIFI_VER=0.3.13
DSWIFI_VER=0.3.17
LIBMIRKO_VER=0.9.7 LIBMIRKO_VER=0.9.7
MAXMOD_VER=1.0.9 MAXMOD_VER=1.0.7
FILESYSTEM_VER=0.9.12 FILESYSTEM_VER=0.9.9
LIBFAT_VER=1.0.14 LIBFAT_VER=1.0.11
PSPSDK_VER=20120404 PSPSDK_VER=20120404
GBATOOLS_VER=1.0.0 GBATOOLS_VER=1.0.0
DSTOOLS_VER=1.0.2 GRIT_VER=0.8.10
GP32_TOOLS_VER=1.0.1 NDSTOOL_VER=1.50.1
GRIT_VER=0.8.13
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 GXTEXCONV_VER=0.1.9
GCDSPSUITE_VER=1.4.0
ELF2DOL_VER=1.0.0
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
STLINK_VER=0.5.8
TOOLS3DS_VER=1.1.1
LINK3DS_VER=0.5.1
PICASSO_VER=2.1.0
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
function extract_and_patch { function extract_and_patch {
@@ -66,7 +60,7 @@ function extract_and_patch {
echo "invalid archive type" echo "invalid archive type"
exit 1 exit 1
fi fi
tar $extractflags "$SRCDIR/$1-$2$archivetype" || { echo "Error extracting "$1; exit 1; } 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
@@ -93,7 +87,7 @@ unset LDFLAGS
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# Look for automated configuration file to bypass prompts # Look for automated configuration file to bypass prompts
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
echo -n "Looking for configuration file... " echo -n "Looking for configuration file... "
if [ -f ./config.sh ]; then if [ -f ./config.sh ]; then
echo "Found." echo "Found."
@@ -115,7 +109,7 @@ else
echo "for mingw/msys you must use <drive>:/<install path> or you will have include path problems" echo "for mingw/msys you must use <drive>:/<install path> or you will have include path problems"
echo "this is the top level directory for devkitpro, i.e. e:/devkitPro" echo "this is the top level directory for devkitpro, i.e. e:/devkitPro"
read -e INSTALLDIR read INSTALLDIR
echo echo
fi fi
@@ -160,7 +154,7 @@ fi
if [ "$BUILD_DKPRO_AUTOMATED" != "1" ] ; then if [ "$BUILD_DKPRO_AUTOMATED" != "1" ] ; then
echo echo
echo 'Ready to install '$package' in '$prefix echo 'Ready to install '$package' in '$INSTALLDIR
echo echo
echo 'press return to continue' echo 'press return to continue'
@@ -187,7 +181,7 @@ BUILDDIR=$(pwd)/.$package
if [ ! -z $CROSSBUILD ]; then if [ ! -z $CROSSBUILD ]; then
BUILDDIR=$BUILDDIR-$CROSSBUILD BUILDDIR=$BUILDDIR-$CROSSBUILD
fi fi
DEVKITPRO_URL="http://downloads.sourceforge.net/devkitpro" DEVKITPRO_URL="https://downloads.devkitpro.org"
patchdir=$(pwd)/$basedir/patches patchdir=$(pwd)/$basedir/patches
scriptdir=$(pwd)/$basedir/scripts scriptdir=$(pwd)/$basedir/scripts
@@ -195,30 +189,22 @@ scriptdir=$(pwd)/$basedir/scripts
archives="binutils-${BINUTILS_VER}.tar.bz2 gcc-${GCC_VER}.tar.bz2 newlib-${NEWLIB_VER}.tar.gz gdb-${GDB_VER}.tar.bz2" archives="binutils-${BINUTILS_VER}.tar.bz2 gcc-${GCC_VER}.tar.bz2 newlib-${NEWLIB_VER}.tar.gz gdb-${GDB_VER}.tar.bz2"
if [ $VERSION -eq 1 ]; then if [ $VERSION -eq 1 ]; then
targetarchives="libnds-src-${LIBNDS_VER}.tar.bz2 libgba-src-${LIBGBA_VER}.tar.bz2 targetarchives="libnds-src-${LIBNDS_VER}.tar.bz2 libgba-src-${LIBGBA_VER}.tar.bz2
libmirko-src-${LIBMIRKO_VER}.tar.bz2 dswifi-src-${DSWIFI_VER}.tar.bz2 maxmod-src-${MAXMOD_VER}.tar.bz2 libmirko-src-${LIBMIRKO_VER}.tar.bz2 dswifi-src-${DSWIFI_VER}.tar.bz2 maxmod-src-${MAXMOD_VER}.tar.bz2
default_arm7-src-${DEFAULT_ARM7_VER}.tar.bz2 libfilesystem-src-${FILESYSTEM_VER}.tar.bz2 default-arm7-src-${DEFAULT_ARM7_VER}.tar.bz2 libfilesystem-src-${FILESYSTEM_VER}.tar.bz2
libfat-src-${LIBFAT_VER}.tar.bz2 libctru-src-${LIBCTRU_VER}.tar.bz2" libfat-src-${LIBFAT_VER}.tar.bz2"
hostarchives="gbatools-$GBATOOLS_VER.tar.bz2 grit-$GRIT_VER.tar.bz2 ndstool-$NDSTOOL_VER.tar.bz2
hostarchives="gbatools-$GBATOOLS_VER.tar.bz2 gp32tools-$GP32_TOOLS_VER.tar.bz2 general-tools-$GENERAL_TOOLS_VER.tar.bz2 dlditool-$DLDITOOL_VER.tar.bz2 mmutil-$MMUTIL_VER.tar.bz2"
dstools-$DSTOOLS_VER.tar.bz2 grit-$GRIT_VER.tar.bz2 ndstool-$NDSTOOL_VER.tar.bz2
general-tools-$GENERAL_TOOLS_VER.tar.bz2 dlditool-$DLDITOOL_VER.tar.bz2 mmutil-$MMUTIL_VER.tar.bz2
dfu-util-$DFU_UTIL_VER.tar.bz2 stlink-$STLINK_VER.tar.bz2 3dstools-$TOOLS3DS_VER.tar.bz2
picasso-$PICASSO_VER.tar.bz2 3dslink-$LINK3DS_VER.tar.bz2"
fi fi
if [ $VERSION -eq 2 ]; then if [ $VERSION -eq 2 ]; then
targetarchives="libogc-src-${LIBOGC_VER}.tar.bz2 libfat-src-${LIBFAT_VER}.tar.bz2" targetarchives="libogc-src-${LIBOGC_VER}.tar.bz2 libfat-src-${LIBFAT_VER}.tar.bz2"
hostarchives="gxtexconv-$GXTEXCONV_VER.tar.bz2 gcdspsuite-$GCDSPSUITE_VER.tar.bz2
hostarchives="gamecube-tools-$GAMECUBE_TOOLS_VER.tar.bz2 wiiload-$WIILOAD_VER.tar.bz2 general-tools-$GENERAL_TOOLS_VER.tar.bz2" wiiload-$WIILOAD_VER.tar.bz2 elf2dol-$ELF2DOL_VER.tar.bz2 general-tools-$GENERAL_TOOLS_VER.tar.bz2"
fi fi
if [ $VERSION -eq 3 ]; then if [ $VERSION -eq 3 ]; then
targetarchives="pspsdk-src-${PSPSDK_VER}.tar.bz2" targetarchives="pspsdk-src-${PSPSDK_VER}.tar.bz2"
fi fi
if [ ! -z "$BUILD_DKPRO_SRCDIR" ] ; then if [ ! -z "$BUILD_DKPRO_SRCDIR" ] ; then
@@ -227,12 +213,12 @@ else
SRCDIR=`pwd` SRCDIR=`pwd`
fi fi
cd "$SRCDIR" cd $SRCDIR
for archive in $archives $targetarchives $hostarchives for archive in $archives $targetarchives $hostarchives
do do
echo $archive echo $archive
if [ ! -f $archive ]; then if [ ! -f $archive ]; then
$FETCH http://downloads.sf.net/devkitpro/$archive || { echo "Error: Failed to download $archive"; exit 1; } $FETCH $DEVKITPRO_URL/$archive || { echo "Error: Failed to download $archive"; exit 1; }
fi fi
done done
@@ -252,16 +238,13 @@ do
echo $destdir echo $destdir
if [ ! -d $destdir ]; then if [ ! -d $destdir ]; then
mkdir -p $destdir mkdir -p $destdir
bzip2 -cd "$SRCDIR/$archive" | tar -xf - -C $destdir || { echo "Error extracting "$archive; exit 1; } bzip2 -cd $SRCDIR/$archive | tar -xf - -C $destdir || { echo "Error extracting "$archive; exit 1; }
fi fi
done done
for archive in $hostarchives for archive in $hostarchives
do do
destdir=$(echo $archive | sed -e 's/\(.*\)-src-\(.*\)\.tar\.bz2/\1-\2/' ) tar -xjf $SRCDIR/$archive
if [ ! -d $destdir ]; then
tar -xjf "$SRCDIR/$archive"
fi
done done
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@@ -271,15 +254,12 @@ if [ -f $scriptdir/build-gcc.sh ]; then . $scriptdir/build-gcc.sh || { echo "Err
if [ -f $scriptdir/build-tools.sh ]; then . $scriptdir/build-tools.sh || { echo "Error building tools"; exit 1; }; cd $BUILDSCRIPTDIR; fi if [ -f $scriptdir/build-tools.sh ]; then . $scriptdir/build-tools.sh || { echo "Error building tools"; exit 1; }; cd $BUILDSCRIPTDIR; fi
if [ -f $scriptdir/build-crtls.sh ]; then . $scriptdir/build-crtls.sh || { echo "Error building crtls"; exit 1; }; cd $BUILDSCRIPTDIR; fi if [ -f $scriptdir/build-crtls.sh ]; then . $scriptdir/build-crtls.sh || { echo "Error building crtls"; exit 1; }; cd $BUILDSCRIPTDIR; fi
if [ ! -z $CROSSBUILD ]; then if [ "$CROSSBUILD" = "i686-w64-mingw32" ]; then
if [ $VERSION -ne 3 ]; then if [ $VERSION -ne 3 ]; then
cp -v $CROSSBINPATH/FreeImage.dll $prefix/bin cp -v /opt/i686-w64-mingw32/mingw/lib/FreeImage.dll $prefix/bin
fi fi
if [ $VERSION -eq 1 ]; then cp -v /opt/i686-w64-mingw32/mingw/lib/libstdc++-6.dll \
cp -v $CROSSBINPATH/libusb-1.0.dll $prefix/bin /opt/i686-w64-mingw32/mingw/lib/libgcc_s_sjlj-1.dll \
fi
cp -v $CROSSLIBPATH/libstdc++-6.dll \
$CROSSLIBPATH/libgcc_s_sjlj-1.dll \
$prefix/bin $prefix/bin
fi fi

13
config.sh.sample Executable file → Normal file
View File

@@ -13,6 +13,15 @@
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
BUILD_DKPRO_PACKAGE=0 BUILD_DKPRO_PACKAGE=0
#---------------------------------------------------------------------------------
# Download source packages
#---------------------------------------------------------------------------------
# 0: User selects manually
# 1: already downloaded
# 2: download packages
#---------------------------------------------------------------------------------
BUILD_DKPRO_DOWNLOAD=0
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# Toolchain installation directory, comment if not specified # Toolchain installation directory, comment if not specified
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@@ -27,7 +36,7 @@ BUILD_DKPRO_PACKAGE=0
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# Automated script execution # Automated script execution
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# 0: Ask to delete build folders & patched sources # 0: Ask to delete build folders & patched sources
# 1: Use defaults, don't pause for answers # 1: Use defaults, don't pause for answers
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
BUILD_DKPRO_AUTOMATED=0 BUILD_DKPRO_AUTOMATED=0

View File

@@ -1,6 +1,3 @@
#!/bin/bash #!/bin/bash
export CROSSBUILD=i686-w64-mingw32 export CROSSBUILD=i686-w64-mingw32
export CROSSLIBPATH=/opt/mingw32/mingw/lib export PATH=/opt/i686-w64-mingw32/bin:$PATH
export CROSSBINPATH=/opt/mingw32/mingw/bin
export PATH=/opt/mingw32/bin:$PATH
export PKG_CONFIG_PATH=$CROSSLIBPATH/pkgconfig

View File

@@ -1,7 +0,0 @@
#!/bin/bash
export CROSSBUILD=x86_64-w64-mingw32
export CROSSLIBPATH=/opt/x86_64-mingw-w64/mingw/lib
export CROSSBINPATH=/opt/x86_64-mingw-w64/mingw/bin
export PATH=/opt/x86_64-mingw-w64/bin:$PATH
export PKG_CONFIG_PATH=$CROSSLIBPATH/pkgconfig

View File

@@ -1,186 +0,0 @@
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
PHDRS
{
code PT_LOAD FLAGS(5) /* Read | Execute */;
rodata PT_LOAD FLAGS(4) /* Read */;
data PT_LOAD FLAGS(6) /* Read | Write */;
}
SECTIONS
{
/* =========== CODE section =========== */
. = 0x100000;
__start__ = . ;
.text ALIGN(0x1000) :
{
/* .init */
KEEP( *(.crt0) )
KEEP( *(.init) )
. = ALIGN(4);
/* .text */
*(.text)
*(.text.*)
*(.glue_7)
*(.glue_7t)
*(.stub)
*(.gnu.warning)
*(.gnu.linkonce.t*)
. = ALIGN(4);
/* .fini */
KEEP( *(.fini) )
. = ALIGN(4);
} : code
/* =========== RODATA section =========== */
.rodata ALIGN(0x1000) :
{
*(.rodata)
*(.roda)
*(.rodata.*)
*all.rodata*(*)
*(.gnu.linkonce.r*)
SORT(CONSTRUCTORS)
. = ALIGN(4);
} : rodata
.ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } : rodata
__exidx_start = .;
ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } : rodata
__exidx_end = .;
/* =========== DATA section =========== */
.data ALIGN(0x1000) :
{
*(.data)
*(.data.*)
*(.gnu.linkonce.d*)
CONSTRUCTORS
. = ALIGN(4);
} : data
.tdata ALIGN(4) :
{
__tdata_lma = .;
*(.tdata)
*(.tdata.*)
*(.gnu.linkonce.td.*)
. = ALIGN(4);
__tdata_lma_end = .;
} : data
.tbss ALIGN(4) :
{
*(.tbss)
*(.tbss.*)
*(.gnu.linkonce.tb.*)
*(.tcommon)
. = ALIGN(4);
} : data
.preinit_array ALIGN(4) :
{
PROVIDE (__preinit_array_start = .);
KEEP (*(.preinit_array))
PROVIDE (__preinit_array_end = .);
} : data
.init_array ALIGN(4) :
{
PROVIDE (__init_array_start = .);
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array))
PROVIDE (__init_array_end = .);
} : data
.fini_array ALIGN(4) :
{
PROVIDE (__fini_array_start = .);
KEEP (*(.fini_array))
KEEP (*(SORT(.fini_array.*)))
PROVIDE (__fini_array_end = .);
} : data
.ctors ALIGN(4) :
{
KEEP (*crtbegin.o(.ctors)) /* MUST be first -- GCC requires it */
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
} : data
.dtors ALIGN(4) :
{
KEEP (*crtbegin.o(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
} : data
__bss_start__ = .;
.bss ALIGN(4) :
{
*(.dynbss)
*(.bss)
*(.bss.*)
*(.gnu.linkonce.b*)
*(COMMON)
. = ALIGN(4);
/* Reserve space for the TLS segment of the main thread */
__tls_start = .;
. += + SIZEOF(.tdata) + SIZEOF(.tbss);
__tls_end = .;
} : data
__bss_end__ = .;
__end__ = ABSOLUTE(.) ;
/* ==================
==== Metadata ====
================== */
/* Discard sections that difficult post-processing */
/DISCARD/ : { *(.group .comment .note) }
/* 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) }
/* 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) }
}

View File

@@ -1,8 +0,0 @@
%rename link old_link
*link:
%(old_link) -T 3dsx.ld%s -d --emit-relocs --use-blx --gc-sections
*startfile:
3dsx_crt0%O%s crti%O%s crtbegin%O%s

View File

@@ -1,73 +0,0 @@
@---------------------------------------------------------------------------------
@ 3DS processor selection
@---------------------------------------------------------------------------------
.cpu mpcore
@---------------------------------------------------------------------------------
@---------------------------------------------------------------------------------
.section ".crt0"
.global _start, __service_ptr, __apt_appid, __heap_size, __linear_heap_size, __system_arglist, __system_runflags
@---------------------------------------------------------------------------------
.align 2
.arm
@---------------------------------------------------------------------------------
_start:
@---------------------------------------------------------------------------------
b startup
.ascii "_prm"
__service_ptr:
.word 0 @ Pointer to service handle override list -- if non-NULL it is assumed that we have been launched from a homebrew launcher
__apt_appid:
.word 0x300 @ Program APPID
__heap_size:
.word 24*1024*1024 @ Default heap size (24 MiB)
__linear_heap_size:
.word 32*1024*1024 @ Default linear heap size (32 MiB)
__system_arglist:
.word 0 @ Pointer to argument list (argc (u32) followed by that many NULL terminated strings)
__system_runflags:
.word 0 @ Flags to signal runtime restrictions to ctrulib
startup:
@ Save return address
mov r4, lr
@ Clear the BSS section
ldr r0, =__bss_start__
ldr r1, =__bss_end__
sub r1, r1, r0
bl ClearMem
@ System initialization
mov r0, r4
bl initSystem
@ Set up argc/argv arguments for main()
ldr r0, =__system_argc
ldr r1, =__system_argv
ldr r0, [r0]
ldr r1, [r1]
@ Jump to user code
ldr r3, =main
ldr lr, =__ctru_exit
bx r3
@---------------------------------------------------------------------------------
@ Clear memory to 0x00 if length != 0
@ r0 = Start Address
@ r1 = Length
@---------------------------------------------------------------------------------
ClearMem:
@---------------------------------------------------------------------------------
mov r2, #3 @ Round down to nearest word boundary
add r1, r1, r2 @ Shouldn't be needed
bics r1, r1, r2 @ Clear 2 LSB (and set Z)
bxeq lr @ Quit if copy size is 0
mov r2, #0
ClrLoop:
stmia r0!, {r2}
subs r1, r1, #4
bne ClrLoop
bx lr

View File

@@ -1,7 +1,7 @@
%rename link old_link %rename link old_link
*link: *link:
%(old_link) -T ds_arm7.ld%s --gc-sections %(old_link) -T ds_arm7.ld%s
*startfile: *startfile:
ds_arm7_crt0%O%s crti%O%s crtbegin%O%s ds_arm7_crt0%O%s crti%O%s crtbegin%O%s

View File

@@ -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 --gc-sections %(old_link) -T ds_arm9.mem%s -T ds_arm9.ld%s
*startfile: *startfile:
ds_arm9_crt0%O%s crti%O%s crtbegin%O%s ds_arm9_crt0%O%s crti%O%s crtbegin%O%s

View File

@@ -1,7 +1,7 @@
%rename link old_link %rename link old_link
*link: *link:
%(old_link) -T ds_cart.ld%s --gc-sections %(old_link) -T ds_cart.ld%s
*startfile: *startfile:
ds_cart_crt0%O%s crti%O%s crtbegin%O%s ds_cart_crt0%O%s crti%O%s crtbegin%O%s

View File

@@ -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 --gc-sections %(old_link) -T dsi_arm9.mem%s -T ds_arm9.ld%s
*startfile: *startfile:
ds_arm9_crt0%O%s crti%O%s crtbegin%O%s ds_arm9_crt0%O%s crti%O%s crtbegin%O%s

View File

@@ -1,7 +1,7 @@
%rename link old_link %rename link old_link
*link: *link:
%(old_link) -T gba_cart.ld%s --gc-sections %(old_link) -T gba_cart.ld%s
*startfile: *startfile:
gba_crt0%O%s crti%O%s crtbegin%O%s gba_crt0%O%s crti%O%s crtbegin%O%s

View File

@@ -2,7 +2,7 @@
%rename endfile old_endfile %rename endfile old_endfile
*link: *link:
-T gba_er.ld%s %(old_link) --gc-sections -T gba_er.ld%s %(old_link)
*startfile: *startfile:
er_crt0%O%s er_crt0%O%s

View File

@@ -1,7 +1,7 @@
%rename link old_link %rename link old_link
*link: *link:
-T gba_mb.ld%s %(old_link) --gc-sections -T gba_mb.ld%s %(old_link)
*startfile: *startfile:
gba_crt0%O%s crti%O%s crtbegin%O%s gba_crt0%O%s crti%O%s crtbegin%O%s

View File

@@ -1,7 +1,7 @@
%rename link old_link %rename link old_link
*link: *link:
%(old_link) -T gp32.ld%s --gc-sections %(old_link) -T gp32.ld%s
*startfile: *startfile:
gp32_crt0%O%s crti%O%s crtbegin%O%s gp32_crt0%O%s crti%O%s crtbegin%O%s

View File

@@ -1,7 +1,7 @@
%rename link old_link %rename link old_link
*link: *link:
%(old_link) -T gp32_gpsdk.ld%s --gc-sections %(old_link) -T gp32_gpsdk.ld%s
*startfile: *startfile:
gp32_gpsdk_crt0%O%s crti%O%s crtbegin%O%s gp32_gpsdk_crt0%O%s crti%O%s crtbegin%O%s

View File

@@ -0,0 +1,162 @@
diff -Nbaur binutils-2.22/bfd/bfd-in2.h binutils-2.22-arm/bfd/bfd-in2.h
--- binutils-2.22/bfd/bfd-in2.h 2011-09-16 02:15:18.000000000 +0100
+++ binutils-2.22-arm/bfd/bfd-in2.h 2012-04-01 12:58:20.000000000 +0100
@@ -38,6 +38,8 @@
#include "ansidecl.h"
#include "symcat.h"
+#include <sys/stat.h>
+
#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
#ifndef SABER
/* This hack is to avoid a problem with some strict ANSI C preprocessors.
@@ -308,8 +310,6 @@
&& (sec)->sec_info_type != ELF_INFO_TYPE_MERGE \
&& (sec)->sec_info_type != ELF_INFO_TYPE_JUST_SYMS)
-/* Forward define. */
-struct stat;
typedef enum bfd_print_symbol
{
diff -Nbaur binutils-2.22/bfd/bfd-in.h binutils-2.22-arm/bfd/bfd-in.h
--- binutils-2.22/bfd/bfd-in.h 2011-09-16 02:15:18.000000000 +0100
+++ binutils-2.22-arm/bfd/bfd-in.h 2012-04-01 12:58:20.000000000 +0100
@@ -31,6 +31,8 @@
#include "ansidecl.h"
#include "symcat.h"
+#include <sys/stat.h>
+
#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
#ifndef SABER
/* This hack is to avoid a problem with some strict ANSI C preprocessors.
@@ -301,8 +303,6 @@
&& (sec)->sec_info_type != ELF_INFO_TYPE_MERGE \
&& (sec)->sec_info_type != ELF_INFO_TYPE_JUST_SYMS)
-/* Forward define. */
-struct stat;
typedef enum bfd_print_symbol
{
diff -Nbaur binutils-2.22/bfd/config.in binutils-2.22-arm/bfd/config.in
--- binutils-2.22/bfd/config.in 2011-05-12 08:41:40.000000000 +0100
+++ binutils-2.22-arm/bfd/config.in 2012-04-03 17:35:45.000000000 +0100
@@ -245,6 +245,9 @@
/* Define if <sys/procfs.h> has win32_pstatus_t. */
#undef HAVE_WIN32_PSTATUS_T
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
/* Define to 1 if you have the <zlib.h> header file. */
#undef HAVE_ZLIB_H
diff -Nbaur binutils-2.22/bfd/configure binutils-2.22-arm/bfd/configure
--- binutils-2.22/bfd/configure 2011-11-21 11:55:48.000000000 +0000
+++ binutils-2.22-arm/bfd/configure 2012-04-03 17:35:45.000000000 +0100
@@ -13508,6 +13508,22 @@
fi
+
+for ac_header in windows.h dlfcn.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+eval as_val=\$$as_ac_Header
+ if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether string.h and strings.h may both be included" >&5
$as_echo_n "checking whether string.h and strings.h may both be included... " >&6; }
if test "${gcc_cv_header_string+set}" = set; then :
diff -Nbaur binutils-2.22/bfd/configure.in binutils-2.22-arm/bfd/configure.in
--- binutils-2.22/bfd/configure.in 2011-11-21 11:55:46.000000000 +0000
+++ binutils-2.22-arm/bfd/configure.in 2012-04-03 17:35:45.000000000 +0100
@@ -190,6 +190,9 @@
GCC_HEADER_STDINT(bfd_stdint.h)
AC_HEADER_TIME
AC_HEADER_DIRENT
+
+AC_CHECK_HEADERS(windows.h dlfcn.h)
+
ACX_HEADER_STRING
AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid fileno)
AC_CHECK_FUNCS(strtoull)
diff -Nbaur binutils-2.22/bfd/plugin.c binutils-2.22-arm/bfd/plugin.c
--- binutils-2.22/bfd/plugin.c 2011-07-11 16:03:07.000000000 +0100
+++ binutils-2.22-arm/bfd/plugin.c 2012-04-03 17:35:45.000000000 +0100
@@ -25,7 +25,13 @@
#if BFD_SUPPORTS_PLUGINS
#include <assert.h>
+#ifdef HAVE_DLFCN_H
#include <dlfcn.h>
+#elif defined (HAVE_WINDOWS_H)
+#include <windows.h>
+#else
+#error Unknown how to handle dynamic-load-libraries.
+#endif
#include <stdarg.h>
#include "plugin-api.h"
#include "sysdep.h"
@@ -34,6 +40,37 @@
#include "libiberty.h"
#include <dirent.h>
+#if !defined (HAVE_DLFCN_H) && defined (HAVE_WINDOWS_H)
+
+#define RTLD_NOW 0 /* Dummy value. */
+
+static void *
+dlopen (const char *file, int mode ATTRIBUTE_UNUSED)
+{
+ return LoadLibrary (file);
+}
+
+static void *
+dlsym (void *handle, const char *name)
+{
+ return GetProcAddress (handle, name);
+}
+
+static int ATTRIBUTE_UNUSED
+dlclose (void *handle)
+{
+ FreeLibrary (handle);
+ return 0;
+}
+
+static const char *
+dlerror (void)
+{
+ return "Unable to load DLL.";
+}
+
+#endif /* !defined (HAVE_DLFCN_H) && defined (HAVE_WINDOWS_H) */
+
#define bfd_plugin_close_and_cleanup _bfd_generic_close_and_cleanup
#define bfd_plugin_bfd_free_cached_info _bfd_generic_bfd_free_cached_info
#define bfd_plugin_new_section_hook _bfd_generic_new_section_hook
diff -Nbaur binutils-2.22/include/opcode/arm.h binutils-2.22-arm/include/opcode/arm.h
--- binutils-2.22/include/opcode/arm.h 2011-05-31 15:12:55.000000000 +0100
+++ binutils-2.22-arm/include/opcode/arm.h 2012-04-01 12:58:20.000000000 +0100
@@ -109,7 +109,8 @@
#define ARM_AEXT_V6KT2 (ARM_AEXT_V6T2 | ARM_EXT_V6K)
#define ARM_AEXT_V6ZT2 (ARM_AEXT_V6T2 | ARM_EXT_SEC)
#define ARM_AEXT_V6ZKT2 (ARM_AEXT_V6T2 | ARM_EXT_V6K | ARM_EXT_SEC)
-#define ARM_AEXT_V7_ARM (ARM_AEXT_V6KT2 | ARM_EXT_V7 | ARM_EXT_BARRIER)
+#define ARM_AEXT_V7_ARM (ARM_AEXT_V6KT2 | ARM_EXT_V7 | ARM_EXT_BARRIER \
+ | ARM_EXT_OS )
#define ARM_AEXT_V7A (ARM_AEXT_V7_ARM | ARM_EXT_V7A)
#define ARM_AEXT_V7R (ARM_AEXT_V7_ARM | ARM_EXT_V7R | ARM_EXT_DIV)
#define ARM_AEXT_NOTM \

View File

@@ -1,13 +0,0 @@
diff -Nbaur binutils-2.24/include/opcode/arm.h binutils-2.24-arm/include/opcode/arm.h
--- binutils-2.24/include/opcode/arm.h 2013-11-26 11:37:33.000000000 +0000
+++ binutils-2.24-arm/include/opcode/arm.h 2014-02-16 19:32:33.000000000 +0000
@@ -114,7 +114,8 @@
#define ARM_AEXT_V6KT2 (ARM_AEXT_V6T2 | ARM_EXT_V6K)
#define ARM_AEXT_V6ZT2 (ARM_AEXT_V6T2 | ARM_EXT_SEC)
#define ARM_AEXT_V6ZKT2 (ARM_AEXT_V6T2 | ARM_EXT_V6K | ARM_EXT_SEC)
-#define ARM_AEXT_V7_ARM (ARM_AEXT_V6KT2 | ARM_EXT_V7 | ARM_EXT_BARRIER)
+#define ARM_AEXT_V7_ARM (ARM_AEXT_V6KT2 | ARM_EXT_V7 | ARM_EXT_BARRIER \
+ | ARM_EXT_OS )
#define ARM_AEXT_V7A (ARM_AEXT_V7_ARM | ARM_EXT_V7A)
#define ARM_AEXT_V7VE (ARM_AEXT_V7A | ARM_EXT_DIV | ARM_EXT_ADIV \
| ARM_EXT_VIRT | ARM_EXT_SEC | ARM_EXT_MP)

View File

@@ -0,0 +1,167 @@
diff -Nbaur gcc-4.7.0/gcc/config/arm/t-arm-elf gcc-4.7.0-arm/gcc/config/arm/t-arm-elf
--- gcc-4.7.0/gcc/config/arm/t-arm-elf 2011-11-02 15:23:48.000000000 +0000
+++ gcc-4.7.0-arm/gcc/config/arm/t-arm-elf 2012-04-05 20:36:17.000000000 +0100
@@ -26,22 +26,44 @@
#MULTILIB_DIRNAMES += fa526 fa626 fa606te fa626te fmp626 fa726te
#MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=fa526 *mthumb*/*mcpu=fa626
-#MULTILIB_OPTIONS += march=armv7
-#MULTILIB_DIRNAMES += thumb2
-#MULTILIB_EXCEPTIONS += march=armv7* marm/*march=armv7*
-#MULTILIB_MATCHES += march?armv7=march?armv7-a
-#MULTILIB_MATCHES += march?armv7=march?armv7-r
-#MULTILIB_MATCHES += march?armv7=march?armv7-m
-#MULTILIB_MATCHES += march?armv7=mcpu?cortex-a8
-#MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4
-#MULTILIB_MATCHES += march?armv7=mcpu?cortex-m3
+#mfloat-abi=hard|mfpu=fpv4-sp-d16
+
+MULTILIB_OPTIONS += march=armv7/march=armv6-m/mcpu=cortex-m4
+MULTILIB_DIRNAMES += thumb2 armv6-m cortex-m4
+MULTILIB_EXCEPTIONS += march=armv7* marm/*march=armv7*
+MULTILIB_EXCEPTIONS += march=armv6-m* marm/*march=armv6-m*
+MULTILIB_EXCEPTIONS += mcpu=cortex-m4* marm/*mcpu=cortex-m4*
+MULTILIB_EXCEPTIONS += mcpu=cortex-m4* mthumb/mcpu=cortex-m4
+MULTILIB_EXCEPTIONS += mcpu=cortex-m4* mthumb/mcpu=cortex-m4/mbig-endian
+MULTILIB_MATCHES += march?armv7=march?armv7-a
+MULTILIB_MATCHES += march?armv7=march?armv7-r
+MULTILIB_MATCHES += march?armv7=march?armv7-m
+MULTILIB_MATCHES += march?armv7=mcpu?cortex-a8
+MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4
+MULTILIB_MATCHES += march?armv7=mcpu?cortex-m3
+MULTILIB_MATCHES += march?armv6-m=mcpu?cortex-m0
+MULTILIB_MATCHES += march?armv6-m=mcpu?cortex-m1
+
+MULTILIB_OPTIONS += mfloat-abi=hard mfpu=fpv4-sp-d16
+MULTILIB_DIRNAMES += float-abi-hard fpuv4-sp-d16
+MULTILIB_EXCEPTIONS += mfloat* marm/mfloat*
+MULTILIB_EXCEPTIONS += mfloat* mthumb/mfloat*
+MULTILIB_EXCEPTIONS += mfloat* mthumb*march=armv6-m*mfloat*
+MULTILIB_EXCEPTIONS += mfloat* mthumb*march=armv7*mfloat*
+MULTILIB_EXCEPTIONS += mfloat* mthumb/mcpu=cortex-m4/mfloat-abi=hard
+MULTILIB_EXCEPTIONS += mfloat* mthumb/mcpu=cortex-m4/mfloat-abi=hard/mbig-endian
+MULTILIB_EXCEPTIONS += mfpu* mthumb*march=armv6-m*mfpu*
+MULTILIB_EXCEPTIONS += mfpu* mthumb*march=armv7*mfpu*
+MULTILIB_EXCEPTIONS += mfpu* mthumb/mcpu=cortex-m4/mfpu*
+MULTILIB_EXCEPTIONS += mfpu* mthumb/mfpu*
+MULTILIB_EXCEPTIONS += mfpu* marm/mfpu*
# 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
# (mcrr etc).
-MULTILIB_OPTIONS += mfloat-abi=hard
-MULTILIB_DIRNAMES += fpu
-MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
+#MULTILIB_OPTIONS += mfloat-abi=hard
+#MULTILIB_DIRNAMES += fpu
+#MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
#MULTILIB_EXCEPTIONS += *mcpu=fa526/*mfloat-abi=hard*
#MULTILIB_EXCEPTIONS += *mcpu=fa626/*mfloat-abi=hard*
@@ -49,9 +71,9 @@
# MULTILIB_DIRNAMES += ep9312
# MULTILIB_EXCEPTIONS += *mthumb/*mcpu=ep9312*
#
-# MULTILIB_OPTIONS += mlittle-endian/mbig-endian
-# MULTILIB_DIRNAMES += le be
-# MULTILIB_MATCHES += mbig-endian=mbe mlittle-endian=mle
+MULTILIB_OPTIONS += mlittle-endian/mbig-endian
+MULTILIB_DIRNAMES += le be
+MULTILIB_MATCHES += mbig-endian=mbe mlittle-endian=mle
#
# MULTILIB_OPTIONS += mfloat-abi=hard/mfloat-abi=soft
# MULTILIB_DIRNAMES += fpu soft
diff -Nbaur gcc-4.7.0/gcc/config/arm/unknown-elf.h gcc-4.7.0-arm/gcc/config/arm/unknown-elf.h
--- gcc-4.7.0/gcc/config/arm/unknown-elf.h 2011-03-31 13:13:13.000000000 +0100
+++ gcc-4.7.0-arm/gcc/config/arm/unknown-elf.h 2012-04-05 20:36:17.000000000 +0100
@@ -94,4 +94,4 @@
udivmoddi4, which will depend on the exception unwind routines,
which will depend on abort, which is defined in libc. */
#undef LINK_GCC_C_SEQUENCE_SPEC
-#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L --end-group"
+#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group"
diff -Nbaur gcc-4.7.0/gcc/gcc.c gcc-4.7.0-arm/gcc/gcc.c
--- gcc-4.7.0/gcc/gcc.c 2012-02-28 17:31:38.000000000 +0000
+++ gcc-4.7.0-arm/gcc/gcc.c 2012-04-05 20:36:17.000000000 +0100
@@ -548,6 +548,11 @@
#endif
#endif
+#ifndef LIBGLOSS_SPEC
+# define LIBGLOSS_SPEC "-lsysbase"
+#endif
+
+
/* config.h can define STARTFILE_SPEC to override the default crt0 files. */
#ifndef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -717,6 +722,7 @@
static const char *mflib_spec = MFLIB_SPEC;
static const char *link_gomp_spec = "";
static const char *libgcc_spec = LIBGCC_SPEC;
+static const char *libgloss_spec = LIBGLOSS_SPEC;
static const char *endfile_spec = ENDFILE_SPEC;
static const char *startfile_spec = STARTFILE_SPEC;
static const char *linker_name_spec = LINKER_NAME;
@@ -1201,6 +1207,7 @@
INIT_STATIC_SPEC ("mflib", &mflib_spec),
INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec),
INIT_STATIC_SPEC ("libgcc", &libgcc_spec),
+ INIT_STATIC_SPEC ("libgloss", &libgloss_spec),
INIT_STATIC_SPEC ("startfile", &startfile_spec),
INIT_STATIC_SPEC ("cross_compile", &cross_compile),
INIT_STATIC_SPEC ("version", &compiler_version),
diff -Nbaur gcc-4.7.0/libcpp/Makefile.in gcc-4.7.0-arm/libcpp/Makefile.in
--- gcc-4.7.0/libcpp/Makefile.in 2012-03-22 07:37:39.000000000 +0000
+++ gcc-4.7.0-arm/libcpp/Makefile.in 2012-04-05 20:36:17.000000000 +0100
@@ -214,8 +214,7 @@
# Note that we put the dependencies into a .Tpo file, then move them
# into place if the compile succeeds. We need this because gcc does
# not atomically write the dependency output file.
-COMPILE = $(COMPILE.base) -o $@ -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Tpo
-POSTCOMPILE = @mv $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+COMPILE = $(COMPILE.base) -o $@
else
COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \
$(depcomp) $(COMPILE.base)
diff -Nbaur gcc-4.7.0/libgcc/crtstuff.c gcc-4.7.0-arm/libgcc/crtstuff.c
--- gcc-4.7.0/libgcc/crtstuff.c 2011-12-06 21:35:41.000000000 +0000
+++ gcc-4.7.0-arm/libgcc/crtstuff.c 2012-04-05 20:36:50.000000000 +0100
@@ -49,7 +49,7 @@
/* Target machine header files require this define. */
#define IN_LIBGCC2
-
+#define USED_FOR_TARGET
/* FIXME: Including auto-host is incorrect, but until we have
identified the set of defines that need to go into auto-target.h,
this will have to do. */
diff -Nbaur gcc-4.7.0/libgcc/Makefile.in gcc-4.7.0-arm/libgcc/Makefile.in
--- gcc-4.7.0/libgcc/Makefile.in 2011-11-22 03:01:02.000000000 +0000
+++ gcc-4.7.0-arm/libgcc/Makefile.in 2012-04-05 20:36:17.000000000 +0100
@@ -500,14 +500,14 @@
lib2-divmod-o = $(patsubst %,%$(objext),$(LIB2_DIVMOD_FUNCS))
$(lib2-divmod-o): %$(objext): $(srcdir)/libgcc2.c
$(gcc_compile) -DL$* -c $< \
- -fexceptions -fnon-call-exceptions $(vis_hide)
+ -fno-exceptions -fnon-call-exceptions $(vis_hide)
libgcc-objects += $(lib2-divmod-o)
ifeq ($(enable_shared),yes)
lib2-divmod-s-o = $(patsubst %,%_s$(objext),$(LIB2_DIVMOD_FUNCS))
$(lib2-divmod-s-o): %_s$(objext): $(srcdir)/libgcc2.c
$(gcc_s_compile) -DL$* -c $< \
- -fexceptions -fnon-call-exceptions
+ -fno-exceptions -fnon-call-exceptions
libgcc-s-objects += $(lib2-divmod-s-o)
endif
@@ -810,7 +810,7 @@
# libgcc_eh.a, only LIB2ADDEH matters. If we do, only LIB2ADDEHSTATIC and
# LIB2ADDEHSHARED matter. (Usually all three are identical.)
-c_flags := -fexceptions
+c_flags := -fno-exceptions
ifeq ($(enable_shared),yes)

View File

@@ -1,147 +0,0 @@
diff -Nbaur gcc-5.2.0/gcc/config/arm/t-arm-elf gcc-5.2.0-arm/gcc/config/arm/t-arm-elf
--- gcc-5.2.0/gcc/config/arm/t-arm-elf 2015-01-05 12:33:28.000000000 +0000
+++ gcc-5.2.0-arm/gcc/config/arm/t-arm-elf 2015-11-23 20:16:26.736000000 +0000
@@ -16,11 +16,19 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-MULTILIB_OPTIONS = marm/mthumb
-MULTILIB_DIRNAMES = arm thumb
+MULTILIB_OPTIONS = mthumb march=armv6k mfloat-abi=hard
+MULTILIB_DIRNAMES = thumb armv6k fpu
MULTILIB_EXCEPTIONS =
MULTILIB_MATCHES =
+MULTILIB_REQUIRED = mthumb march=armv6k/mfloat-abi=hard
+
+
+MULTILIB_MATCHES += march?armv6k=mtune?mpcore
+MULTILIB_MATCHES += march?armv6k=mcpu?mpcore
+
+
+
#MULTILIB_OPTIONS += mcpu=fa526/mcpu=fa626/mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te
#MULTILIB_DIRNAMES += fa526 fa626 fa606te fa626te fmp626 fa726te
#MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=fa526 *mthumb*/*mcpu=fa626
@@ -38,9 +46,9 @@
# Not quite true. We can support hard-vfp calling in Thumb2, but how do we
# express that here? Also, we really need architecture v5e or later
# (mcrr etc).
-MULTILIB_OPTIONS += mfloat-abi=hard
-MULTILIB_DIRNAMES += fpu
-MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
+#MULTILIB_OPTIONS += mfloat-abi=hard
+#MULTILIB_DIRNAMES += fpu
+#MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
#MULTILIB_EXCEPTIONS += *mcpu=fa526/*mfloat-abi=hard*
#MULTILIB_EXCEPTIONS += *mcpu=fa626/*mfloat-abi=hard*
diff -Nbaur gcc-5.2.0/gcc/config/arm/unknown-elf.h gcc-5.2.0-arm/gcc/config/arm/unknown-elf.h
--- gcc-5.2.0/gcc/config/arm/unknown-elf.h 2015-11-28 18:13:20.576000000 +0000
+++ gcc-5.2.0-arm/gcc/config/arm/unknown-elf.h 2015-11-28 18:14:06.328000000 +0000
@@ -29,7 +29,7 @@
#endif
/* Now we define the strings used to build the spec file. */
-#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s"
+#define UNKNOWN_ELF_STARTFILE_SPEC " crti%O%s crtbegin%O%s"
#undef STARTFILE_SPEC
#define STARTFILE_SPEC UNKNOWN_ELF_STARTFILE_SPEC
@@ -93,4 +93,4 @@
udivmoddi4, which will depend on the exception unwind routines,
which will depend on abort, which is defined in libc. */
#undef LINK_GCC_C_SEQUENCE_SPEC
-#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L --end-group"
+#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group"
diff -Nbaur gcc-5.2.0/gcc/gcc.c gcc-5.2.0-arm/gcc/gcc.c
--- gcc-5.2.0/gcc/gcc.c 2015-03-10 09:37:41.000000000 +0000
+++ gcc-5.2.0-arm/gcc/gcc.c 2015-11-23 20:16:26.740000000 +0000
@@ -647,6 +647,11 @@
#endif
#endif
+#ifndef LIBGLOSS_SPEC
+# define LIBGLOSS_SPEC "-lsysbase"
+#endif
+
+
/* config.h can define STARTFILE_SPEC to override the default crt0 files. */
#ifndef STARTFILE_SPEC
#define STARTFILE_SPEC \
@@ -879,6 +884,7 @@
static const char *lib_spec = LIB_SPEC;
static const char *link_gomp_spec = "";
static const char *libgcc_spec = LIBGCC_SPEC;
+static const char *libgloss_spec = LIBGLOSS_SPEC;
static const char *endfile_spec = ENDFILE_SPEC;
static const char *startfile_spec = STARTFILE_SPEC;
static const char *linker_name_spec = LINKER_NAME;
@@ -1374,6 +1380,7 @@
INIT_STATIC_SPEC ("lib", &lib_spec),
INIT_STATIC_SPEC ("link_gomp", &link_gomp_spec),
INIT_STATIC_SPEC ("libgcc", &libgcc_spec),
+ INIT_STATIC_SPEC ("libgloss", &libgloss_spec),
INIT_STATIC_SPEC ("startfile", &startfile_spec),
INIT_STATIC_SPEC ("cross_compile", &cross_compile),
INIT_STATIC_SPEC ("version", &compiler_version),
diff -Nbaur gcc-5.2.0/gcc/Makefile.in gcc-5.2.0-arm/gcc/Makefile.in
--- gcc-5.2.0/gcc/Makefile.in 2015-05-04 11:46:32.000000000 +0100
+++ gcc-5.2.0-arm/gcc/Makefile.in 2015-11-23 20:16:26.744000000 +0000
@@ -1053,8 +1053,8 @@
# things like the go/%.o rule work properly; but we use $(*F) for the
# file part, as we just want the file part of the stem, not the entire
# file name.
-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-5.2.0/libcpp/Makefile.in gcc-5.2.0-arm/libcpp/Makefile.in
--- gcc-5.2.0/libcpp/Makefile.in 2015-07-16 10:16:25.000000000 +0100
+++ gcc-5.2.0-arm/libcpp/Makefile.in 2015-11-23 20:16:26.744000000 +0000
@@ -208,8 +208,7 @@
# Note that we put the dependencies into a .Tpo file, then move them
# into place if the compile succeeds. We need this because gcc does
# not atomically write the dependency output file.
-COMPILE = $(COMPILE.base) -o $@ -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Tpo
-POSTCOMPILE = @mv $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+COMPILE = $(COMPILE.base) -o $@
else
COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \
$(depcomp) $(COMPILE.base)
diff -Nbaur gcc-5.2.0/libgcc/config/arm/t-bpabi gcc-5.2.0-arm/libgcc/config/arm/t-bpabi
--- gcc-5.2.0/libgcc/config/arm/t-bpabi 2012-08-17 16:06:06.000000000 +0100
+++ gcc-5.2.0-arm/libgcc/config/arm/t-bpabi 2015-11-23 20:16:26.744000000 +0000
@@ -17,4 +17,4 @@
# On ARM, specifying -fnon-call-exceptions will needlessly pull in
# the unwinder in simple programs which use 64-bit division. Omitting
# the option is safe.
-LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions
+LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions
diff -Nbaur gcc-5.2.0/libgcc/crtstuff.c gcc-5.2.0-arm/libgcc/crtstuff.c
--- gcc-5.2.0/libgcc/crtstuff.c 2015-01-05 12:33:28.000000000 +0000
+++ gcc-5.2.0-arm/libgcc/crtstuff.c 2015-11-23 20:16:26.744000000 +0000
@@ -47,7 +47,7 @@
/* Target machine header files require this define. */
#define IN_LIBGCC2
-
+#define USED_FOR_TARGET
/* FIXME: Including auto-host is incorrect, but until we have
identified the set of defines that need to go into auto-target.h,
this will have to do. */
diff -Nbaur gcc-5.2.0/libgcc/Makefile.in gcc-5.2.0-arm/libgcc/Makefile.in
--- gcc-5.2.0/libgcc/Makefile.in 2015-01-29 08:03:56.000000000 +0000
+++ gcc-5.2.0-arm/libgcc/Makefile.in 2015-11-23 20:16:26.744000000 +0000
@@ -819,7 +819,7 @@
# libgcc_eh.a, only LIB2ADDEH matters. If we do, only LIB2ADDEHSTATIC and
# LIB2ADDEHSHARED matter. (Usually all three are identical.)
-c_flags := -fexceptions
+c_flags := -fno-exceptions
ifeq ($(enable_shared),yes)

View File

@@ -1,7 +1,25 @@
diff -NBaur gdb-7.10/gdb/Makefile.in gdb-7.10-arm/gdb/Makefile.in diff -Nbaur gdb-7.4/gdb/Makefile.in gdb-7.4-arm/gdb/Makefile.in
--- gdb-7.10/gdb/Makefile.in 2015-08-28 22:22:07.000000000 +0100 --- gdb-7.4/gdb/Makefile.in 2012-01-06 04:43:01.000000000 +0000
+++ gdb-7.10-arm/gdb/Makefile.in 2015-10-21 08:54:36.492597858 +0100 +++ gdb-7.4-arm/gdb/Makefile.in 2012-02-28 03:07:12.000000000 +0000
@@ -2676,10 +2676,8 @@ @@ -2195,10 +2195,10 @@
# Note that we put the dependencies into a .Tpo file, then move them
# into place if the compile succeeds. We need this because gcc does
# not atomically write the dependency output file.
-@GMAKE_TRUE@override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
-@GMAKE_TRUE@ -MF $(DEPDIR)/$(basename $(@F)).Tpo
-@GMAKE_TRUE@override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
-@GMAKE_TRUE@ $(DEPDIR)/$(basename $(@F)).Po
+#@GMAKE_TRUE@override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
+#@GMAKE_TRUE@ -MF $(DEPDIR)/$(basename $(@F)).Tpo
+#@GMAKE_TRUE@override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
+#@GMAKE_TRUE@ $(DEPDIR)/$(basename $(@F)).Po
@GMAKE_TRUE@else
@GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
@GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
diff -Nbaur gdb-7.4/sim/common/Make-common.in gdb-7.4-arm/sim/common/Make-common.in
--- gdb-7.4/sim/common/Make-common.in 2012-01-06 04:54:38.000000000 +0000
+++ gdb-7.4-arm/sim/common/Make-common.in 2012-02-28 03:07:41.000000000 +0000
@@ -417,10 +417,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.
@@ -10,23 +28,6 @@ diff -NBaur gdb-7.10/gdb/Makefile.in gdb-7.10-arm/gdb/Makefile.in
-@GMAKE_TRUE@override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \ -@GMAKE_TRUE@override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
-@GMAKE_TRUE@ $(DEPDIR)/$(basename $(@F)).Po -@GMAKE_TRUE@ $(DEPDIR)/$(basename $(@F)).Po
+@GMAKE_TRUE@override COMPILE.post = -c -o $@ +@GMAKE_TRUE@override COMPILE.post = -c -o $@
+@GMAKE_TRUE@override POSTCOMPILE =
@GMAKE_TRUE@else
@GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
@GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
diff -NBaur gdb-7.10/sim/common/Make-common.in gdb-7.10-arm/sim/common/Make-common.in
--- gdb-7.10/sim/common/Make-common.in 2015-07-06 20:57:46.000000000 +0100
+++ gdb-7.10-arm/sim/common/Make-common.in 2015-10-21 08:54:36.492597858 +0100
@@ -421,10 +421,8 @@
# Note that we put the dependencies into a .Tpo file, then move them
# into place if the compile succeeds. We need this because gcc does
# not atomically write the dependency output file.
-@GMAKE_TRUE@override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
-@GMAKE_TRUE@ -MF $(DEPDIR)/$(basename $(@F)).Tpo
-@GMAKE_TRUE@override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
-@GMAKE_TRUE@ $(DEPDIR)/$(basename $(@F)).Po
+@GMAKE_TRUE@override COMPILE.post = -c -o $@
+@GMAKE_TRUE@override POSTCOMPILE =
@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)

View File

@@ -1,41 +0,0 @@
ifeq ($(strip $(DEVKITPRO)),)
$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=<path to>devkitPro)
endif
include $(DEVKITARM)/base_rules
PORTLIBS := $(PORTLIBS_PATH)/armv6k $(PORTLIBS_PATH)/3ds
CTRULIB ?= $(DEVKITPRO)/libctru
ifeq ($(strip $(APP_TITLE)),)
APP_TITLE := $(notdir $(OUTPUT))
endif
ifeq ($(strip $(APP_DESCRIPTION)),)
APP_DESCRIPTION := Built with devkitARM & libctru
endif
ifeq ($(strip $(APP_AUTHOR)),)
APP_AUTHOR := Unspecified Author
endif
ifeq ($(strip $(APP_ICON)),)
APP_ICON := $(CTRULIB)/default_icon.png
endif
#---------------------------------------------------------------------------------
%.smdh: $(APP_ICON) $(MAKEFILE_LIST)
@smdhtool --create "$(APP_TITLE)" "$(APP_DESCRIPTION)" "$(APP_AUTHOR)" $(APP_ICON) $@
@echo built ... $(notdir $@)
#---------------------------------------------------------------------------------
%.3dsx: %.elf
@3dsxtool $< $@ $(_3DSXFLAGS)
@echo built ... $(notdir $@)
#---------------------------------------------------------------------------------
%.elf:
@echo linking $(notdir $@)
@$(LD) $(LDFLAGS) $(OFILES) $(LIBPATHS) $(LIBS) -o $@
@$(NM) -CSn $@ > $(notdir $*.lst)

View File

@@ -1,10 +1,36 @@
include $(DEVKITARM)/base_tools #---------------------------------------------------------------------------------
# change shell on Snow Leopard
#---------------------------------------------------------------------------------
UNAME_S := $(shell uname -s)
UNAME_R := $(shell uname -r)
ifneq (,$(findstring Darwin,$(UNAME_S)))
ifneq (,$(findstring 10.8.0,$(UNAME_R)))
export SHELL=/bin/bash
endif
endif
#---------------------------------------------------------------------------------
# path to tools
#---------------------------------------------------------------------------------
export PORTLIBS := $(DEVKITPRO)/portlibs/arm
export PATH := $(DEVKITARM)/bin:$(PORTLIBS)/bin:$(PATH)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# add portlibs path # the prefix on the compiler executables
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
export PORTLIBS_PATH := $(DEVKITPRO)/portlibs PREFIX := arm-eabi-
export CC := $(PREFIX)gcc
export CXX := $(PREFIX)g++
export AS := $(PREFIX)as
export AR := $(PREFIX)ar
export OBJCOPY := $(PREFIX)objcopy
ISVC=$(or $(VCBUILDHELPER_COMMAND),$(MSBUILDEXTENSIONSPATH32),$(MSBUILDEXTENSIONSPATH))
ifneq (,$(ISVC))
ERROR_FILTER := 2>&1 | sed -e 's/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/g'
endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.a: %.a:
@@ -17,7 +43,7 @@ export PORTLIBS_PATH := $(DEVKITPRO)/portlibs
%.arm.o: %.arm.cpp %.arm.o: %.arm.cpp
@echo $(notdir $<) @echo $(notdir $<)
$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.arm.d $(CXXFLAGS) -marm -c $< -o $@ $(ERROR_FILTER) $(CXX) -MMD -MP -MF $(DEPSDIR)/$*.arm.d $(CXXFLAGS) -marm -c $< -o $@ $(ERROR_FILTER)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.arm.o: %.arm.c %.arm.o: %.arm.c
@echo $(notdir $<) @echo $(notdir $<)
@@ -32,7 +58,7 @@ export PORTLIBS_PATH := $(DEVKITPRO)/portlibs
%.thumb.o: %.thumb.cpp %.thumb.o: %.thumb.cpp
@echo $(notdir $<) @echo $(notdir $<)
$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.thumb.d $(CXXFLAGS) -mthumb -c $< -o $@ $(ERROR_FILTER) $(CXX) -MMD -MP -MF $(DEPSDIR)/$*.thumb.d $(CXXFLAGS) -mthumb -c $< -o $@ $(ERROR_FILTER)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.thumb.o: %.thumb.c %.thumb.o: %.thumb.c
@echo $(notdir $<) @echo $(notdir $<)
@@ -47,7 +73,7 @@ export PORTLIBS_PATH := $(DEVKITPRO)/portlibs
%.iwram.o: %.iwram.cpp %.iwram.o: %.iwram.cpp
@echo $(notdir $<) @echo $(notdir $<)
$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.iwram.d $(CXXFLAGS) -marm -mlong-calls -c $< -o $@ $(ERROR_FILTER) $(CXX) -MMD -MP -MF $(DEPSDIR)/$*.iwram.d $(CXXFLAGS) -marm -mlong-calls -c $< -o $@ $(ERROR_FILTER)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.iwram.o: %.iwram.c %.iwram.o: %.iwram.c
@echo $(notdir $<) @echo $(notdir $<)
@@ -62,7 +88,7 @@ export PORTLIBS_PATH := $(DEVKITPRO)/portlibs
%.itcm.o: %.itcm.cpp %.itcm.o: %.itcm.cpp
@echo $(notdir $<) @echo $(notdir $<)
$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.itcm.d $(CXXFLAGS) -marm -mlong-calls -c $< -o $@ $(ERROR_FILTER) $(CXX) -MMD -MP -MF $(DEPSDIR)/$*.itcm.d $(CXXFLAGS) -marm -mlong-calls -c $< -o $@ $(ERROR_FILTER)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.itcm.o: %.itcm.c %.itcm.o: %.itcm.c
@echo $(notdir $<) @echo $(notdir $<)
@@ -78,7 +104,7 @@ export PORTLIBS_PATH := $(DEVKITPRO)/portlibs
%.o: %.cpp %.o: %.cpp
@echo $(notdir $<) @echo $(notdir $<)
$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -c $< -o $@ $(ERROR_FILTER) $(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -c $< -o $@ $(ERROR_FILTER)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.o: %.c %.o: %.c
@echo $(notdir $<) @echo $(notdir $<)

View File

@@ -1,33 +0,0 @@
#---------------------------------------------------------------------------------
# make sure we have bash on OSX
#---------------------------------------------------------------------------------
UNAME_S := $(shell uname -s)
UNAME_R := $(shell uname -r)
ifneq (,$(findstring Darwin,$(UNAME_S)))
export SHELL=/bin/bash
endif
#---------------------------------------------------------------------------------
# path to tools
#---------------------------------------------------------------------------------
export PATH := $(DEVKITARM)/bin:$(PATH)
#---------------------------------------------------------------------------------
# the prefix on the compiler executables
#---------------------------------------------------------------------------------
PREFIX := arm-none-eabi-
export CC := $(PREFIX)gcc
export CXX := $(PREFIX)g++
export AS := $(PREFIX)as
export AR := $(PREFIX)gcc-ar
export OBJCOPY := $(PREFIX)objcopy
export STRIP := $(PREFIX)strip
export NM := $(PREFIX)gcc-nm
export RANLIB := $(PREFIX)gcc-ranlib
ISVC=$(or $(VCBUILDHELPER_COMMAND),$(MSBUILDEXTENSIONSPATH32),$(MSBUILDEXTENSIONSPATH))
ifneq (,$(ISVC))
ERROR_FILTER := 2>&1 | sed -e 's/\(.[a-zA-Z]\+\):\([0-9]\+\):/\1(\2):/g'
endif

View File

@@ -4,20 +4,18 @@ endif
include $(DEVKITARM)/base_rules include $(DEVKITARM)/base_rules
PORTLIBS := $(PORTLIBS_PATH)/nds $(PORTLIBS_PATH)/armv5te LIBNDS := $(DEVKITPRO)/libnds
LIBNDS := $(DEVKITPRO)/libnds
ifeq ($(strip $(GAME_TITLE)),) ifeq ($(strip $(GAME_TITLE)),)
GAME_TITLE := $(notdir $(OUTPUT)) GAME_TITLE := $(notdir $(OUTPUT))
endif endif
ifeq ($(strip $(GAME_SUBTITLE1)),) ifeq ($(strip $(GAME_SUBTITLE1)),)
GAME_SUBTITLE1 := built with devkitARM GAME_SUBTITLE1 := www.devkitpro.org
endif endif
ifeq ($(strip $(GAME_SUBTITLE2)),) ifeq ($(strip $(GAME_SUBTITLE2)),)
GAME_SUBTITLE2 := http://devkitpro.org GAME_SUBTITLE2 := www.drunkencoders.com
endif endif
ifeq ($(strip $(GAME_ICON)),) ifeq ($(strip $(GAME_ICON)),)
@@ -42,7 +40,7 @@ endif
%.arm9: %.elf %.arm9: %.elf
@$(OBJCOPY) -O binary $< $@ @$(OBJCOPY) -O binary $< $@
@echo built ... $(notdir $@) @echo built ... $(notdir $@)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
%.arm7: %.elf %.arm7: %.elf
@$(OBJCOPY) -O binary $< $@ @$(OBJCOPY) -O binary $< $@

View File

@@ -4,8 +4,6 @@ endif
include $(DEVKITARM)/base_rules include $(DEVKITARM)/base_rules
PORTLIBS := $(PORTLIBS_PATH)/gba $(PORTLIBS_PATH)/armv4
LIBGBA := $(DEVKITPRO)/libgba LIBGBA := $(DEVKITPRO)/libgba
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------

View File

@@ -1,7 +1,5 @@
-include $(DEVKITARM)/base_rules -include $(DEVKITARM)/base_rules
PORTLIBS := $(PORTLIBS_PATH)/gp32 $(PORTLIBS_PATH)/armv4
LIBMIRKO := $(DEVKITPRO)/libmirko LIBMIRKO := $(DEVKITPRO)/libmirko
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------

View File

@@ -12,8 +12,8 @@ cp -v $BUILDSCRIPTDIR/dkarm-eabi/rules/* $prefix
# Install and build the gba crt # Install and build the gba crt
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
cp -v $BUILDSCRIPTDIR/dkarm-eabi/crtls/* $prefix/$target/lib/ cp -v $BUILDSCRIPTDIR/dkarm-eabi/crtls/* $prefix/arm-eabi/lib/
cd $prefix/$target/lib/ cd $prefix/arm-eabi/lib/
$MAKE CRT=gba $MAKE CRT=gba
$MAKE CRT=gp32 $MAKE CRT=gp32
$MAKE CRT=er $MAKE CRT=er
@@ -21,25 +21,12 @@ $MAKE CRT=gp32_gpsdk
$MAKE CRT=ds_arm7 $MAKE CRT=ds_arm7
$MAKE CRT=ds_arm9 $MAKE CRT=ds_arm9
$MAKE CRT=ds_cart $MAKE CRT=ds_cart
$target-gcc -march=armv6k -mfloat-abi=hard -c 3dsx_crt0.s -o armv6k/fpu/3dsx_crt0.o
cd $BUILDDIR/libgba-$LIBGBA_VER
$MAKE || { echo "error building libgba"; exit 1; }
$MAKE install || { echo "error installing libgba"; exit 1; }
cd $BUILDDIR/libnds-$LIBNDS_VER cd $BUILDDIR/libnds-$LIBNDS_VER
$MAKE || { echo "error building libnds"; exit 1; } $MAKE || { echo "error building libnds"; exit 1; }
$MAKE install || { echo "error installing libnds"; exit 1; } $MAKE install || { echo "error installing libnds"; exit 1; }
cd $BUILDDIR/dswifi-$DSWIFI_VER cd $BUILDDIR/default-arm7-$DEFAULT_ARM7_VER
$MAKE || { echo "error building dswifi"; exit 1; }
$MAKE install || { echo "error installing dswifi"; exit 1; }
cd $BUILDDIR/maxmod-$MAXMOD_VER
$MAKE || { echo "error building maxmod"; exit 1; }
$MAKE install || { echo "error installing maxmod"; exit 1; }
cd $BUILDDIR/default_arm7-$DEFAULT_ARM7_VER
$MAKE || { echo "error building default arm7"; exit 1; } $MAKE || { echo "error building default arm7"; exit 1; }
$MAKE install || { echo "error installing default arm7"; exit 1; } $MAKE install || { echo "error installing default arm7"; exit 1; }
@@ -47,6 +34,10 @@ cd $BUILDDIR/libfat-$LIBFAT_VER
$MAKE nds-install || { echo "error building nds libfat"; exit 1; } $MAKE nds-install || { echo "error building nds libfat"; exit 1; }
$MAKE gba-install || { echo "error installing gba libfat"; exit 1; } $MAKE gba-install || { echo "error installing gba libfat"; exit 1; }
cd $BUILDDIR/maxmod-$MAXMOD_VER
$MAKE || { echo "error building maxmod"; exit 1; }
$MAKE install || { echo "error installing maxmod"; exit 1; }
cd $BUILDDIR/libmirko-$LIBMIRKO_VER cd $BUILDDIR/libmirko-$LIBMIRKO_VER
$MAKE || { echo "error building libmirko"; exit 1; } $MAKE || { echo "error building libmirko"; exit 1; }
$MAKE install || { echo "error installing libmirko"; exit 1; } $MAKE install || { echo "error installing libmirko"; exit 1; }
@@ -54,8 +45,3 @@ $MAKE install || { echo "error installing libmirko"; exit 1; }
cd $BUILDDIR/libfilesystem-$FILESYSTEM_VER cd $BUILDDIR/libfilesystem-$FILESYSTEM_VER
$MAKE || { echo "error building libfilesystem"; exit 1; } $MAKE || { echo "error building libfilesystem"; exit 1; }
$MAKE install || { echo "error installing libfilesystem"; exit 1; } $MAKE install || { echo "error installing libfilesystem"; exit 1; }
cd $BUILDDIR/libctru-$LIBCTRU_VER
$MAKE || { echo "error building libctru"; exit 1; }
$MAKE install || { echo "error installing libctru"; exit 1; }

16
dkarm-eabi/scripts/build-gcc.sh Executable file → Normal file
View File

@@ -34,21 +34,18 @@ cd $BUILDDIR
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build and install just the c compiler # build and install just the c compiler
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
mkdir -p $target/gcc mkdir -p $target/gcc-stage1
cd $target/gcc cd $target/gcc-stage1
if [ ! -f configured-gcc ] if [ ! -f configured-gcc ]
then then
CFLAGS="$cflags" CXXFLAGS="$cflags" LDFLAGS="$ldflags" CFLAGS_FOR_TARGET="-O2" CXXFLAGS_FOR_TARGET="-O2" LDFLAGS_FOR_TARGET="" ../../gcc-$GCC_VER/configure \ CFLAGS="$cflags" LDFLAGS="$ldflags" CFLAGS_FOR_TARGET="-O2" LDFLAGS_FOR_TARGET="" ../../gcc-$GCC_VER/configure \
--enable-languages=c,c++,objc,obj-c++ \ --enable-languages=c,c++,objc,obj-c++ \
--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 \
--enable-threads --disable-win32-registry --disable-nls --disable-debug\ --disable-threads --disable-win32-registry --disable-nls --disable-debug\
--disable-libmudflap --disable-libssp --disable-libgomp \ --disable-libmudflap --disable-libssp --disable-libgomp \
--disable-libstdcxx-pch \ --disable-libstdcxx-pch \
--target=$target \ --target=$target \
@@ -56,7 +53,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 45" \ --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 39" \
$CROSS_PARAMS \ $CROSS_PARAMS \
|| { echo "Error configuring gcc"; exit 1; } || { echo "Error configuring gcc"; exit 1; }
touch configured-gcc touch configured-gcc
@@ -86,9 +83,10 @@ cd $target/newlib
if [ ! -f configured-newlib ] if [ ! -f configured-newlib ]
then then
../../newlib-$NEWLIB_VER/configure \ CFLAGS_FOR_TARGET="-DREENTRANT_SYSCALLS_PROVIDED -D__DEFAULT_UTF8__ -O2" ../../newlib-$NEWLIB_VER/configure \
--disable-newlib-supplied-syscalls \ --disable-newlib-supplied-syscalls \
--enable-newlib-mb \ --enable-newlib-mb \
--enable-newlib-io-long-long \
--target=$target \ --target=$target \
--prefix=$prefix \ --prefix=$prefix \
|| { echo "Error configuring newlib"; exit 1; } || { echo "Error configuring newlib"; exit 1; }

4
dkarm-eabi/scripts/build-tools.sh Executable file → Normal file
View File

@@ -10,11 +10,11 @@ do
touch configured touch configured
fi fi
if [ ! -f built ]; then if [ ! -f built ]; then
$MAKE || { echo "error building $dir"; exit 1; } $MAKE || { echo "error building $archive"; exit 1; }
touch built touch built
fi fi
if [ ! -f installed ]; then if [ ! -f installed ]; then
$MAKE install || { echo "error installing $dir"; exit 1; } $MAKE install || { echo "error installing $archive"; exit 1; }
touch installed touch installed
fi fi
done done

View File

@@ -0,0 +1,149 @@
diff -Nbaur binutils-2.22/bfd/bfd-in2.h binutils-2.22-ppc/bfd/bfd-in2.h
--- binutils-2.22/bfd/bfd-in2.h 2011-09-16 02:15:18.000000000 +0100
+++ binutils-2.22-ppc/bfd/bfd-in2.h 2012-04-03 15:06:10.000000000 +0100
@@ -38,6 +38,8 @@
#include "ansidecl.h"
#include "symcat.h"
+#include <sys/stat.h>
+
#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
#ifndef SABER
/* This hack is to avoid a problem with some strict ANSI C preprocessors.
@@ -308,8 +310,6 @@
&& (sec)->sec_info_type != ELF_INFO_TYPE_MERGE \
&& (sec)->sec_info_type != ELF_INFO_TYPE_JUST_SYMS)
-/* Forward define. */
-struct stat;
typedef enum bfd_print_symbol
{
diff -Nbaur binutils-2.22/bfd/bfd-in.h binutils-2.22-ppc/bfd/bfd-in.h
--- binutils-2.22/bfd/bfd-in.h 2011-09-16 02:15:18.000000000 +0100
+++ binutils-2.22-ppc/bfd/bfd-in.h 2012-04-03 15:06:10.000000000 +0100
@@ -31,6 +31,8 @@
#include "ansidecl.h"
#include "symcat.h"
+#include <sys/stat.h>
+
#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
#ifndef SABER
/* This hack is to avoid a problem with some strict ANSI C preprocessors.
@@ -301,8 +303,6 @@
&& (sec)->sec_info_type != ELF_INFO_TYPE_MERGE \
&& (sec)->sec_info_type != ELF_INFO_TYPE_JUST_SYMS)
-/* Forward define. */
-struct stat;
typedef enum bfd_print_symbol
{
diff -Nbaur binutils-2.22/bfd/config.in binutils-2.22-ppc/bfd/config.in
--- binutils-2.22/bfd/config.in 2011-05-12 08:41:40.000000000 +0100
+++ binutils-2.22-ppc/bfd/config.in 2012-04-03 14:50:51.000000000 +0100
@@ -245,6 +245,9 @@
/* Define if <sys/procfs.h> has win32_pstatus_t. */
#undef HAVE_WIN32_PSTATUS_T
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
/* Define to 1 if you have the <zlib.h> header file. */
#undef HAVE_ZLIB_H
diff -Nbaur binutils-2.22/bfd/configure binutils-2.22-ppc/bfd/configure
--- binutils-2.22/bfd/configure 2011-11-21 11:55:48.000000000 +0000
+++ binutils-2.22-ppc/bfd/configure 2012-04-03 14:50:59.000000000 +0100
@@ -13508,6 +13508,22 @@
fi
+
+for ac_header in windows.h dlfcn.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+eval as_val=\$$as_ac_Header
+ if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether string.h and strings.h may both be included" >&5
$as_echo_n "checking whether string.h and strings.h may both be included... " >&6; }
if test "${gcc_cv_header_string+set}" = set; then :
diff -Nbaur binutils-2.22/bfd/configure.in binutils-2.22-ppc/bfd/configure.in
--- binutils-2.22/bfd/configure.in 2011-11-21 11:55:46.000000000 +0000
+++ binutils-2.22-ppc/bfd/configure.in 2012-04-03 14:51:23.000000000 +0100
@@ -190,6 +190,9 @@
GCC_HEADER_STDINT(bfd_stdint.h)
AC_HEADER_TIME
AC_HEADER_DIRENT
+
+AC_CHECK_HEADERS(windows.h dlfcn.h)
+
ACX_HEADER_STRING
AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid fileno)
AC_CHECK_FUNCS(strtoull)
diff -Nbaur binutils-2.22/bfd/plugin.c binutils-2.22-ppc/bfd/plugin.c
--- binutils-2.22/bfd/plugin.c 2011-07-11 16:03:07.000000000 +0100
+++ binutils-2.22-ppc/bfd/plugin.c 2012-04-03 14:51:32.000000000 +0100
@@ -25,7 +25,13 @@
#if BFD_SUPPORTS_PLUGINS
#include <assert.h>
+#ifdef HAVE_DLFCN_H
#include <dlfcn.h>
+#elif defined (HAVE_WINDOWS_H)
+#include <windows.h>
+#else
+#error Unknown how to handle dynamic-load-libraries.
+#endif
#include <stdarg.h>
#include "plugin-api.h"
#include "sysdep.h"
@@ -34,6 +40,37 @@
#include "libiberty.h"
#include <dirent.h>
+#if !defined (HAVE_DLFCN_H) && defined (HAVE_WINDOWS_H)
+
+#define RTLD_NOW 0 /* Dummy value. */
+
+static void *
+dlopen (const char *file, int mode ATTRIBUTE_UNUSED)
+{
+ return LoadLibrary (file);
+}
+
+static void *
+dlsym (void *handle, const char *name)
+{
+ return GetProcAddress (handle, name);
+}
+
+static int ATTRIBUTE_UNUSED
+dlclose (void *handle)
+{
+ FreeLibrary (handle);
+ return 0;
+}
+
+static const char *
+dlerror (void)
+{
+ return "Unable to load DLL.";
+}
+
+#endif /* !defined (HAVE_DLFCN_H) && defined (HAVE_WINDOWS_H) */
+
#define bfd_plugin_close_and_cleanup _bfd_generic_close_and_cleanup
#define bfd_plugin_bfd_free_cached_info _bfd_generic_bfd_free_cached_info
#define bfd_plugin_new_section_hook _bfd_generic_new_section_hook

View File

@@ -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

View File

@@ -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-4.6.3/gcc/config/rs6000/rs6000.h gcc-4.6.3-ppc/gcc/config/rs6000/rs6000.h
--- gcc-4.8.2/gcc/config/rs6000/rs6000.h 2013-06-19 02:18:38.000000000 +0100 --- gcc-4.6.3/gcc/config/rs6000/rs6000.h 2011-07-27 19:17:15.000000000 +0100
+++ gcc-4.8.2-ppc/gcc/config/rs6000/rs6000.h 2014-04-01 14:13:11.000000000 +0100 +++ gcc-4.6.3-ppc/gcc/config/rs6000/rs6000.h 2012-04-21 22:54:04.000000000 +0100
@@ -195,6 +195,7 @@ @@ -200,6 +200,7 @@
{ "asm_cpu_476", ASM_CPU_476_SPEC }, \ { "asm_cpu_476", ASM_CPU_476_SPEC }, \
SUBTARGET_EXTRA_SPECS SUBTARGET_EXTRA_SPECS
@@ -9,7 +9,7 @@ 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 @@ @@ -214,6 +215,8 @@
#else #else
#define ASM_CPU_NATIVE_SPEC "%(asm_default)" #define ASM_CPU_NATIVE_SPEC "%(asm_default)"
#endif #endif
@@ -18,10 +18,10 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/rs6000.h gcc-4.8.2-ppc/gcc/config/rs6000
#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-4.6.3/gcc/config/rs6000/sysv4.h gcc-4.6.3-ppc/gcc/config/rs6000/sysv4.h
--- gcc-4.8.2/gcc/config/rs6000/sysv4.h 2013-06-19 02:18:38.000000000 +0100 --- gcc-4.6.3/gcc/config/rs6000/sysv4.h 2011-03-07 07:50:23.000000000 +0000
+++ gcc-4.8.2-ppc/gcc/config/rs6000/sysv4.h 2014-04-01 14:13:11.000000000 +0100 +++ gcc-4.6.3-ppc/gcc/config/rs6000/sysv4.h 2012-04-21 22:54:04.000000000 +0100
@@ -570,7 +570,11 @@ @@ -603,7 +603,11 @@
/* Default starting address if specified. */ /* Default starting address if specified. */
#define LINK_START_SPEC "\ #define LINK_START_SPEC "\
@@ -34,7 +34,7 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
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 @@ @@ -641,7 +645,8 @@
/* Any specific OS flags. */ /* Any specific OS flags. */
#define LINK_OS_SPEC "\ #define LINK_OS_SPEC "\
@@ -44,7 +44,7 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
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 @@ @@ -660,7 +665,10 @@
/* 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} \
@@ -56,7 +56,7 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
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 @@ @@ -675,7 +683,10 @@
#undef STARTFILE_SPEC #undef STARTFILE_SPEC
#define STARTFILE_SPEC "\ #define STARTFILE_SPEC "\
@@ -68,7 +68,7 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
myellowknife : %(startfile_yellowknife) ; \ myellowknife : %(startfile_yellowknife) ; \
mmvme : %(startfile_mvme) ; \ mmvme : %(startfile_mvme) ; \
msim : %(startfile_sim) ; \ msim : %(startfile_sim) ; \
@@ -646,11 +657,12 @@ @@ -686,11 +697,12 @@
mcall-openbsd: %(startfile_openbsd) ; \ mcall-openbsd: %(startfile_openbsd) ; \
: %(startfile_default) }" : %(startfile_default) }"
@@ -83,7 +83,7 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
myellowknife : %(lib_yellowknife) ; \ myellowknife : %(lib_yellowknife) ; \
mmvme : %(lib_mvme) ; \ mmvme : %(lib_mvme) ; \
msim : %(lib_sim) ; \ msim : %(lib_sim) ; \
@@ -660,11 +672,12 @@ @@ -701,11 +713,12 @@
mcall-openbsd: %(lib_openbsd) ; \ mcall-openbsd: %(lib_openbsd) ; \
: %(lib_default) }" : %(lib_default) }"
@@ -98,7 +98,7 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
myellowknife : %(endfile_yellowknife) ; \ myellowknife : %(endfile_yellowknife) ; \
mmvme : %(endfile_mvme) ; \ mmvme : %(endfile_mvme) ; \
msim : %(endfile_sim) ; \ msim : %(endfile_sim) ; \
@@ -680,16 +693,27 @@ @@ -722,16 +735,27 @@
/* 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"
@@ -126,7 +126,7 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
/* 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 @@ @@ -926,6 +950,7 @@
#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 }, \
@@ -134,7 +134,7 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
{ "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 @@ @@ -936,6 +961,7 @@
{ "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 }, \
@@ -142,7 +142,7 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
{ "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 @@ @@ -946,6 +972,7 @@
{ "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 }, \
@@ -150,7 +150,7 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
{ "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 @@ @@ -959,7 +986,11 @@
{ "link_shlib", LINK_SHLIB_SPEC }, \ { "link_shlib", LINK_SHLIB_SPEC }, \
{ "link_target", LINK_TARGET_SPEC }, \ { "link_target", LINK_TARGET_SPEC }, \
{ "link_start", LINK_START_SPEC }, \ { "link_start", LINK_START_SPEC }, \
@@ -162,7 +162,7 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
{ "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 @@ @@ -970,6 +1001,7 @@
{ "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 }, \
@@ -170,7 +170,7 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
{ "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 @@ @@ -984,6 +1016,9 @@
{ "cc1_endian_little", CC1_ENDIAN_LITTLE_SPEC }, \ { "cc1_endian_little", CC1_ENDIAN_LITTLE_SPEC }, \
{ "cc1_endian_default", CC1_ENDIAN_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 }, \
@@ -180,10 +180,10 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
{ "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-4.6.3/gcc/config/rs6000/sysv4.opt gcc-4.6.3-ppc/gcc/config/rs6000/sysv4.opt
--- gcc-4.8.2/gcc/config/rs6000/sysv4.opt 2013-01-10 20:38:27.000000000 +0000 --- gcc-4.6.3/gcc/config/rs6000/sysv4.opt 2011-01-03 20:52:22.000000000 +0000
+++ gcc-4.8.2-ppc/gcc/config/rs6000/sysv4.opt 2014-04-01 14:13:11.000000000 +0100 +++ gcc-4.6.3-ppc/gcc/config/rs6000/sysv4.opt 2012-04-21 22:54:04.000000000 +0100
@@ -120,6 +120,26 @@ @@ -108,6 +108,26 @@
Target RejectNegative Target RejectNegative
Link with libads.a, libc.a and crt0.o Link with libads.a, libc.a and crt0.o
@@ -210,22 +210,22 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.opt gcc-4.8.2-ppc/gcc/config/rs600
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-4.6.3/gcc/config.gcc gcc-4.6.3-ppc/gcc/config.gcc
--- gcc-4.8.2/gcc/config.gcc 2013-10-03 01:47:24.000000000 +0100 --- gcc-4.6.3/gcc/config.gcc 2011-07-22 17:44:50.000000000 +0100
+++ gcc-4.8.2-ppc/gcc/config.gcc 2014-04-01 14:13:11.000000000 +0100 +++ gcc-4.6.3-ppc/gcc/config.gcc 2012-04-21 22:54:04.000000000 +0100
@@ -2057,7 +2057,7 @@ @@ -2133,7 +2133,7 @@
use_gcc_stdint=wrap use_gcc_stdint=wrap
;; ;;
powerpc-*-eabi*) powerpc-*-eabi*)
- tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h" - tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h"
+ tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/750cl.h" + tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/750cl.h"
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-fprules-fpbit 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-4.6.3/libcpp/Makefile.in gcc-4.6.3-ppc/libcpp/Makefile.in
--- gcc-4.8.2/libcpp/Makefile.in 2013-10-16 08:27:58.000000000 +0100 --- gcc-4.6.3/libcpp/Makefile.in 2012-03-01 12:03:46.000000000 +0000
+++ gcc-4.8.2-ppc/libcpp/Makefile.in 2014-04-01 14:13:11.000000000 +0100 +++ gcc-4.6.3-ppc/libcpp/Makefile.in 2012-04-21 22:54:04.000000000 +0100
@@ -207,8 +207,7 @@ @@ -212,8 +212,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,48 +235,3 @@ 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
--- gcc-4.8.2/libgcc/config/rs6000/crtrestvr.S 2013-02-04 19:06:20.000000000 +0000
+++ gcc-4.8.2-ppc/libgcc/config/rs6000/crtrestvr.S 2014-04-01 14:13:11.000000000 +0100
@@ -24,7 +24,7 @@
/* On PowerPC64 Linux, these functions are provided by the linker. */
#ifndef __powerpc64__
-
+#if 0
#undef __ALTIVEC__
#define __ALTIVEC__ 1
#include "ppc-asm.h"
@@ -85,3 +85,4 @@
CFI_ENDPROC
#endif
+#endif
diff -Nbaur gcc-4.8.2/libgcc/config/rs6000/crtsavevr.S gcc-4.8.2-ppc/libgcc/config/rs6000/crtsavevr.S
--- gcc-4.8.2/libgcc/config/rs6000/crtsavevr.S 2013-02-04 19:06:20.000000000 +0000
+++ gcc-4.8.2-ppc/libgcc/config/rs6000/crtsavevr.S 2014-04-01 14:13:11.000000000 +0100
@@ -24,6 +24,7 @@
/* On PowerPC64 Linux, these functions are provided by the linker. */
#ifndef __powerpc64__
+#if 0
#undef __ALTIVEC__
#define __ALTIVEC__ 1
@@ -85,3 +86,4 @@
CFI_ENDPROC
#endif
+#endif
diff -Nbaur gcc-4.8.2/libgcc/crtstuff.c gcc-4.8.2-ppc/libgcc/crtstuff.c
--- gcc-4.8.2/libgcc/crtstuff.c 2013-02-04 19:06:20.000000000 +0000
+++ gcc-4.8.2-ppc/libgcc/crtstuff.c 2014-04-01 14:13:11.000000000 +0100
@@ -47,7 +47,7 @@
/* Target machine header files require this define. */
#define IN_LIBGCC2
-
+#define USED_FOR_TARGET
/* FIXME: Including auto-host is incorrect, but until we have
identified the set of defines that need to go into auto-target.h,
this will have to do. */

View File

@@ -1,7 +1,7 @@
diff -Nbaur gdb-7.7/gdb/Makefile.in gdb-7.7-ppc/gdb/Makefile.in diff -Nbaur gdb-7.4/gdb/Makefile.in gdb-7.4-ppc/gdb/Makefile.in
--- gdb-7.7/gdb/Makefile.in 2014-02-06 02:21:29.000000000 +0000 --- gdb-7.4/gdb/Makefile.in 2012-01-06 04:43:01.000000000 +0000
+++ gdb-7.7-ppc/gdb/Makefile.in 2014-04-01 14:01:24.000000000 +0100 +++ gdb-7.4-ppc/gdb/Makefile.in 2012-01-28 15:56:00.000000000 +0000
@@ -2307,10 +2307,10 @@ @@ -2195,10 +2195,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,10 +16,10 @@ 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 diff -Nbaur gdb-7.4/sim/ppc/Makefile.in gdb-7.4-ppc/sim/ppc/Makefile.in
--- gdb-7.7/sim/ppc/Makefile.in 2013-12-08 04:55:48.000000000 +0000 --- gdb-7.4/sim/ppc/Makefile.in 2009-09-16 00:26:44.000000000 +0100
+++ gdb-7.7-ppc/sim/ppc/Makefile.in 2014-04-01 14:01:24.000000000 +0100 +++ gdb-7.4-ppc/sim/ppc/Makefile.in 2012-02-25 13:30:02.000000000 +0000
@@ -552,7 +552,7 @@ @@ -551,7 +551,7 @@
PACKAGE_OBJ = @sim_pk_obj@ PACKAGE_OBJ = @sim_pk_obj@

4
dkppc/scripts/build-gcc.sh Executable file → Normal file
View File

@@ -75,7 +75,7 @@ cd $target/gcc
if [ ! -f configured-gcc ] if [ ! -f configured-gcc ]
then then
CFLAGS="$cflags" CXXFLAGS="$cflags" LDFLAGS="$ldflags" CFLAGS_FOR_TARGET="-O2" CXXFLAGS_FOR_TARGET="-O2" LDFLAGS_FOR_TARGET="" ../../gcc-$GCC_VER/configure \ CFLAGS="$cflags" LDFLAGS="$ldflags" CFLAGS_FOR_TARGET="-O2" LDFLAGS_FOR_TARGET="" ../../gcc-$GCC_VER/configure \
--enable-languages=c,c++,objc \ --enable-languages=c,c++,objc \
--enable-lto $plugin_ld \ --enable-lto $plugin_ld \
--with-cpu=750 \ --with-cpu=750 \
@@ -87,7 +87,7 @@ then
--with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \ --with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \
--prefix=$prefix\ --prefix=$prefix\
--disable-dependency-tracking \ --disable-dependency-tracking \
--with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitPPC release 27" \ --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitPPC release 26" \
$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

View File

@@ -1,6 +1,6 @@
diff -Nbaur binutils-2.22/bfd/archures.c binutils-2.22-psp/bfd/archures.c diff -Nbaur binutils-2.22/bfd/archures.c binutils-2.22-psp/bfd/archures.c
--- binutils-2.22/bfd/archures.c 2011-08-02 00:04:19.000000000 +0100 --- binutils-2.22/bfd/archures.c 2011-08-01 23:04:19.000000000 +0000
+++ binutils-2.22-psp/bfd/archures.c 2012-04-03 22:08:06.000000000 +0100 +++ binutils-2.22-psp/bfd/archures.c 2018-06-05 22:45:23.845890519 +0000
@@ -175,6 +175,7 @@ @@ -175,6 +175,7 @@
.#define bfd_mach_mips_loongson_2f 3002 .#define bfd_mach_mips_loongson_2f 3002
.#define bfd_mach_mips_loongson_3a 3003 .#define bfd_mach_mips_loongson_3a 3003
@@ -10,8 +10,8 @@ diff -Nbaur binutils-2.22/bfd/archures.c binutils-2.22-psp/bfd/archures.c
.#define bfd_mach_mips_xlr 887682 {* decimal 'XLR' *} .#define bfd_mach_mips_xlr 887682 {* decimal 'XLR' *}
.#define bfd_mach_mipsisa32 32 .#define bfd_mach_mipsisa32 32
diff -Nbaur binutils-2.22/bfd/bfd-in2.h binutils-2.22-psp/bfd/bfd-in2.h diff -Nbaur binutils-2.22/bfd/bfd-in2.h binutils-2.22-psp/bfd/bfd-in2.h
--- binutils-2.22/bfd/bfd-in2.h 2011-09-16 02:15:18.000000000 +0100 --- binutils-2.22/bfd/bfd-in2.h 2011-09-16 01:15:18.000000000 +0000
+++ binutils-2.22-psp/bfd/bfd-in2.h 2012-04-03 22:12:53.000000000 +0100 +++ binutils-2.22-psp/bfd/bfd-in2.h 2018-06-05 22:45:23.845890519 +0000
@@ -38,6 +38,8 @@ @@ -38,6 +38,8 @@
#include "ansidecl.h" #include "ansidecl.h"
@@ -39,8 +39,8 @@ diff -Nbaur binutils-2.22/bfd/bfd-in2.h binutils-2.22-psp/bfd/bfd-in2.h
#define bfd_mach_mips_xlr 887682 /* decimal 'XLR' */ #define bfd_mach_mips_xlr 887682 /* decimal 'XLR' */
#define bfd_mach_mipsisa32 32 #define bfd_mach_mipsisa32 32
diff -Nbaur binutils-2.22/bfd/bfd-in.h binutils-2.22-psp/bfd/bfd-in.h diff -Nbaur binutils-2.22/bfd/bfd-in.h binutils-2.22-psp/bfd/bfd-in.h
--- binutils-2.22/bfd/bfd-in.h 2011-09-16 02:15:18.000000000 +0100 --- binutils-2.22/bfd/bfd-in.h 2011-09-16 01:15:18.000000000 +0000
+++ binutils-2.22-psp/bfd/bfd-in.h 2012-04-03 22:12:53.000000000 +0100 +++ binutils-2.22-psp/bfd/bfd-in.h 2018-06-05 22:45:23.845890519 +0000
@@ -31,6 +31,8 @@ @@ -31,6 +31,8 @@
#include "ansidecl.h" #include "ansidecl.h"
@@ -60,8 +60,8 @@ diff -Nbaur binutils-2.22/bfd/bfd-in.h binutils-2.22-psp/bfd/bfd-in.h
typedef enum bfd_print_symbol typedef enum bfd_print_symbol
{ {
diff -Nbaur binutils-2.22/bfd/config.in binutils-2.22-psp/bfd/config.in diff -Nbaur binutils-2.22/bfd/config.in binutils-2.22-psp/bfd/config.in
--- binutils-2.22/bfd/config.in 2011-05-12 08:41:40.000000000 +0100 --- binutils-2.22/bfd/config.in 2011-05-12 07:41:40.000000000 +0000
+++ binutils-2.22-psp/bfd/config.in 2012-04-03 22:12:53.000000000 +0100 +++ binutils-2.22-psp/bfd/config.in 2018-06-05 22:45:23.845890519 +0000
@@ -245,6 +245,9 @@ @@ -245,6 +245,9 @@
/* Define if <sys/procfs.h> has win32_pstatus_t. */ /* Define if <sys/procfs.h> has win32_pstatus_t. */
#undef HAVE_WIN32_PSTATUS_T #undef HAVE_WIN32_PSTATUS_T
@@ -74,7 +74,7 @@ diff -Nbaur binutils-2.22/bfd/config.in binutils-2.22-psp/bfd/config.in
diff -Nbaur binutils-2.22/bfd/configure binutils-2.22-psp/bfd/configure diff -Nbaur binutils-2.22/bfd/configure binutils-2.22-psp/bfd/configure
--- binutils-2.22/bfd/configure 2011-11-21 11:55:48.000000000 +0000 --- binutils-2.22/bfd/configure 2011-11-21 11:55:48.000000000 +0000
+++ binutils-2.22-psp/bfd/configure 2012-04-03 22:12:53.000000000 +0100 +++ binutils-2.22-psp/bfd/configure 2018-06-05 22:45:23.849891511 +0000
@@ -13508,6 +13508,22 @@ @@ -13508,6 +13508,22 @@
fi fi
@@ -100,7 +100,7 @@ diff -Nbaur binutils-2.22/bfd/configure binutils-2.22-psp/bfd/configure
if test "${gcc_cv_header_string+set}" = set; then : if test "${gcc_cv_header_string+set}" = set; then :
diff -Nbaur binutils-2.22/bfd/configure.in binutils-2.22-psp/bfd/configure.in diff -Nbaur binutils-2.22/bfd/configure.in binutils-2.22-psp/bfd/configure.in
--- binutils-2.22/bfd/configure.in 2011-11-21 11:55:46.000000000 +0000 --- binutils-2.22/bfd/configure.in 2011-11-21 11:55:46.000000000 +0000
+++ binutils-2.22-psp/bfd/configure.in 2012-04-03 22:12:53.000000000 +0100 +++ binutils-2.22-psp/bfd/configure.in 2018-06-05 22:45:23.849891511 +0000
@@ -190,6 +190,9 @@ @@ -190,6 +190,9 @@
GCC_HEADER_STDINT(bfd_stdint.h) GCC_HEADER_STDINT(bfd_stdint.h)
AC_HEADER_TIME AC_HEADER_TIME
@@ -112,8 +112,8 @@ diff -Nbaur binutils-2.22/bfd/configure.in binutils-2.22-psp/bfd/configure.in
AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid fileno) AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid fileno)
AC_CHECK_FUNCS(strtoull) AC_CHECK_FUNCS(strtoull)
diff -Nbaur binutils-2.22/bfd/cpu-mips.c binutils-2.22-psp/bfd/cpu-mips.c diff -Nbaur binutils-2.22/bfd/cpu-mips.c binutils-2.22-psp/bfd/cpu-mips.c
--- binutils-2.22/bfd/cpu-mips.c 2011-07-24 15:20:05.000000000 +0100 --- binutils-2.22/bfd/cpu-mips.c 2011-07-24 14:20:05.000000000 +0000
+++ binutils-2.22-psp/bfd/cpu-mips.c 2012-04-03 22:08:06.000000000 +0100 +++ binutils-2.22-psp/bfd/cpu-mips.c 2018-06-05 22:45:23.849891511 +0000
@@ -89,6 +89,7 @@ @@ -89,6 +89,7 @@
I_mipsisa64, I_mipsisa64,
I_mipsisa64r2, I_mipsisa64r2,
@@ -130,9 +130,30 @@ diff -Nbaur binutils-2.22/bfd/cpu-mips.c binutils-2.22-psp/bfd/cpu-mips.c
N (64, 64, bfd_mach_mips_loongson_2e, "mips:loongson_2e", FALSE, NN(I_loongson_2e)), N (64, 64, bfd_mach_mips_loongson_2e, "mips:loongson_2e", FALSE, NN(I_loongson_2e)),
N (64, 64, bfd_mach_mips_loongson_2f, "mips:loongson_2f", FALSE, NN(I_loongson_2f)), N (64, 64, bfd_mach_mips_loongson_2f, "mips:loongson_2f", FALSE, NN(I_loongson_2f)),
N (64, 64, bfd_mach_mips_loongson_3a, "mips:loongson_3a", FALSE, NN(I_loongson_3a)), N (64, 64, bfd_mach_mips_loongson_3a, "mips:loongson_3a", FALSE, NN(I_loongson_3a)),
diff -Nbaur binutils-2.22/bfd/doc/bfd.texinfo binutils-2.22-psp/bfd/doc/bfd.texinfo
--- binutils-2.22/bfd/doc/bfd.texinfo 2010-10-28 11:40:25.000000000 +0000
+++ binutils-2.22-psp/bfd/doc/bfd.texinfo 2018-06-05 23:00:58.016586742 +0000
@@ -322,7 +322,7 @@
@printindex cp
@tex
-% I think something like @colophon should be in texinfo. In the
+% I think something like @@colophon should be in texinfo. In the
% meantime:
\long\def\colophon{\hbox to0pt{}\vfill
\centerline{The body of this manual is set in}
@@ -333,7 +333,7 @@
\centerline{{\sl\fontname\tensl\/}}
\centerline{are used for emphasis.}\vfill}
\page\colophon
-% Blame: doc@cygnus.com, 28mar91.
+% Blame: doc@@cygnus.com, 28mar91.
@end tex
@bye
diff -Nbaur binutils-2.22/bfd/elfxx-mips.c binutils-2.22-psp/bfd/elfxx-mips.c diff -Nbaur binutils-2.22/bfd/elfxx-mips.c binutils-2.22-psp/bfd/elfxx-mips.c
--- binutils-2.22/bfd/elfxx-mips.c 2011-11-21 09:29:27.000000000 +0000 --- binutils-2.22/bfd/elfxx-mips.c 2011-11-21 09:29:27.000000000 +0000
+++ binutils-2.22-psp/bfd/elfxx-mips.c 2012-04-03 22:08:06.000000000 +0100 +++ binutils-2.22-psp/bfd/elfxx-mips.c 2018-06-05 22:45:23.853892502 +0000
@@ -6173,14 +6173,19 @@ @@ -6173,14 +6173,19 @@
case E_MIPS_MACH_SB1: case E_MIPS_MACH_SB1:
return bfd_mach_mips_sb1; return bfd_mach_mips_sb1;
@@ -173,8 +194,8 @@ diff -Nbaur binutils-2.22/bfd/elfxx-mips.c binutils-2.22-psp/bfd/elfxx-mips.c
/* MIPS I extensions. */ /* MIPS I extensions. */
{ bfd_mach_mips6000, bfd_mach_mips3000 }, { bfd_mach_mips6000, bfd_mach_mips3000 },
diff -Nbaur binutils-2.22/bfd/plugin.c binutils-2.22-psp/bfd/plugin.c diff -Nbaur binutils-2.22/bfd/plugin.c binutils-2.22-psp/bfd/plugin.c
--- binutils-2.22/bfd/plugin.c 2011-07-11 16:03:07.000000000 +0100 --- binutils-2.22/bfd/plugin.c 2011-07-11 15:03:07.000000000 +0000
+++ binutils-2.22-psp/bfd/plugin.c 2012-04-03 22:12:53.000000000 +0100 +++ binutils-2.22-psp/bfd/plugin.c 2018-06-05 22:45:23.853892502 +0000
@@ -25,7 +25,13 @@ @@ -25,7 +25,13 @@
#if BFD_SUPPORTS_PLUGINS #if BFD_SUPPORTS_PLUGINS
@@ -229,7 +250,7 @@ diff -Nbaur binutils-2.22/bfd/plugin.c binutils-2.22-psp/bfd/plugin.c
#define bfd_plugin_new_section_hook _bfd_generic_new_section_hook #define bfd_plugin_new_section_hook _bfd_generic_new_section_hook
diff -Nbaur binutils-2.22/bfd/version.h binutils-2.22-psp/bfd/version.h diff -Nbaur binutils-2.22/bfd/version.h binutils-2.22-psp/bfd/version.h
--- binutils-2.22/bfd/version.h 2011-11-21 09:29:28.000000000 +0000 --- binutils-2.22/bfd/version.h 2011-11-21 09:29:28.000000000 +0000
+++ binutils-2.22-psp/bfd/version.h 2012-04-03 22:08:06.000000000 +0100 +++ binutils-2.22-psp/bfd/version.h 2018-06-05 22:45:23.857893494 +0000
@@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20111121 -#define BFD_VERSION_DATE 20111121
+#define BFD_VERSION_DATE (PSNPT 20120103) +#define BFD_VERSION_DATE (PSNPT 20120103)
@@ -237,8 +258,8 @@ diff -Nbaur binutils-2.22/bfd/version.h binutils-2.22-psp/bfd/version.h
#define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@
#define REPORT_BUGS_TO @report_bugs_to@ #define REPORT_BUGS_TO @report_bugs_to@
diff -Nbaur binutils-2.22/binutils/readelf.c binutils-2.22-psp/binutils/readelf.c diff -Nbaur binutils-2.22/binutils/readelf.c binutils-2.22-psp/binutils/readelf.c
--- binutils-2.22/binutils/readelf.c 2011-09-21 21:49:13.000000000 +0100 --- binutils-2.22/binutils/readelf.c 2011-09-21 20:49:13.000000000 +0000
+++ binutils-2.22-psp/binutils/readelf.c 2012-04-03 22:08:06.000000000 +0100 +++ binutils-2.22-psp/binutils/readelf.c 2018-06-05 22:45:23.857893494 +0000
@@ -2395,10 +2395,11 @@ @@ -2395,10 +2395,11 @@
case E_MIPS_MACH_9000: strcat (buf, ", 9000"); break; case E_MIPS_MACH_9000: strcat (buf, ", 9000"); break;
case E_MIPS_MACH_LS2E: strcat (buf, ", loongson-2e"); break; case E_MIPS_MACH_LS2E: strcat (buf, ", loongson-2e"); break;
@@ -253,8 +274,8 @@ diff -Nbaur binutils-2.22/binutils/readelf.c binutils-2.22-psp/binutils/readelf.
/* We simply ignore the field in this case to avoid confusion: /* We simply ignore the field in this case to avoid confusion:
MIPS ELF does not specify EF_MIPS_MACH, it is a GNU MIPS ELF does not specify EF_MIPS_MACH, it is a GNU
diff -Nbaur binutils-2.22/config.sub binutils-2.22-psp/config.sub diff -Nbaur binutils-2.22/config.sub binutils-2.22-psp/config.sub
--- binutils-2.22/config.sub 2011-06-06 11:36:06.000000000 +0100 --- binutils-2.22/config.sub 2011-06-06 10:36:06.000000000 +0000
+++ binutils-2.22-psp/config.sub 2012-04-03 22:08:06.000000000 +0100 +++ binutils-2.22-psp/config.sub 2018-06-05 22:45:23.857893494 +0000
@@ -279,6 +279,7 @@ @@ -279,6 +279,7 @@
| mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \ | mipsisa64sr71k | mipsisa64sr71kel \
@@ -283,8 +304,8 @@ diff -Nbaur binutils-2.22/config.sub binutils-2.22-psp/config.sub
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
;; ;;
diff -Nbaur binutils-2.22/configure binutils-2.22-psp/configure diff -Nbaur binutils-2.22/configure binutils-2.22-psp/configure
--- binutils-2.22/configure 2011-08-14 13:28:15.000000000 +0100 --- binutils-2.22/configure 2011-08-14 12:28:15.000000000 +0000
+++ binutils-2.22-psp/configure 2012-04-03 22:08:06.000000000 +0100 +++ binutils-2.22-psp/configure 2018-06-05 22:45:23.861894485 +0000
@@ -2667,7 +2667,7 @@ @@ -2667,7 +2667,7 @@
# binutils, gas and ld appear in that order because it makes sense to run # binutils, gas and ld appear in that order because it makes sense to run
# "make check" in that particular order. # "make check" in that particular order.
@@ -304,7 +325,7 @@ diff -Nbaur binutils-2.22/configure binutils-2.22-psp/configure
case "${target}" in case "${target}" in
diff -Nbaur binutils-2.22/gas/config/tc-mips.c binutils-2.22-psp/gas/config/tc-mips.c diff -Nbaur binutils-2.22/gas/config/tc-mips.c binutils-2.22-psp/gas/config/tc-mips.c
--- binutils-2.22/gas/config/tc-mips.c 2011-11-21 09:29:32.000000000 +0000 --- binutils-2.22/gas/config/tc-mips.c 2011-11-21 09:29:32.000000000 +0000
+++ binutils-2.22-psp/gas/config/tc-mips.c 2012-04-03 22:08:06.000000000 +0100 +++ binutils-2.22-psp/gas/config/tc-mips.c 2018-06-05 22:45:23.865895476 +0000
@@ -91,8 +91,32 @@ @@ -91,8 +91,32 @@
#define ZERO 0 #define ZERO 0
@@ -2171,8 +2192,8 @@ diff -Nbaur binutils-2.22/gas/config/tc-mips.c binutils-2.22-psp/gas/config/tc-m
/* MIPS III */ /* MIPS III */
{ "r4000", 0, ISA_MIPS3, CPU_R4000 }, { "r4000", 0, ISA_MIPS3, CPU_R4000 },
diff -Nbaur binutils-2.22/gas/configure binutils-2.22-psp/gas/configure diff -Nbaur binutils-2.22/gas/configure binutils-2.22-psp/gas/configure
--- binutils-2.22/gas/configure 2011-05-18 10:41:14.000000000 +0100 --- binutils-2.22/gas/configure 2011-05-18 09:41:14.000000000 +0000
+++ binutils-2.22-psp/gas/configure 2012-04-03 22:08:06.000000000 +0100 +++ binutils-2.22-psp/gas/configure 2018-06-05 22:45:23.865895476 +0000
@@ -12043,6 +12043,9 @@ @@ -12043,6 +12043,9 @@
mips64vr | mips64vrel) mips64vr | mips64vrel)
mips_cpu=vr4100 mips_cpu=vr4100
@@ -2184,8 +2205,8 @@ diff -Nbaur binutils-2.22/gas/configure binutils-2.22-psp/gas/configure
mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'` mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'`
;; ;;
diff -Nbaur binutils-2.22/gas/configure.in binutils-2.22-psp/gas/configure.in diff -Nbaur binutils-2.22/gas/configure.in binutils-2.22-psp/gas/configure.in
--- binutils-2.22/gas/configure.in 2011-05-18 10:41:14.000000000 +0100 --- binutils-2.22/gas/configure.in 2011-05-18 09:41:14.000000000 +0000
+++ binutils-2.22-psp/gas/configure.in 2012-04-03 22:08:06.000000000 +0100 +++ binutils-2.22-psp/gas/configure.in 2018-06-05 22:45:23.869896468 +0000
@@ -213,6 +213,9 @@ @@ -213,6 +213,9 @@
mips64vr | mips64vrel) mips64vr | mips64vrel)
mips_cpu=vr4100 mips_cpu=vr4100
@@ -2198,7 +2219,7 @@ diff -Nbaur binutils-2.22/gas/configure.in binutils-2.22-psp/gas/configure.in
mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'` mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'`
diff -Nbaur binutils-2.22/gas/testsuite/gas/mips/mips.exp binutils-2.22-psp/gas/testsuite/gas/mips/mips.exp diff -Nbaur binutils-2.22/gas/testsuite/gas/mips/mips.exp binutils-2.22-psp/gas/testsuite/gas/mips/mips.exp
--- binutils-2.22/gas/testsuite/gas/mips/mips.exp 2011-11-21 09:29:32.000000000 +0000 --- binutils-2.22/gas/testsuite/gas/mips/mips.exp 2011-11-21 09:29:32.000000000 +0000
+++ binutils-2.22-psp/gas/testsuite/gas/mips/mips.exp 2012-04-03 22:08:06.000000000 +0100 +++ binutils-2.22-psp/gas/testsuite/gas/mips/mips.exp 2018-06-05 22:45:23.869896468 +0000
@@ -409,6 +409,9 @@ @@ -409,6 +409,9 @@
mips_arch_create sb1 64 mips64 { mips3d } \ mips_arch_create sb1 64 mips64 { mips3d } \
{ -march=sb1 -mtune=sb1 } { -mmips:sb1 } \ { -march=sb1 -mtune=sb1 } { -mmips:sb1 } \
@@ -2210,8 +2231,8 @@ diff -Nbaur binutils-2.22/gas/testsuite/gas/mips/mips.exp binutils-2.22-psp/gas/
{ -march=octeon -mtune=octeon } { -mmips:octeon } \ { -march=octeon -mtune=octeon } { -mmips:octeon } \
{ mips64octeon*-*-* } { mips64octeon*-*-* }
diff -Nbaur binutils-2.22/include/elf/common.h binutils-2.22-psp/include/elf/common.h diff -Nbaur binutils-2.22/include/elf/common.h binutils-2.22-psp/include/elf/common.h
--- binutils-2.22/include/elf/common.h 2011-07-22 21:22:36.000000000 +0100 --- binutils-2.22/include/elf/common.h 2011-07-22 20:22:36.000000000 +0000
+++ binutils-2.22-psp/include/elf/common.h 2012-04-03 22:08:06.000000000 +0100 +++ binutils-2.22-psp/include/elf/common.h 2018-06-05 22:45:23.869896468 +0000
@@ -96,6 +96,7 @@ @@ -96,6 +96,7 @@
#define ET_HIOS 0xFEFF /* Operating system-specific */ #define ET_HIOS 0xFEFF /* Operating system-specific */
#define ET_LOPROC 0xFF00 /* Processor-specific */ #define ET_LOPROC 0xFF00 /* Processor-specific */
@@ -2221,8 +2242,8 @@ diff -Nbaur binutils-2.22/include/elf/common.h binutils-2.22-psp/include/elf/com
/* Values for e_machine, which identifies the architecture. These numbers /* Values for e_machine, which identifies the architecture. These numbers
are officially assigned by registry@sco.com. See below for a list of are officially assigned by registry@sco.com. See below for a list of
diff -Nbaur binutils-2.22/include/elf/mips.h binutils-2.22-psp/include/elf/mips.h diff -Nbaur binutils-2.22/include/elf/mips.h binutils-2.22-psp/include/elf/mips.h
--- binutils-2.22/include/elf/mips.h 2011-07-24 15:20:12.000000000 +0100 --- binutils-2.22/include/elf/mips.h 2011-07-24 14:20:12.000000000 +0000
+++ binutils-2.22-psp/include/elf/mips.h 2012-04-03 22:08:07.000000000 +0100 +++ binutils-2.22-psp/include/elf/mips.h 2018-06-05 22:45:23.869896468 +0000
@@ -265,6 +265,7 @@ @@ -265,6 +265,7 @@
#define E_MIPS_MACH_5400 0x00910000 #define E_MIPS_MACH_5400 0x00910000
#define E_MIPS_MACH_5500 0x00980000 #define E_MIPS_MACH_5500 0x00980000
@@ -2232,8 +2253,8 @@ diff -Nbaur binutils-2.22/include/elf/mips.h binutils-2.22-psp/include/elf/mips.
#define E_MIPS_MACH_LS2F 0x00A10000 #define E_MIPS_MACH_LS2F 0x00A10000
#define E_MIPS_MACH_LS3A 0x00A20000 #define E_MIPS_MACH_LS3A 0x00A20000
diff -Nbaur binutils-2.22/include/opcode/mips.h binutils-2.22-psp/include/opcode/mips.h diff -Nbaur binutils-2.22/include/opcode/mips.h binutils-2.22-psp/include/opcode/mips.h
--- binutils-2.22/include/opcode/mips.h 2011-08-09 16:20:03.000000000 +0100 --- binutils-2.22/include/opcode/mips.h 2011-08-09 15:20:03.000000000 +0000
+++ binutils-2.22-psp/include/opcode/mips.h 2012-04-03 22:08:07.000000000 +0100 +++ binutils-2.22-psp/include/opcode/mips.h 2018-06-05 22:45:23.869896468 +0000
@@ -216,6 +216,228 @@ @@ -216,6 +216,228 @@
#define MDMX_FMTSEL_VEC_QH 0x15 #define MDMX_FMTSEL_VEC_QH 0x15
#define MDMX_FMTSEL_VEC_OB 0x16 #define MDMX_FMTSEL_VEC_OB 0x16
@@ -2591,8 +2612,8 @@ diff -Nbaur binutils-2.22/include/opcode/mips.h binutils-2.22-psp/include/opcode
M_COP0, M_COP0,
M_COP1, M_COP1,
diff -Nbaur binutils-2.22/include/opcode/vfpu.h binutils-2.22-psp/include/opcode/vfpu.h diff -Nbaur binutils-2.22/include/opcode/vfpu.h binutils-2.22-psp/include/opcode/vfpu.h
--- binutils-2.22/include/opcode/vfpu.h 1970-01-01 01:00:00.000000000 +0100 --- binutils-2.22/include/opcode/vfpu.h 1970-01-01 00:00:00.000000000 +0000
+++ binutils-2.22-psp/include/opcode/vfpu.h 2012-04-03 22:08:07.000000000 +0100 +++ binutils-2.22-psp/include/opcode/vfpu.h 2018-06-05 22:45:23.869896468 +0000
@@ -0,0 +1,261 @@ @@ -0,0 +1,261 @@
+#ifndef _VFPU_H_ +#ifndef _VFPU_H_
+#define _VFPU_H_ +#define _VFPU_H_
@@ -2857,7 +2878,7 @@ diff -Nbaur binutils-2.22/include/opcode/vfpu.h binutils-2.22-psp/include/opcode
+#endif /* _VFPU_H_ */ +#endif /* _VFPU_H_ */
diff -Nbaur binutils-2.22/ld/configure.tgt binutils-2.22-psp/ld/configure.tgt diff -Nbaur binutils-2.22/ld/configure.tgt binutils-2.22-psp/ld/configure.tgt
--- binutils-2.22/ld/configure.tgt 2011-11-21 09:29:37.000000000 +0000 --- binutils-2.22/ld/configure.tgt 2011-11-21 09:29:37.000000000 +0000
+++ binutils-2.22-psp/ld/configure.tgt 2012-04-03 22:08:07.000000000 +0100 +++ binutils-2.22-psp/ld/configure.tgt 2018-06-05 22:45:23.869896468 +0000
@@ -383,6 +383,8 @@ @@ -383,6 +383,8 @@
mips*vr4100-*-elf*) targ_emul=elf32b4300 ;; mips*vr4100-*-elf*) targ_emul=elf32b4300 ;;
mips*vr5000el-*-elf*) targ_emul=elf32l4300 ;; mips*vr5000el-*-elf*) targ_emul=elf32l4300 ;;
@@ -2868,8 +2889,8 @@ diff -Nbaur binutils-2.22/ld/configure.tgt binutils-2.22-psp/ld/configure.tgt
targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" ;; targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" ;;
mips*-sde-elf*) targ_emul=elf32btsmip mips*-sde-elf*) targ_emul=elf32btsmip
diff -Nbaur binutils-2.22/ld/emulparams/elf_mipsallegrexel_psp.sh binutils-2.22-psp/ld/emulparams/elf_mipsallegrexel_psp.sh diff -Nbaur binutils-2.22/ld/emulparams/elf_mipsallegrexel_psp.sh binutils-2.22-psp/ld/emulparams/elf_mipsallegrexel_psp.sh
--- binutils-2.22/ld/emulparams/elf_mipsallegrexel_psp.sh 1970-01-01 01:00:00.000000000 +0100 --- binutils-2.22/ld/emulparams/elf_mipsallegrexel_psp.sh 1970-01-01 00:00:00.000000000 +0000
+++ binutils-2.22-psp/ld/emulparams/elf_mipsallegrexel_psp.sh 2012-04-03 22:08:07.000000000 +0100 +++ binutils-2.22-psp/ld/emulparams/elf_mipsallegrexel_psp.sh 2018-06-05 22:45:23.869896468 +0000
@@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
+# Based off of the default elf32 MIPS target. However, we use a seperate +# Based off of the default elf32 MIPS target. However, we use a seperate
+# script template because the PSP architecture defines sections that normally +# script template because the PSP architecture defines sections that normally
@@ -2894,8 +2915,8 @@ diff -Nbaur binutils-2.22/ld/emulparams/elf_mipsallegrexel_psp.sh binutils-2.22-
+# Discard the .comment and .pdr sections. +# Discard the .comment and .pdr sections.
+OTHER_SECTIONS="/DISCARD/ : { *(.comment) *(.pdr) }" +OTHER_SECTIONS="/DISCARD/ : { *(.comment) *(.pdr) }"
diff -Nbaur binutils-2.22/ld/Makefile.am binutils-2.22-psp/ld/Makefile.am diff -Nbaur binutils-2.22/ld/Makefile.am binutils-2.22-psp/ld/Makefile.am
--- binutils-2.22/ld/Makefile.am 2011-07-22 21:22:37.000000000 +0100 --- binutils-2.22/ld/Makefile.am 2011-07-22 20:22:37.000000000 +0000
+++ binutils-2.22-psp/ld/Makefile.am 2012-04-03 22:08:07.000000000 +0100 +++ binutils-2.22-psp/ld/Makefile.am 2018-06-05 22:45:23.869896468 +0000
@@ -262,6 +262,7 @@ @@ -262,6 +262,7 @@
eelf_i386_ldso.c \ eelf_i386_ldso.c \
eelf_i386_sol2.c \ eelf_i386_sol2.c \
@@ -2915,8 +2936,8 @@ diff -Nbaur binutils-2.22/ld/Makefile.am binutils-2.22-psp/ld/Makefile.am
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_s390 "$(tdir_elf_s390)" ${GENSCRIPTS} elf_s390 "$(tdir_elf_s390)"
diff -Nbaur binutils-2.22/ld/Makefile.in binutils-2.22-psp/ld/Makefile.in diff -Nbaur binutils-2.22/ld/Makefile.in binutils-2.22-psp/ld/Makefile.in
--- binutils-2.22/ld/Makefile.in 2011-07-22 21:22:37.000000000 +0100 --- binutils-2.22/ld/Makefile.in 2011-07-22 20:22:37.000000000 +0000
+++ binutils-2.22-psp/ld/Makefile.in 2012-04-03 22:08:07.000000000 +0100 +++ binutils-2.22-psp/ld/Makefile.in 2018-06-05 22:45:23.873897459 +0000
@@ -568,6 +568,7 @@ @@ -568,6 +568,7 @@
eelf_i386_ldso.c \ eelf_i386_ldso.c \
eelf_i386_sol2.c \ eelf_i386_sol2.c \
@@ -2936,8 +2957,8 @@ diff -Nbaur binutils-2.22/ld/Makefile.in binutils-2.22-psp/ld/Makefile.in
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_s390 "$(tdir_elf_s390)" ${GENSCRIPTS} elf_s390 "$(tdir_elf_s390)"
diff -Nbaur binutils-2.22/ld/scripttempl/elf_psp.sc binutils-2.22-psp/ld/scripttempl/elf_psp.sc diff -Nbaur binutils-2.22/ld/scripttempl/elf_psp.sc binutils-2.22-psp/ld/scripttempl/elf_psp.sc
--- binutils-2.22/ld/scripttempl/elf_psp.sc 1970-01-01 01:00:00.000000000 +0100 --- binutils-2.22/ld/scripttempl/elf_psp.sc 1970-01-01 00:00:00.000000000 +0000
+++ binutils-2.22-psp/ld/scripttempl/elf_psp.sc 2012-04-03 22:08:07.000000000 +0100 +++ binutils-2.22-psp/ld/scripttempl/elf_psp.sc 2018-06-05 22:45:23.873897459 +0000
@@ -0,0 +1,496 @@ @@ -0,0 +1,496 @@
+# +#
+# Unusual variables checked by this code: +# Unusual variables checked by this code:
@@ -3436,8 +3457,8 @@ diff -Nbaur binutils-2.22/ld/scripttempl/elf_psp.sc binutils-2.22-psp/ld/scriptt
+} +}
+EOF +EOF
diff -Nbaur binutils-2.22/opcodes/mips-dis.c binutils-2.22-psp/opcodes/mips-dis.c diff -Nbaur binutils-2.22/opcodes/mips-dis.c binutils-2.22-psp/opcodes/mips-dis.c
--- binutils-2.22/opcodes/mips-dis.c 2011-08-09 16:20:03.000000000 +0100 --- binutils-2.22/opcodes/mips-dis.c 2011-08-09 15:20:03.000000000 +0000
+++ binutils-2.22-psp/opcodes/mips-dis.c 2012-04-03 22:08:07.000000000 +0100 +++ binutils-2.22-psp/opcodes/mips-dis.c 2018-06-05 22:45:23.873897459 +0000
@@ -245,6 +245,139 @@ @@ -245,6 +245,139 @@
"c0_taglo", "c0_taghi", "c0_errorepc", "c0_desave", "c0_taglo", "c0_taghi", "c0_errorepc", "c0_desave",
}; };
@@ -3993,8 +4014,8 @@ diff -Nbaur binutils-2.22/opcodes/mips-dis.c binutils-2.22-psp/opcodes/mips-dis.
/* xgettext:c-format */ /* xgettext:c-format */
(*info->fprintf_func) (info->stream, (*info->fprintf_func) (info->stream,
diff -Nbaur binutils-2.22/opcodes/mips-opc.c binutils-2.22-psp/opcodes/mips-opc.c diff -Nbaur binutils-2.22/opcodes/mips-opc.c binutils-2.22-psp/opcodes/mips-opc.c
--- binutils-2.22/opcodes/mips-opc.c 2011-08-09 16:20:03.000000000 +0100 --- binutils-2.22/opcodes/mips-opc.c 2011-08-09 15:20:03.000000000 +0000
+++ binutils-2.22-psp/opcodes/mips-opc.c 2012-04-03 22:08:07.000000000 +0100 +++ binutils-2.22-psp/opcodes/mips-opc.c 2018-06-05 22:45:23.873897459 +0000
@@ -121,6 +121,7 @@ @@ -121,6 +121,7 @@
#define N5 (INSN_5400 | INSN_5500) #define N5 (INSN_5400 | INSN_5500)
#define N54 INSN_5400 #define N54 INSN_5400

View File

@@ -56,6 +56,8 @@ then
--disable-dependency-tracking \ --disable-dependency-tracking \
--with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitPSP release 17" \ --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitPSP release 17" \
$CROSS_PARAMS \ $CROSS_PARAMS \
MAKEINFO=missing \
MISSING=texinfo \
|| { echo "Error configuring gcc"; exit 1; } || { echo "Error configuring gcc"; exit 1; }
touch configured-gcc touch configured-gcc
fi fi
@@ -174,28 +176,30 @@ cd $BUILDDIR
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# build and install the debugger # build and install the debugger
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
mkdir -p $target/gdb #mkdir -p $target/gdb
cd $target/gdb #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-nls --prefix=$prefix --target=$target --disable-werror \
--disable-dependency-tracking \ # --disable-dependency-tracking \
$CROSS_PARAMS \ # $CROSS_PARAMS \
|| { echo "Error configuring gdb"; exit 1; } # MAKEINFO=missing \
touch configured-gdb # MISSING=texinfo \
fi # || { echo "Error configuring gdb"; exit 1; }
# touch configured-gdb
if [ ! -f built-gdb ] #fi
then #
$MAKE || { echo "Error building gdb"; exit 1; } #if [ ! -f built-gdb ]
touch built-gdb #then
fi # $MAKE || { echo "Error building gdb"; exit 1; }
# touch built-gdb
if [ ! -f installed-gdb ] #fi
then #
$MAKE install || { echo "Error installing gdb"; exit 1; } #if [ ! -f installed-gdb ]
touch installed-gdb #then
fi # $MAKE install || { echo "Error installing gdb"; exit 1; }
# touch installed-gdb
#fi

32
select_toolchain.sh Executable file → Normal file
View File

@@ -1,17 +1,5 @@
#!/bin/bash #!/bin/bash
VERSION=0 VERSION=0
case "$BUILD_DKPRO_PACKAGE" in
"1" )
VERSION=1
;;
"2" )
VERSION=2
;;
"3" )
VERSION=3
;;
esac
while [ $VERSION -eq 0 ] while [ $VERSION -eq 0 ]
do do
echo echo
@@ -30,20 +18,20 @@ done
case "$VERSION" in case "$VERSION" in
"1" ) "1" )
GCC_VER=5.3.0 GCC_VER=4.7.0
BINUTILS_VER=2.25.1 BINUTILS_VER=2.22
NEWLIB_VER=2.2.0 NEWLIB_VER=1.20.0
GDB_VER=7.10 GDB_VER=7.4
basedir='dkarm-eabi' basedir='dkarm-eabi'
package=devkitARM package=devkitARM
target=arm-none-eabi target=arm-eabi
toolchain=DEVKITARM toolchain=DEVKITARM
;; ;;
"2" ) "2" )
GCC_VER=4.8.2 GCC_VER=4.6.3
BINUTILS_VER=2.24 BINUTILS_VER=2.22
NEWLIB_VER=2.0.0 NEWLIB_VER=1.20.0
GDB_VER=7.7 GDB_VER=7.4
basedir='dkppc' basedir='dkppc'
package=devkitPPC package=devkitPPC
target=powerpc-eabi target=powerpc-eabi
@@ -59,4 +47,4 @@ case "$VERSION" in
target=psp target=psp
toolchain=DEVKITPSP toolchain=DEVKITPSP
;; ;;
esac esac

View File

@@ -19,10 +19,6 @@ do
then then
$HOST_STRIP $f $HOST_STRIP $f
fi fi
if [[ "$f" == *.dll ]]
then
$HOST_STRIP -d $f
fi
done done
if [ $VERSION -eq 2 ]; then if [ $VERSION -eq 2 ]; then