summaryrefslogtreecommitdiff
path: root/patches/gcc/4.8.2/100-arm_expand_epilogue_apcs_frame-emit-blockage.patch
blob: 333438d8dcb9784081de68fc7fb34ae29f89053f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
commit 9a228f68817f79bbd1d295b8e6fcaed25c47ee8f
Author: ramana <ramana@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Wed Oct 30 10:54:04 2013 +0000

    Fix PR target/58854
    
    2013-10-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    
    	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,