diff -r 000000000000 -r c65fcf8a34b7 patches/gcc/4.8.2/100-arm_expand_epilogue_apcs_frame-emit-blockage.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/gcc/4.8.2/100-arm_expand_epilogue_apcs_frame-emit-blockage.patch Thu Apr 17 18:17:12 2014 +0200 @@ -0,0 +1,29 @@ +commit 9a228f68817f79bbd1d295b8e6fcaed25c47ee8f +Author: ramana +Date: Wed Oct 30 10:54:04 2013 +0000 + + Fix PR target/58854 + + 2013-10-30 Ramana Radhakrishnan + + PR target/58854 + * config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage. + + + git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204203 138bc75d-0d04-0410-961f-82ee72b054a4 + +[yann.morin.1998@free.fr: removed the patch to the Changelog, it does not + apply and we don't really need it; re-diff to avoid offsets] + +diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c +index 212a4bc..23dfc0e 100644 +--- a/gcc/config/arm/arm.c ++++ b/gcc/config/arm/arm.c +@@ -23555,6 +23555,7 @@ arm_expand_epilogue_apcs_frame (bool really_return) + num_regs = bit_count (saved_regs_mask); + if ((offsets->outgoing_args != (1 + num_regs)) || cfun->calls_alloca) + { ++ emit_insn (gen_blockage ()); + /* Unwind the stack to just below the saved registers. */ + emit_insn (gen_addsi3 (stack_pointer_rtx, + hard_frame_pointer_rtx,