diff --git a/dkarm-eabi/patches/gcc-4.6.2.patch b/dkarm-eabi/patches/gcc-4.6.3.patch similarity index 69% rename from dkarm-eabi/patches/gcc-4.6.2.patch rename to dkarm-eabi/patches/gcc-4.6.3.patch index da5fb7b..24faa34 100644 --- a/dkarm-eabi/patches/gcc-4.6.2.patch +++ b/dkarm-eabi/patches/gcc-4.6.3.patch @@ -1,7 +1,7 @@ -diff -Nbaur gcc-4.6.1/gcc/config/arm/t-arm-elf gcc-4.6.1-arm/gcc/config/arm/t-arm-elf ---- gcc-4.6.1/gcc/config/arm/t-arm-elf 2011-01-03 20:52:22.000000000 +0000 -+++ gcc-4.6.1-arm/gcc/config/arm/t-arm-elf 2011-10-14 17:47:30.000000000 +0100 -@@ -40,22 +40,28 @@ +diff -Nbaur gcc-4.6.3/gcc/config/arm/t-arm-elf gcc-4.6.3-arm/gcc/config/arm/t-arm-elf +--- gcc-4.6.3/gcc/config/arm/t-arm-elf 2011-01-03 20:52:22.000000000 +0000 ++++ gcc-4.6.3-arm/gcc/config/arm/t-arm-elf 2012-03-19 12:16:39.000000000 +0000 +@@ -40,22 +40,44 @@ #MULTILIB_DIRNAMES += fa526 fa626 fa606te fa626te fmp626 fa726te #MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=fa526 *mthumb*/*mcpu=fa626 @@ -14,21 +14,37 @@ diff -Nbaur gcc-4.6.1/gcc/config/arm/t-arm-elf gcc-4.6.1-arm/gcc/config/arm/t-ar -#MULTILIB_MATCHES += march?armv7=mcpu?cortex-a8 -#MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4 -#MULTILIB_MATCHES += march?armv7=mcpu?cortex-m3 -+MULTILIB_OPTIONS += march=armv6-m -+MULTILIB_DIRNAMES += armv6-m -+MULTILIB_EXCEPTIONS += march=armv6-m* marm/*march=armv6-m* -+MULTILIB_MATCHES += march?armv6-m=mcpu?cortex-m0 -+MULTILIB_MATCHES += march?armv6-m=mcpu?cortex-m1 ++#mfloat-abi=hard|mfpu=fpv4-sp-d16 + -+MULTILIB_OPTIONS += march=armv7 -+MULTILIB_DIRNAMES += thumb2 -+MULTILIB_EXCEPTIONS += march=armv7* marm/*march=armv7* *march=armv6-m*/*march=armv7* ++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 @@ -42,7 +58,7 @@ diff -Nbaur gcc-4.6.1/gcc/config/arm/t-arm-elf gcc-4.6.1-arm/gcc/config/arm/t-ar #MULTILIB_EXCEPTIONS += *mcpu=fa526/*mfloat-abi=hard* #MULTILIB_EXCEPTIONS += *mcpu=fa626/*mfloat-abi=hard* -@@ -63,9 +69,9 @@ +@@ -63,9 +85,9 @@ # MULTILIB_DIRNAMES += ep9312 # MULTILIB_EXCEPTIONS += *mthumb/*mcpu=ep9312* # @@ -55,18 +71,18 @@ diff -Nbaur gcc-4.6.1/gcc/config/arm/t-arm-elf gcc-4.6.1-arm/gcc/config/arm/t-ar # # MULTILIB_OPTIONS += mhard-float/msoft-float # MULTILIB_DIRNAMES += fpu soft -diff -Nbaur gcc-4.6.1/gcc/config/arm/unknown-elf.h gcc-4.6.1-arm/gcc/config/arm/unknown-elf.h ---- gcc-4.6.1/gcc/config/arm/unknown-elf.h 2011-01-03 20:52:22.000000000 +0000 -+++ gcc-4.6.1-arm/gcc/config/arm/unknown-elf.h 2011-10-03 14:58:38.000000000 +0100 +diff -Nbaur gcc-4.6.3/gcc/config/arm/unknown-elf.h gcc-4.6.3-arm/gcc/config/arm/unknown-elf.h +--- gcc-4.6.3/gcc/config/arm/unknown-elf.h 2011-01-03 20:52:22.000000000 +0000 ++++ gcc-4.6.3-arm/gcc/config/arm/unknown-elf.h 2012-03-05 11:07:22.000000000 +0000 @@ -97,4 +97,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.6.1/gcc/gcc.c gcc-4.6.1-arm/gcc/gcc.c ---- gcc-4.6.1/gcc/gcc.c 2011-02-23 02:04:43.000000000 +0000 -+++ gcc-4.6.1-arm/gcc/gcc.c 2011-10-03 14:58:38.000000000 +0100 +diff -Nbaur gcc-4.6.3/gcc/gcc.c gcc-4.6.3-arm/gcc/gcc.c +--- gcc-4.6.3/gcc/gcc.c 2011-02-23 02:04:43.000000000 +0000 ++++ gcc-4.6.3-arm/gcc/gcc.c 2012-03-05 11:07:22.000000000 +0000 @@ -547,6 +547,11 @@ #endif #endif @@ -95,9 +111,9 @@ diff -Nbaur gcc-4.6.1/gcc/gcc.c gcc-4.6.1-arm/gcc/gcc.c INIT_STATIC_SPEC ("startfile", &startfile_spec), INIT_STATIC_SPEC ("cross_compile", &cross_compile), INIT_STATIC_SPEC ("version", &compiler_version), -diff -Nbaur gcc-4.6.1/gcc/sched-deps.c gcc-4.6.1-arm/gcc/sched-deps.c ---- gcc-4.6.1/gcc/sched-deps.c 2011-02-03 06:04:04.000000000 +0000 -+++ gcc-4.6.1-arm/gcc/sched-deps.c 2011-10-03 14:58:38.000000000 +0100 +diff -Nbaur gcc-4.6.3/gcc/sched-deps.c gcc-4.6.3-arm/gcc/sched-deps.c +--- gcc-4.6.3/gcc/sched-deps.c 2011-12-08 13:33:58.000000000 +0000 ++++ gcc-4.6.3-arm/gcc/sched-deps.c 2012-03-05 11:07:22.000000000 +0000 @@ -2271,6 +2271,12 @@ FIRST_STACK_REG + nregs); } @@ -111,9 +127,9 @@ diff -Nbaur gcc-4.6.1/gcc/sched-deps.c gcc-4.6.1-arm/gcc/sched-deps.c } else if (MEM_P (dest)) { -diff -Nbaur gcc-4.6.1/libcpp/Makefile.in gcc-4.6.1-arm/libcpp/Makefile.in ---- gcc-4.6.1/libcpp/Makefile.in 2011-06-27 11:13:01.000000000 +0100 -+++ gcc-4.6.1-arm/libcpp/Makefile.in 2011-10-03 14:58:38.000000000 +0100 +diff -Nbaur gcc-4.6.3/libcpp/Makefile.in gcc-4.6.3-arm/libcpp/Makefile.in +--- gcc-4.6.3/libcpp/Makefile.in 2012-03-01 12:03:46.000000000 +0000 ++++ gcc-4.6.3-arm/libcpp/Makefile.in 2012-03-05 11:07:22.000000000 +0000 @@ -212,8 +212,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 @@ -124,9 +140,9 @@ diff -Nbaur gcc-4.6.1/libcpp/Makefile.in gcc-4.6.1-arm/libcpp/Makefile.in else COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \ $(depcomp) $(COMPILE.base) -diff -Nbaur gcc-4.6.1/libgcc/Makefile.in gcc-4.6.1-arm/libgcc/Makefile.in ---- gcc-4.6.1/libgcc/Makefile.in 2011-01-26 04:19:58.000000000 +0000 -+++ gcc-4.6.1-arm/libgcc/Makefile.in 2011-10-03 15:00:22.000000000 +0100 +diff -Nbaur gcc-4.6.3/libgcc/Makefile.in gcc-4.6.3-arm/libgcc/Makefile.in +--- gcc-4.6.3/libgcc/Makefile.in 2011-01-26 04:19:58.000000000 +0000 ++++ gcc-4.6.3-arm/libgcc/Makefile.in 2012-03-05 11:07:22.000000000 +0000 @@ -411,14 +411,14 @@ lib2-divmod-o = $(patsubst %,%$(objext),$(LIB2_DIVMOD_FUNCS)) $(lib2-divmod-o): %$(objext): $(gcc_srcdir)/libgcc2.c diff --git a/dkarm-eabi/scripts/build-gcc.sh b/dkarm-eabi/scripts/build-gcc.sh index 91f9a77..86a94f5 100644 --- a/dkarm-eabi/scripts/build-gcc.sh +++ b/dkarm-eabi/scripts/build-gcc.sh @@ -76,7 +76,7 @@ then --with-newlib \ --prefix=$prefix\ --enable-lto $plugin_ld\ - --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 37" \ + --with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitARM release 38" \ || { echo "Error configuring gcc"; exit 1; } touch configured-gcc fi