It’s a bug in the library if it uses 64 bit atomic operations without ensuring 
64 bit alignment. Putting the alignment-required field at the top of the struct 
is the traditional method.

//jb

On 14 Aug 2018, at 08:45, Stephan Mühlstrasser 
<stephan.muehlstras...@gmail.com<mailto:stephan.muehlstras...@gmail.com>> wrote:

Am Montag, 13. August 2018 23:47:11 UTC+2 schrieb Dave Cheney:
I don’t think that will help. The problem is not cross compilation. The problem 
is when run in a 32bit environment the offset of that field is not guaranteed 
to be aligned to 8 bytes. You’ve got a 50/50 chance that each allocation will 
be properly aligned.

That sounds like a pretty severe compiler bug then. This makes it more or less 
impossible to use any third-party libraries with Go on ARM unless you check 
them and all their dependencies whether they use sync/atomic. Apparently the 
Google Cloud Go APIs fall into this category and should not be used on ARM 
32-bit.

--
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
golang-nuts+unsubscr...@googlegroups.com<mailto:golang-nuts+unsubscr...@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to