Comment #2 on issue 637 by [email protected]: Patch for /trunk/src/google/protobuf/stubs/once.cc
http://code.google.com/p/protobuf/issues/detail?id=637

I have investigated a bit deeper.

It's failing on MIPS64 n64 because protobuf doesn't detect MIPS64 architectures, so it thinks that is on a 32-bit architecture. The problem is that intptr_t on MIPS64 n64 is a 64-bit pointer. So, in the file src/google/protobuf/stubs/atomicops.h we have this line:

typedef intptr_t AtomicWord;

So, in MIPS64 n64 the AtomicWord type is 64-bit because intptr_t is 64-bit too. But, due that the MIPS64 architectures are not detected by protobuf, the "64-bit atomic operations" are not defined, so when the code tries to call, for instance, Acquire_Load(), it's actually calling the one for 32-bit instead of the one for 64-bit.

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
You received this message because you are subscribed to the Google Groups "Protocol 
Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to