StubRoutines::load_long_atomic causes SIGBUS on aarch32
Sergei Ustimenko
merkel05 at gmail.com
Thu Jan 10 10:26:09 UTC 2019
Hi Boris,
On Thu, Jan 10, 2019, 10:48 Boris Ulasevich <boris.ulasevich at bell-sw.com
wrote:
>
> Let's clarify. You have a SIGBUS error on ldrexd r0, [r0]
> atomic_load_long stub, "ldrexd r0, [r0]" instruction, because r0
> (actually it is pointer to InstanceKlass::_dep_context_last_cleared) is
> not 8-bytes aligned. Is that correct?
>
Yes, your understanding is precise. In my example
&_dep_context_last_cleared has this address: r0 = 0x5bde8e94
>
> > Version 6.3.0 (at /usr/bin/gcc)
>
> Oh, you build OpenJDK on RPI itself! Ok.
>
Yep, I think that is the problem. I was trying to reproduce it on
cross-compiled JDK version without much success
>
> > I see uint64_t aligned at the 4 bytes boundary
>
> That is strange.
>
> Boris
>
More information about the aarch32-port-dev
mailing list