1
0
mirror of https://github.com/golang/go synced 2024-11-26 14:08:37 -07:00
go/misc
Ian Lance Taylor fbdaa96563 cmd/cgo: use field alignment when setting field offset
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>
2018-11-29 19:18:12 +00:00
..
android misc/android: forward SIGQUIT to the process running on the device 2018-05-23 18:18:39 +00:00
arm
cgo cmd/cgo: use field alignment when setting field offset 2018-11-29 19:18:12 +00:00
chrome/gophertool
git
ios misc/ios: remove note from output of detect.go 2018-10-24 15:33:31 +00:00
linkcheck
nacl cmd/trace: revert internal/traceparser 2018-11-22 02:59:55 +00:00
sortac
swig cmd/go: fix swig support and run swig tests during run.bash 2017-11-16 17:19:19 +00:00
trace misc/trace: update trace_viewer_full.html 2018-04-26 20:26:23 +00:00
wasm misc/wasm: add stub for fs.read on browsers 2018-11-20 22:06:33 +00:00
benchcmp
editors