diff --git a/build-devkit.sh b/build-devkit.sh index f794158..a7ab5cc 100644 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -7,11 +7,11 @@ # specify some urls to download the source packages from #--------------------------------------------------------------------------------- BINUTILS_VER=2.16.1 -GCC_VER=4.0.1 +GCC_VER=4.0.2 NEWLIB_VER=1.13.0 LIBOGC_VER=20050812 LIBGBA_VER=20050914 -LIBNDS_VER=20050914 +LIBNDS_VER=20050921 BINUTILS="binutils-$BINUTILS_VER.tar.bz2" GCC_CORE="gcc-core-$GCC_VER.tar.bz2" @@ -272,42 +272,42 @@ scriptdir=$(pwd)/$basedir/scripts BUILDSCRIPTDIR=$(pwd) echo "Extracting $BINUTILS" -tar -xjvf $SRCDIR/$BINUTILS || { echo "Error extracting "$BINUTILS; exit; } +#tar -xjvf $SRCDIR/$BINUTILS || { echo "Error extracting "$BINUTILS; exit; } echo "Extracting $GCC_CORE" -tar -xjvf $SRCDIR/$GCC_CORE || { echo "Error extracting "$GCC_CORE; exit; } +#tar -xjvf $SRCDIR/$GCC_CORE || { echo "Error extracting "$GCC_CORE; exit; } echo "Extracting $GCC_GPP" -tar -xjvf $SRCDIR/$GCC_GPP || { echo "Error extracting "$GCC_GPP; exit; } +#tar -xjvf $SRCDIR/$GCC_GPP || { echo "Error extracting "$GCC_GPP; exit; } echo "Extracting $NEWLIB" -tar -xzvf $SRCDIR/$NEWLIB || { echo "Error extracting "$NEWLIB; exit; } +#tar -xzvf $SRCDIR/$NEWLIB || { echo "Error extracting "$NEWLIB; exit; } if [ $VERSION -eq 2 ] then echo "Extracting $LIBOGC" - mkdir -p $LIBOGC_SRCDIR - bzip2 -cd $SRCDIR/$LIBOGC | tar -xv -C $LIBOGC_SRCDIR || { echo "Error extracting "$LIBOGC; exit; } +# mkdir -p $LIBOGC_SRCDIR +# bzip2 -cd $SRCDIR/$LIBOGC | tar -xv -C $LIBOGC_SRCDIR || { echo "Error extracting "$LIBOGC; exit; } fi if [ $VERSION -eq 1 ] then echo "Extracting $LIBNDS" - mkdir -p $LIBNDS_SRCDIR - bzip2 -cd $SRCDIR/$LIBNDS | tar -xv -C $LIBNDS_SRCDIR || { echo "Error extracting "$LIBNDS; exit; } +# mkdir -p $LIBNDS_SRCDIR +# bzip2 -cd $SRCDIR/$LIBNDS | tar -xv -C $LIBNDS_SRCDIR || { echo "Error extracting "$LIBNDS; exit; } echo "Extracting $LIBGBA" - mkdir -p $LIBGBA_SRCDIR - bzip2 -cd $SRCDIR/$LIBGBA | tar -xv -C $LIBGBA_SRCDIR || { echo "Error extracting "$LIBGBA; exit; } +# mkdir -p $LIBGBA_SRCDIR +# bzip2 -cd $SRCDIR/$LIBGBA | tar -xv -C $LIBGBA_SRCDIR || { echo "Error extracting "$LIBGBA; exit; } fi #--------------------------------------------------------------------------------- # apply patches #--------------------------------------------------------------------------------- -patch -p1 -d $BINUTILS_SRCDIR -i $patchdir/binutils-$BINUTILS_VER.patch || { echo "Error patching binutils"; exit; } -patch -p1 -d $GCC_SRCDIR -i $patchdir/gcc-$GCC_VER.patch || { echo "Error patching gcc"; exit; } -patch -p1 -d $NEWLIB_SRCDIR -i $patchdir/newlib-$NEWLIB_VER.patch || { echo "Error patching newlib"; exit; } +#patch -p1 -d $BINUTILS_SRCDIR -i $patchdir/binutils-$BINUTILS_VER.patch || { echo "Error patching binutils"; exit; } +#patch -p1 -d $GCC_SRCDIR -i $patchdir/gcc-$GCC_VER.patch || { echo "Error patching gcc"; exit; } +#patch -p1 -d $NEWLIB_SRCDIR -i $patchdir/newlib-$NEWLIB_VER.patch || { echo "Error patching newlib"; exit; } #--------------------------------------------------------------------------------- diff --git a/dkarm/patches/gcc-4.0.2.patch b/dkarm/patches/gcc-4.0.2.patch new file mode 100644 index 0000000..0e1cbe1 --- /dev/null +++ b/dkarm/patches/gcc-4.0.2.patch @@ -0,0 +1,64 @@ +diff -Naurb gcc-4.0.1/gcc/c-incpath.c gcc-4.0.1-new/gcc/c-incpath.c +--- gcc-4.0.1/gcc/c-incpath.c Sun Jan 23 15:05:27 2005 ++++ gcc-4.0.1-new/gcc/c-incpath.c Fri Jul 8 11:32:20 2005 +@@ -331,13 +331,18 @@ + cpp_dir *p; + + #if defined (HAVE_DOS_BASED_FILE_SYSTEM) +- /* Convert all backslashes to slashes. The native CRT stat() +- function does not recognize a directory that ends in a backslash +- (unless it is a drive root dir, such "c:\"). Forward slashes, +- trailing or otherwise, cause no problems for stat(). */ +- char* c; +- for (c = path; *c; c++) +- if (*c == '\\') *c = '/'; ++ /* Remove unnecessary trailing slashes. On some versions of MS ++ Windows, trailing _forward_ slashes cause no problems for stat(). ++ On newer versions, stat() does not recognise a directory that ends ++ in a '\\' or '/', unless it is a drive root dir, such as "c:/", ++ where it is obligatory. */ ++ int pathlen = strlen (path); ++ char* end = path + pathlen - 1; ++ /* Preserve the lead '/' or lead "c:/". */ ++ char* start = path + (pathlen > 2 && path[1] == ':' ? 3 : 1); ++ ++ for (; end > start && IS_DIR_SEPARATOR (*end); end--) ++ *end = 0; + #endif + + p = xmalloc (sizeof (cpp_dir)); +diff -Naurb gcc-4.0.1/gcc/version.c gcc-4.0.1-arm/gcc/version.c +--- gcc-4.0.1/gcc/version.c Thu Jul 7 19:41:54 2005 ++++ gcc-4.0.1-arm/gcc/version.c Tue Jul 26 22:31:02 2005 +@@ -14,4 +14,4 @@ + forward us bugs reported to you, if you determine that they are + not bugs in your modifications.) */ + +-const char bug_report_url[] = ""; ++const char bug_report_url[] = ""; +diff -Naurb gcc-4.0.1/gcc/config/arm/t-arm-elf gcc-4.0.1-new/gcc/config/arm/t-arm-elf +--- gcc-4.0.1/gcc/config/arm/t-arm-elf Wed Sep 1 12:14:21 2004 ++++ gcc-4.0.1-new/gcc/config/arm/t-arm-elf Wed Jul 20 23:25:14 2005 +@@ -23,8 +23,8 @@ + # MULTILIB_DIRNAMES += fpu soft + # MULTILIB_EXCEPTIONS += *mthumb/*mhard-float* + # +-# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork +-# MULTILIB_DIRNAMES += normal interwork ++MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork ++MULTILIB_DIRNAMES += normal interwork + # + # MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore + # MULTILIB_DIRNAMES += elf under +diff -Naurb gcc-4.0.1/gcc/hwint.h gcc-4.0.1-new/gcc/hwint.h +--- gcc-4.0.1/gcc/hwint.h Wed Nov 24 04:31:57 2004 ++++ gcc-4.0.1-new/gcc/hwint.h Thu Jul 21 14:37:06 2005 +@@ -80,7 +80,7 @@ + # define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%lx%08lx" + # endif + #else +-# define HOST_WIDE_INT_PRINT "ll" ++# define HOST_WIDE_INT_PRINT HOST_LONG_LONG_FORMAT + # define HOST_WIDE_INT_PRINT_C "LL" + /* We can assume that 'long long' is at least 64 bits. */ + # define HOST_WIDE_INT_PRINT_DOUBLE_HEX \