unix: don't export any padding/alignment fields on all platforms

On linux/s390x these fields are already hidden. Don't export them on any
other platform either.

Preparatory CL for https://golang.org/cl/106656

Change-Id: I421a0ba41ff46081e2576be212e246a4dd982a67
Reviewed-on: https://go-review.googlesource.com/106838
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matt Layher <mdlayher@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Tobias Klauser
2018-04-14 09:28:25 +00:00
committed by Tobias Klauser
parent f6f352972f
commit 2281fa97ef
11 changed files with 173 additions and 176 deletions
+3 -6
View File
@@ -69,12 +69,9 @@ func main() {
removePaddingFieldsRegex := regexp.MustCompile(`Pad_cgo_\d+`)
b = removePaddingFieldsRegex.ReplaceAll(b, []byte("_"))
// We refuse to export private fields on s390x
if goarch == "s390x" && goos == "linux" {
// Remove padding, hidden, or unused fields
removeFieldsRegex = regexp.MustCompile(`\bX_\S+`)
b = removeFieldsRegex.ReplaceAll(b, []byte("_"))
}
// Remove padding, hidden, or unused fields
removeFieldsRegex = regexp.MustCompile(`\bX_\S+`)
b = removeFieldsRegex.ReplaceAll(b, []byte("_"))
// Remove the first line of warning from cgo
b = b[bytes.IndexByte(b, '\n')+1:]