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 <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/src/syscall/mkall.sh b/src/syscall/mkall.sh
index 19c4d59..61f45f5 100755
--- a/src/syscall/mkall.sh
+++ b/src/syscall/mkall.sh
@@ -310,7 +310,9 @@
 	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 e75043f..acadf4b 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 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 @@
 	Blksize        int32
 	Flags          uint32
 	Gen            uint32
+	Pad_cgo_0      [4]byte
 	X__st_birthtim Timespec
 }
 
@@ -98,6 +99,7 @@
 	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 @@
 	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         uint8
 	Namlen       uint8
 	X__d_padding [4]uint8
-	Name         [256]uint8
+	Name         [256]int8
 }
 
 type Fsid struct {
@@ -266,12 +268,14 @@
 )
 
 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 @@
 }
 
 const (
-	SizeofIfMsghdr         = 0x98
-	SizeofIfData           = 0x80
+	SizeofIfMsghdr         = 0xa8
+	SizeofIfData           = 0x90
 	SizeofIfaMsghdr        = 0x18
 	SizeofIfAnnounceMsghdr = 0x1a
 	SizeofRtMsghdr         = 0x60
@@ -309,7 +313,7 @@
 	Link_state   uint8
 	Mtu          uint32
 	Metric       uint32
-	Pad          uint32
+	Rdomain      uint32
 	Baudrate     uint64
 	Ipackets     uint64
 	Ierrors      uint64
@@ -321,8 +325,10 @@
 	Imcasts      uint64
 	Omcasts      uint64
 	Iqdrops      uint64
+	Oqdrops      uint64
 	Noproto      uint64
 	Capabilities uint32
+	Pad_cgo_0    [4]byte
 	Lastchange   Timeval
 }
 
@@ -347,7 +353,7 @@
 	Hdrlen  uint16
 	Index   uint16
 	What    uint16
-	Name    [16]uint8
+	Name    [16]int8
 }
 
 type RtMsghdr struct {