mirror of
https://github.com/golang/go
synced 2024-11-26 14:08:37 -07:00
fbdaa96563
The old code ignored the field alignment, and only looked at the field offset: if the field offset required padding, cgo added padding. But while that approach works for Go (at least with the gc toolchain) it doesn't work for C code using packed structs. With a packed struct the added padding may leave the struct at a misaligned position, and the inserted alignment, which cgo is not considering, may introduce additional, unexpected, padding. Padding that ignores alignment is not a good idea when the struct is not packed, and Go structs are never packed. So don't ignore alignment. Fixes #28896 Change-Id: Ie50ea15fa6dc35557497097be9fecfecb11efd8a Reviewed-on: https://go-review.googlesource.com/c/150602 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com> |
||
---|---|---|
.. | ||
android | ||
arm | ||
cgo | ||
chrome/gophertool | ||
git | ||
ios | ||
linkcheck | ||
nacl | ||
sortac | ||
swig | ||
trace | ||
wasm | ||
benchcmp | ||
editors |