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