summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8.inc1
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0048-PR58854_fix_arm_apcs_epilogue.patch23
2 files changed, 24 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.8.inc b/meta/recipes-devtools/gcc/gcc-4.8.inc
index a140573d71..fdd0c12ae0 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.8.inc
@@ -68,6 +68,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
68 file://0045-gcc-4.8-PR57717-PowerPC-E500v2.patch \ 68 file://0045-gcc-4.8-PR57717-PowerPC-E500v2.patch \
69 file://0046-libatomic-deptracking.patch \ 69 file://0046-libatomic-deptracking.patch \
70 file://0047-repomembug.patch \ 70 file://0047-repomembug.patch \
71 file://0048-PR58854_fix_arm_apcs_epilogue.patch \
71 " 72 "
72SRC_URI[md5sum] = "a3d7d63b9cb6b6ea049469a0c4a43c9d" 73SRC_URI[md5sum] = "a3d7d63b9cb6b6ea049469a0c4a43c9d"
73SRC_URI[sha256sum] = "09dc2276c73424bbbfda1dbddc62bbbf900c9f185acf7f3e1d773ce2d7e3cdc8" 74SRC_URI[sha256sum] = "09dc2276c73424bbbfda1dbddc62bbbf900c9f185acf7f3e1d773ce2d7e3cdc8"
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0048-PR58854_fix_arm_apcs_epilogue.patch b/meta/recipes-devtools/gcc/gcc-4.8/0048-PR58854_fix_arm_apcs_epilogue.patch
new file mode 100644
index 0000000000..0ef245a17f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0048-PR58854_fix_arm_apcs_epilogue.patch
@@ -0,0 +1,23 @@
1Backport fix for PR target/58854
2
32013-11-11 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4
5 Backported from mainline
6 2013-10-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7
8 PR target/58854
9 * config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage
10
11
12Upstream-Status: Backport
13
14--- gcc-4_8-branch/gcc/config/arm/arm.c 2013/11/11 08:00:45 204664
15+++ gcc-4_8-branch/gcc/config/arm/arm.c 2013/11/11 09:38:14 204665
16@@ -23555,6 +23555,7 @@
17 num_regs = bit_count (saved_regs_mask);
18 if ((offsets->outgoing_args != (1 + num_regs)) || cfun->calls_alloca)
19 {
20+ emit_insn (gen_blockage ());
21 /* Unwind the stack to just below the saved registers. */
22 emit_insn (gen_addsi3 (stack_pointer_rtx,
23 hard_frame_pointer_rtx,