diff -ru gcc-4.0.3-orig/gcc/config/sh/sh.h gcc-4.0.3/gcc/config/sh/sh.h --- gcc-4.0.3-orig/gcc/config/sh/sh.h 2006-03-06 23:40:49.000000000 +0100 +++ gcc-4.0.3/gcc/config/sh/sh.h 2006-04-28 03:03:18.000000000 +0200 @@ -2809,12 +2809,15 @@ #define CASE_VECTOR_MODE ((! optimize || TARGET_BIGTABLE) ? SImode : HImode) #define CASE_VECTOR_SHORTEN_MODE(MIN_OFFSET, MAX_OFFSET, BODY) \ -((MIN_OFFSET) >= 0 && (MAX_OFFSET) <= 127 \ +((MIN_OFFSET) >= 0 && (MAX_OFFSET) <= 126 \ ? (ADDR_DIFF_VEC_FLAGS (BODY).offset_unsigned = 0, QImode) \ - : (MIN_OFFSET) >= 0 && (MAX_OFFSET) <= 255 \ + : (MIN_OFFSET) >= 0 && (MAX_OFFSET) <= 254 \ ? (ADDR_DIFF_VEC_FLAGS (BODY).offset_unsigned = 1, QImode) \ : (MIN_OFFSET) >= -32768 && (MAX_OFFSET) <= 32767 ? HImode \ : SImode) +/* Note: The maximum range for byte-sized offsets was reduced by 1 to work + around a bug in final.c I don't know how to fix properly (jump table + length calculation should take alignment into account). -- Jens Arnold */ /* Define as C expression which evaluates to nonzero if the tablejump instruction expects the table to contain offsets from the address of the diff -ru gcc-4.0.3-orig/gcc/version.c gcc-4.0.3/gcc/version.c --- gcc-4.0.3-orig/gcc/version.c 2006-03-09 21:46:18.000000000 +0100 +++ gcc-4.0.3/gcc/version.c 2006-04-29 23:52:22.000000000 +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[] = "4.0.3"; +const char version_string[] = "4.0.3 (rockbox patch #1)"; /* This is the location of the online document giving instructions for reporting bugs. If you distribute a modified version of GCC, diff -ru gcc-4.0.3-orig/gcc/config.gcc gcc-4.0.3/gcc/config.gcc --- gcc-4.0.3-orig/gcc/config.gcc So Mrz 7 23:08:24 2010 +++ gcc-4.0.3/gcc/config.gcc Mo Mrz 8 01:36:54 2010 @@ -1867,7 +1867,7 @@ sh2*) sh_cpu_target=sh2 ;; *) sh_cpu_target=sh1 ;; esac - sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`" + sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr [A-Z]_ [a-z]-`" case $sh_cpu_default in sh5-64media-nofpu | sh5-64media | \ sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \ @@ -1889,9 +1889,9 @@ *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;; esac fi - target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr a-z- A-Z_` + target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr [a-z]- [A-Z]_` tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"' - sh_multilibs=`echo $sh_multilibs,$sh_cpu_default | sed -e 's/[ ,/][ ,]*/ /g' -e 's/ $//' -e s/^m/sh/ -e 's/ m/ sh/g' | tr A-Z_ a-z-` + sh_multilibs=`echo $sh_multilibs,$sh_cpu_default | sed -e 's/[ ,/][ ,]*/ /g' -e 's/ $//' -e s/^m/sh/ -e 's/ m/ sh/g' | tr [A-Z]_ [a-z]-` for sh_multilib in ${sh_multilibs}; do case ${sh_multilib} in sh1 | sh2 | sh2e | sh3 | sh3e | \ @@ -1902,7 +1902,7 @@ sh5-32media | sh5-32media-nofpu | \ sh5-compact | sh5-compact-nofpu) tmake_file="${tmake_file} sh/t-mlib-${sh_multilib}" - tm_defines="$tm_defines SUPPORT_`echo $sh_multilib|tr a-z- A-Z_`" + tm_defines="$tm_defines SUPPORT_`echo $sh_multilib|tr [a-z]- [A-Z]_`" ;; *) echo "with_multilib_list=${sh_multilib} not supported." @@ -2631,7 +2631,7 @@ sh[123456ble]-*-* | sh-*-*) supported_defaults="cpu" - case "`echo $with_cpu | tr A-Z_ a-z- | sed s/sh/m/`" in + case "`echo $with_cpu | tr [A-Z]_ [a-z]- | sed s/sh/m/`" in "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu ) # OK ;;