Linux/ARM: Bus error with -O3 flag of clang/llvm-3.6 while running unit-test of .NET Core
Renato Golin via llvm-commits
llvm-commits at lists.llvm.org
Sat Jul 9 11:47:09 PDT 2016
On 9 July 2016 at 17:40, Tim Northover <t.p.northover at gmail.com> wrote:
> The crashing instruction (ed940b00) was "vldr d0, [r4]" which does not
> permit unaligned accesses even when they're generally allowed (I
Ah, this explains it! :)
> There's a flag in one of the system registers controlling whether
> unaligned accesses are generally permitted. But it's not usually set
> to ban them on Linux, and wouldn't affect vldr anyway, so I don't
> think it applies here.
> That would only work if the alignment fault was in the basic code. As
> you've realised, it's more likely to be in the dynamically JITed
> output. This option wouldn't help anyway though: LLVM already believes
> it's doing an aligned access or it wouldn't use that instruction.
Which makes it a lot harder to find. :(
Can you reduce a piece of IR that always fail, even if it's on your
JIT, it should give us clues as to what's going on.
More information about the llvm-commits