diff --git a/dkarm-eabi/patches/gcc-4.7.0.patch b/dkarm-eabi/patches/gcc-4.7.0.patch index 192e26f..1f37596 100644 --- a/dkarm-eabi/patches/gcc-4.7.0.patch +++ b/dkarm-eabi/patches/gcc-4.7.0.patch @@ -1,6 +1,6 @@ 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 ++++ gcc-4.7.0-arm/gcc/config/arm/t-arm-elf 2012-04-26 14:09:06.000000000 +0100 @@ -26,22 +26,44 @@ #MULTILIB_DIRNAMES += fa526 fa626 fa606te fa626te fmp626 fa726te #MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=fa526 *mthumb*/*mcpu=fa626 @@ -73,7 +73,7 @@ diff -Nbaur gcc-4.7.0/gcc/config/arm/t-arm-elf gcc-4.7.0-arm/gcc/config/arm/t-ar # 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 ++++ gcc-4.7.0-arm/gcc/config/arm/unknown-elf.h 2012-04-26 14:09:07.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. */ @@ -82,7 +82,7 @@ diff -Nbaur gcc-4.7.0/gcc/config/arm/unknown-elf.h gcc-4.7.0-arm/gcc/config/arm/ +#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 ++++ gcc-4.7.0-arm/gcc/gcc.c 2012-04-26 14:09:07.000000000 +0100 @@ -548,6 +548,11 @@ #endif #endif @@ -111,9 +111,20 @@ diff -Nbaur gcc-4.7.0/gcc/gcc.c gcc-4.7.0-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.7.0/gcc/tree-ssa-pre.c gcc-4.7.0-arm/gcc/tree-ssa-pre.c +--- gcc-4.7.0/gcc/tree-ssa-pre.c 2012-02-15 00:10:00.000000000 +0000 ++++ gcc-4.7.0-arm/gcc/tree-ssa-pre.c 2012-04-26 14:09:43.000000000 +0100 +@@ -4337,6 +4337,7 @@ + has the same value number as its rhs. If so, the store is + dead. */ + else if (gimple_assign_single_p (stmt) ++ && !gimple_has_volatile_ops (stmt) + && !is_gimple_reg (gimple_assign_lhs (stmt)) + && (TREE_CODE (rhs) == SSA_NAME + || is_gimple_min_invariant (rhs))) 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 ++++ gcc-4.7.0-arm/libcpp/Makefile.in 2012-04-26 14:09:08.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 @@ -124,21 +135,9 @@ diff -Nbaur gcc-4.7.0/libcpp/Makefile.in gcc-4.7.0-arm/libcpp/Makefile.in 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 ++++ gcc-4.7.0-arm/libgcc/Makefile.in 2012-04-26 14:09:09.000000000 +0100 @@ -500,14 +500,14 @@ lib2-divmod-o = $(patsubst %,%$(objext),$(LIB2_DIVMOD_FUNCS)) $(lib2-divmod-o): %$(objext): $(srcdir)/libgcc2.c @@ -165,3 +164,15 @@ diff -Nbaur gcc-4.7.0/libgcc/Makefile.in gcc-4.7.0-arm/libgcc/Makefile.in ifeq ($(enable_shared),yes) +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-26 14:09:08.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. */