On Fri, 15 Nov 2019 at 05:03, Michael Goffioul
<address@hidden> wrote:
> When running QEMU user mode on some code compiled by clang (dynamic linker from AOSP-10), the emulator chokes on this instruction:
>
> 9aa92: e8c0 2277 strexd r7, r2, r2, [r0]
I think that ought to be a valid insn...
> From debugging, I determined that op_strex() calls unallocated_encoding(), which I think leads to the SIGILL signal generated.
>
> I run the emulator without specifying the ARM cpu type, I think it then defaults to "any", which should support all instructions, if I'm not mistaken.
>
> Is this instruction really invalid? Or am I doing something wrong?
Which version of QEMU are you using? (Looking at the code I
suspect we still have this bug in master, but it's always
useful to specify what version you're using in a bug report.)
Yes sorry, I forgot to mention it. I'm using master branch at 187f35512106501fe9a11057f4d8705431e0026d