patches/gcc/4.8.2/100-arm_expand_epilogue_apcs_frame-emit-blockage.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Thu Apr 17 18:17:12 2014 +0200 (2014-04-17)
changeset 3294 c65fcf8a34b7
permissions -rw-r--r--
cc/gcc: add some bug fixes to gcc 4.7.3 and 4.8.2

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
yann@3294
     1
commit 9a228f68817f79bbd1d295b8e6fcaed25c47ee8f
yann@3294
     2
Author: ramana <ramana@138bc75d-0d04-0410-961f-82ee72b054a4>
yann@3294
     3
Date:   Wed Oct 30 10:54:04 2013 +0000
yann@3294
     4
yann@3294
     5
    Fix PR target/58854
yann@3294
     6
    
yann@3294
     7
    2013-10-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
yann@3294
     8
    
yann@3294
     9
    	PR target/58854
yann@3294
    10
    	* config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage.
yann@3294
    11
    
yann@3294
    12
    
yann@3294
    13
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204203 138bc75d-0d04-0410-961f-82ee72b054a4
yann@3294
    14
yann@3294
    15
[yann.morin.1998@free.fr: removed the patch to the Changelog, it does not
yann@3294
    16
 apply and we don't really need it; re-diff to avoid offsets]
yann@3294
    17
yann@3294
    18
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
yann@3294
    19
index 212a4bc..23dfc0e 100644
yann@3294
    20
--- a/gcc/config/arm/arm.c
yann@3294
    21
+++ b/gcc/config/arm/arm.c
yann@3294
    22
@@ -23555,6 +23555,7 @@ arm_expand_epilogue_apcs_frame (bool really_return)
yann@3294
    23
   num_regs = bit_count (saved_regs_mask);
yann@3294
    24
   if ((offsets->outgoing_args != (1 + num_regs)) || cfun->calls_alloca)
yann@3294
    25
     {
yann@3294
    26
+      emit_insn (gen_blockage ());
yann@3294
    27
       /* Unwind the stack to just below the saved registers.  */
yann@3294
    28
       emit_insn (gen_addsi3 (stack_pointer_rtx,
yann@3294
    29
                              hard_frame_pointer_rtx,