diff -rdub gcc-3.4.6-orig/gcc/config/m68k/m68k.c gcc-3.4.6/gcc/config/m68k/m68k.c
--- gcc-3.4.6-orig/gcc/config/m68k/m68k.c	2005-07-26 22:32:26.000000000 +0200
+++ gcc-3.4.6/gcc/config/m68k/m68k.c	2007-06-01 20:12:31.593750000 +0200
@@ -1590,9 +1590,9 @@
        for add and the time for shift, taking away a little more because
        sometimes move insns are needed.  */
     /* div?.w is relatively cheaper on 68000 counted in COSTS_N_INSNS terms.  */
-#define MULL_COST (TARGET_68060 ? 2 : TARGET_68040 ? 5 : TARGET_CFV3 ? 3 : TARGET_COLDFIRE ? 10 : 13)
+#define MULL_COST (TARGET_68060 ? 2 : TARGET_68040 ? 5 : TARGET_CFV3 ? 3 : TARGET_COLDFIRE ? 3 : 13)
 #define MULW_COST (TARGET_68060 ? 2 : TARGET_68040 ? 3 : TARGET_68020 ? 8 : \
-			TARGET_CFV3 ? 2 : 5)
+			TARGET_CFV3 ? 2 : 2)
 #define DIVW_COST (TARGET_68020 ? 27 : TARGET_CF_HWDIV ? 11 : 12)
 
     case PLUS:
diff -rdub gcc-3.4.6-orig/gcc/version.c gcc-3.4.6/gcc/version.c
--- gcc-3.4.6-orig/gcc/version.c	2006-03-06 04:49:28.000000000 +0100
+++ gcc-3.4.6/gcc/version.c	2007-06-04 22:30:08.750000000 +0200
@@ -5,7 +5,7 @@
    please modify this string to indicate that, e.g. by putting your
    organization's name in parentheses at the end of the string.  */
 
-const char version_string[] = "3.4.6";
+const char version_string[] = "3.4.6 (rockbox patch #2)";
 
 /* This is the location of the online document giving instructions for
    reporting bugs.  If you distribute a modified version of GCC,
