Hi folks, Three MCJIT tests are failing on both our buildbots (check-all and self-host) and I'm not sure what's the best way to fix it. Some test passes, some not on { A9, A15 } x { Ubuntu 12.10, Ubuntu 12.04 }, the error is: lli: /home/user/devel/llvm/src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp:307: void llvm::RuntimeDyldELF::resolveARMRelocation(const llvm::SectionEntry&, uint64_t, uint32_t, uint32_t, int32_t): Assertion `(*TargetPtr & 0x000F0FFF) == 0' failed. Stack dump: 0. Program arguments: /home/user/devel/llvm/build/bin//lli -use-mcjit -remote-mcjit /home/user/devel/llvm/src/test/ExecutionEngine/MCJIT/test-global-init-nonzero-remote.ll Since the test is marked as XFAIL on ARM, I suspect this is expected, and I'm surprised that it stopped failing on some runs and not others. Are they meant to be supported? Are they meant to be passing? Failing? Most tests pass, and I understand MCJIT is being worked on for ARM, so there's no reason to mark the whole directory unsupported on ARM, but would be good if the flaky behaviour was marked unsupported until properly investigated. I tried to add "UNSUPPORTED: arm" according to the docs, but it seems it's not making much difference. Any ideas? Should we move the "remote" tests to their own directory and mark that as unsupported? But, to be honest, if it's easy to fix, I'd rather someone fixed it for good. Thanks, --renato -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130518/a71e09f8/attachment.html>
Hi Renato,> /home/user/devel/llvm/src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp:307: > void llvm::RuntimeDyldELF::resolveARMRelocation(const llvm::SectionEntry&, > uint64_t, uint32_t, uint32_t, int32_t): Assertion `(*TargetPtr & 0x000F0FFF) > == 0' failed.I think there's a discussion going on about this already at http://comments.gmane.org/gmane.comp.compilers.llvm.cvs/145699 (and surrounding). According to Amara that assertion was a bit of paranoia so we'd know if someone tried emitting .rel relocations and sending the result through MCJIT. However, now we routinely re-relocate using explicit addends so as he says it can probably just be removed. Cheers. Tim.
On 18 May 2013 09:56, Tim Northover <t.p.northover at gmail.com> wrote:> According to Amara that assertion was a bit of paranoia so we'd know > if someone tried emitting .rel relocations and sending the result > through MCJIT. However, now we routinely re-relocate using explicit > addends so as he says it can probably just be removed. >Hi Tim, Sorry, I saw that thread but earlier on, and Amara's answer got flushed away. Amara, what you're saying is that it should be ok to remove the warning and mark the tests as passing on ARM, right? I was in doubt if the test had to pass (despite the warning) or it was passing because something was wrong. I'll prepare a patch and will send for your review. cheers, --renato -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130518/afa12e4d/attachment.html>
Apparently Analagous Threads
- [LLVMdev] Unsupported MCJIT tests on ARM?
- [LLVMdev] Bad permissions for mapped region
- [LLVMdev] [llvm] r188726 - Adding PIC support for ELF on x86_64 platforms
- [LLVMdev] Bad permissions for mapped region
- [LLVMdev] Assertions in RuntimeDyldELF in ExecutionEngine/MCJIT tests