yhlu yinghailu@gmail.com writes:
interesting, So even new gcc on x86 still default uint64_t to 32bit alignment?
It's a murky area of the C ABI but I don't think the implementation has changed. I know gcc and Intel's C compiler were at disagreement over that one at one point. But I would have to read through the release notes to see.
If gcc has changed on x86 it is even more important that the field is not implemented as a uint64_t. Because unfortunately it is preceded by a 32bit number which means that field should only be 32bit aligned.
Eric