diff --git a/dkarm-eabi/patches/gcc-4.4.3.patch b/dkarm-eabi/patches/gcc-4.4.3.patch index 8e2519f..cbe13d7 100644 --- a/dkarm-eabi/patches/gcc-4.4.3.patch +++ b/dkarm-eabi/patches/gcc-4.4.3.patch @@ -1,6 +1,6 @@ diff -Nbaur gcc-4.4.3/gcc/config/arm/t-arm-elf gcc-4.4.3-arm/gcc/config/arm/t-arm-elf --- gcc-4.4.3/gcc/config/arm/t-arm-elf 2008-06-12 18:29:47.000000000 +0100 -+++ gcc-4.4.3-arm/gcc/config/arm/t-arm-elf 2010-01-21 14:53:20.000000000 +0000 ++++ gcc-4.4.3-arm/gcc/config/arm/t-arm-elf 2010-03-25 10:23:11.000000000 +0000 @@ -18,23 +18,23 @@ MULTILIB_EXCEPTIONS = MULTILIB_MATCHES = @@ -39,7 +39,7 @@ diff -Nbaur gcc-4.4.3/gcc/config/arm/t-arm-elf gcc-4.4.3-arm/gcc/config/arm/t-ar # MULTILIB_DIRNAMES += fpu soft diff -Nbaur gcc-4.4.3/gcc/config/arm/unknown-elf.h gcc-4.4.3-arm/gcc/config/arm/unknown-elf.h --- gcc-4.4.3/gcc/config/arm/unknown-elf.h 2009-02-20 15:20:38.000000000 +0000 -+++ gcc-4.4.3-arm/gcc/config/arm/unknown-elf.h 2010-01-21 14:53:20.000000000 +0000 ++++ gcc-4.4.3-arm/gcc/config/arm/unknown-elf.h 2010-03-25 10:23:11.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. */ @@ -48,7 +48,7 @@ diff -Nbaur gcc-4.4.3/gcc/config/arm/unknown-elf.h gcc-4.4.3-arm/gcc/config/arm/ +#define LINK_GCC_C_SEQUENCE_SPEC "--start-group %G %L %(libgloss) --end-group" diff -Nbaur gcc-4.4.3/gcc/gcc.c gcc-4.4.3-arm/gcc/gcc.c --- gcc-4.4.3/gcc/gcc.c 2010-01-09 00:05:06.000000000 +0000 -+++ gcc-4.4.3-arm/gcc/gcc.c 2010-01-21 14:53:20.000000000 +0000 ++++ gcc-4.4.3-arm/gcc/gcc.c 2010-03-25 10:23:11.000000000 +0000 @@ -643,6 +643,11 @@ #endif #endif @@ -107,7 +107,7 @@ diff -Nbaur gcc-4.4.3/gcc/gcc.c gcc-4.4.3-arm/gcc/gcc.c if (access (specs_file, R_OK) == 0) diff -Nbaur gcc-4.4.3/gcc/prefix.c gcc-4.4.3-arm/gcc/prefix.c --- gcc-4.4.3/gcc/prefix.c 2007-09-03 18:09:20.000000000 +0100 -+++ gcc-4.4.3-arm/gcc/prefix.c 2010-01-21 14:53:20.000000000 +0000 ++++ gcc-4.4.3-arm/gcc/prefix.c 2010-03-25 10:23:11.000000000 +0000 @@ -245,13 +245,16 @@ The returned string is always malloc-ed, and the caller is responsible for freeing it. */ @@ -134,9 +134,25 @@ diff -Nbaur gcc-4.4.3/gcc/prefix.c gcc-4.4.3-arm/gcc/prefix.c + + putenv (concat ("GCC_EXEC_PREFIX=", std_prefix, NULL)); } +diff -Nbaur gcc-4.4.3/gcc/sched-deps.c gcc-4.4.3-arm/gcc/sched-deps.c +--- gcc-4.4.3/gcc/sched-deps.c 2009-02-20 15:20:38.000000000 +0000 ++++ gcc-4.4.3-arm/gcc/sched-deps.c 2010-03-25 10:26:55.000000000 +0000 +@@ -1899,6 +1899,12 @@ + sched_analyze_reg (deps, FIRST_STACK_REG, mode, USE, insn); + } + #endif ++ ++ /* If the stack pointer is being modified, flush out all memory ++ references as they may become invalid if moved across the ++ stack adjustment. */ ++ if (dest == stack_pointer_rtx) ++ flush_pending_lists (deps, insn, true, true); + } + else if (MEM_P (dest)) + { diff -Nbaur gcc-4.4.3/gcc/toplev.c gcc-4.4.3-arm/gcc/toplev.c --- gcc-4.4.3/gcc/toplev.c 2009-04-29 05:57:17.000000000 +0100 -+++ gcc-4.4.3-arm/gcc/toplev.c 2010-01-21 14:53:20.000000000 +0000 ++++ gcc-4.4.3-arm/gcc/toplev.c 2010-03-25 10:23:11.000000000 +0000 @@ -84,6 +84,7 @@ #include "tree-mudflap.h" #include "tree-pass.h" @@ -158,7 +174,7 @@ diff -Nbaur gcc-4.4.3/gcc/toplev.c gcc-4.4.3-arm/gcc/toplev.c /* Unlock the stdio streams. */ diff -Nbaur gcc-4.4.3/libcpp/Makefile.in gcc-4.4.3-arm/libcpp/Makefile.in --- gcc-4.4.3/libcpp/Makefile.in 2010-01-21 10:29:37.000000000 +0000 -+++ gcc-4.4.3-arm/libcpp/Makefile.in 2010-01-21 14:53:20.000000000 +0000 ++++ gcc-4.4.3-arm/libcpp/Makefile.in 2010-03-25 10:23:11.000000000 +0000 @@ -201,8 +201,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