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