diff options
Diffstat (limited to 'meta-oe/recipes-core/llvm/llvm2.8/0019-issue6065.patch')
-rw-r--r-- | meta-oe/recipes-core/llvm/llvm2.8/0019-issue6065.patch | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/meta-oe/recipes-core/llvm/llvm2.8/0019-issue6065.patch b/meta-oe/recipes-core/llvm/llvm2.8/0019-issue6065.patch new file mode 100644 index 0000000000..a7f7bbe359 --- /dev/null +++ b/meta-oe/recipes-core/llvm/llvm2.8/0019-issue6065.patch @@ -0,0 +1,20 @@ +--- + ARMJITInfo.cpp | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/lib/Target/ARM/ARMJITInfo.cpp ++++ b/lib/Target/ARM/ARMJITInfo.cpp +@@ -99,7 +99,13 @@ + // The above twiddling of the saved return addresses allows us to + // deallocate everything, including the LR the stub saved, all in one + // pop instruction. ++#ifndef __thumb__ + "ldmia sp!, {r0, r1, r2, r3, lr, pc}\n" ++#else ++ // thumb dont allow lr and pc to be poped in the same instruction. ++ "pop {r0, r1, r2, r3, lr}\n" ++ "pop {pc}\n" ++#endif + ); + #else // Not an ARM host + void ARMCompilationCallback() { |