From 2de2dc26b08f2781981fe3c3a1e6c7004e1caca0 Mon Sep 17 00:00:00 2001 From: Joel Sing Date: Wed, 12 Dec 2018 03:36:39 +1100 Subject: [PATCH] syscall: regenerate ztypes for openbsd/arm Regenerate ztypes for openbsd/arm - most of the changes relate to the OpenBSD armv7 port switching to EABI in September 2016. Also use signed char when generating openbsd/arm ztypes, to avoid inconsistencies between architectures impacting MI code. Change-Id: I9d2e19c1ac045922e270896861c830f94fc59c10 Reviewed-on: https://go-review.googlesource.com/c/153578 Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- src/syscall/mkall.sh | 4 ++- src/syscall/ztypes_openbsd_arm.go | 54 +++++++++++++++++-------------- 2 files changed, 33 insertions(+), 25 deletions(-) diff --git a/src/syscall/mkall.sh b/src/syscall/mkall.sh index 19c4d591e6..61f45f5790 100755 --- a/src/syscall/mkall.sh +++ b/src/syscall/mkall.sh @@ -310,7 +310,9 @@ openbsd_arm) mksysctl="./mksysctl_openbsd.pl" zsysctl="zsysctl_openbsd.go" mksysnum="curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl" - mktypes="GOARCH=$GOARCH go tool cgo -godefs" + # Let the type of C char be signed to make the bare syscall + # API consistent between platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ;; plan9_386) mkerrors= diff --git a/src/syscall/ztypes_openbsd_arm.go b/src/syscall/ztypes_openbsd_arm.go index e75043f2c6..acadf4b48c 100644 --- a/src/syscall/ztypes_openbsd_arm.go +++ b/src/syscall/ztypes_openbsd_arm.go @@ -1,7 +1,5 @@ -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_openbsd.go - -// +build arm,openbsd +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -fsigned-char types_openbsd.go package syscall @@ -21,13 +19,15 @@ type ( ) type Timespec struct { - Sec int64 - Nsec int32 + Sec int64 + Nsec int32 + Pad_cgo_0 [4]byte } type Timeval struct { - Sec int64 - Usec int32 + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte } type Rusage struct { @@ -91,6 +91,7 @@ type Stat_t struct { Blksize int32 Flags uint32 Gen uint32 + Pad_cgo_0 [4]byte X__st_birthtim Timespec } @@ -98,6 +99,7 @@ type Statfs_t struct { F_flags uint32 F_bsize uint32 F_iosize uint32 + Pad_cgo_0 [4]byte F_blocks uint64 F_bfree uint64 F_bavail int64 @@ -112,11 +114,11 @@ type Statfs_t struct { F_namemax uint32 F_owner uint32 F_ctime uint64 - F_fstypename [16]uint8 - F_mntonname [90]uint8 - F_mntfromname [90]uint8 - F_mntfromspec [90]uint8 - Pad_cgo_0 [2]byte + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + Pad_cgo_1 [2]byte Mount_info [160]byte } @@ -135,7 +137,7 @@ type Dirent struct { Type uint8 Namlen uint8 X__d_padding [4]uint8 - Name [256]uint8 + Name [256]int8 } type Fsid struct { @@ -266,12 +268,14 @@ const ( ) type Kevent_t struct { - Ident uint32 - Filter int16 - Flags uint16 - Fflags uint32 - Data int64 - Udata *byte + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Pad_cgo_0 [4]byte + Data int64 + Udata *byte + Pad_cgo_1 [4]byte } type FdSet struct { @@ -279,8 +283,8 @@ type FdSet struct { } const ( - SizeofIfMsghdr = 0x98 - SizeofIfData = 0x80 + SizeofIfMsghdr = 0xa8 + SizeofIfData = 0x90 SizeofIfaMsghdr = 0x18 SizeofIfAnnounceMsghdr = 0x1a SizeofRtMsghdr = 0x60 @@ -309,7 +313,7 @@ type IfData struct { Link_state uint8 Mtu uint32 Metric uint32 - Pad uint32 + Rdomain uint32 Baudrate uint64 Ipackets uint64 Ierrors uint64 @@ -321,8 +325,10 @@ type IfData struct { Imcasts uint64 Omcasts uint64 Iqdrops uint64 + Oqdrops uint64 Noproto uint64 Capabilities uint32 + Pad_cgo_0 [4]byte Lastchange Timeval } @@ -347,7 +353,7 @@ type IfAnnounceMsghdr struct { Hdrlen uint16 Index uint16 What uint16 - Name [16]uint8 + Name [16]int8 } type RtMsghdr struct { -- 2.48.1