diff options
author | Tim Northover <tnorthover@apple.com> | 2013-05-28 19:48:19 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2013-05-28 19:48:19 +0000 |
commit | 3b684d835939c9d9104b708388c2b1f22959e493 (patch) | |
tree | 084fcd7af531936a541292d8034e084b4587df0e /llvm/test | |
parent | 9551d3bad984bfcfbaa9b10f20bd5fc668fa0c93 (diff) | |
download | bcm5719-llvm-3b684d835939c9d9104b708388c2b1f22959e493.tar.gz bcm5719-llvm-3b684d835939c9d9104b708388c2b1f22959e493.zip |
ARM: use pristine object file while processing relocations
Previously we would read-modify-write the target bits when processing
relocations for the MCJIT. This had the problem that when relocations
were processed multiple times for the same object file (as they can
be), the result is not idempotent and the values became corrupted.
The solution to this is to take any bits used in the destination from
the pristine object file as LLVM emitted it.
This should fix PR16013 and remote MCJIT on ARM ELF targets.
llvm-svn: 182800
Diffstat (limited to 'llvm/test')
3 files changed, 3 insertions, 3 deletions
diff --git a/llvm/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll b/llvm/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll index bdd7e3a593a..f1a69d8d5d5 100644 --- a/llvm/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll +++ b/llvm/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll @@ -1,5 +1,5 @@ ; RUN: %lli_mcjit -remote-mcjit %s > /dev/null -; XFAIL: arm, mips +; XFAIL: mips define i32 @bar() { ret i32 0 diff --git a/llvm/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll b/llvm/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll index 15cb5d037ef..47a710db0e5 100644 --- a/llvm/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll +++ b/llvm/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll @@ -1,5 +1,5 @@ ; RUN: %lli_mcjit -remote-mcjit -disable-lazy-compilation=false %s -; XFAIL: arm, mips +; XFAIL: mips define i32 @main() nounwind { entry: diff --git a/llvm/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll b/llvm/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll index c7d48126ae6..d7e8c35716c 100644 --- a/llvm/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll +++ b/llvm/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll @@ -1,5 +1,5 @@ ; RUN: %lli_mcjit -remote-mcjit %s > /dev/null -; XFAIL: arm, mips +; XFAIL: mips define double @test(double* %DP, double %Arg) { %D = load double* %DP ; <double> [#uses=1] |