You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The cause is the STREX instruction which attempts to write into a protected area used in the implementation of LoadUint32 (implemented with Xadd(&addr,0) ).
The motivation for using atomic.Load on a read-only address is explained here.
The text was updated successfully, but these errors were encountered:
Could it be due to ARMv6 / ARMv7 support? DMB is only available on ARMv7.
Although I've seen FreeBSD use this: #define dmb() __asm __volatile("mcr p15, 0, %0, c7, c10, 5" : : "r" (0) : "memory") for ARMv6.
Also the armcas already does check runtime·goarm(SB) before issuing DMB.
GOOS=linux GOARM=7 RPi3:
GOOS=freebsd GOARM=7 Allwiner A20:
The cause is the STREX instruction which attempts to write into a protected area used in the implementation of LoadUint32 (implemented with Xadd(&addr,0) ).
The motivation for using atomic.Load on a read-only address is explained here.
The text was updated successfully, but these errors were encountered: