]> Cypherpunks repositories - gostls13.git/commitdiff
net: add AIX operating system
authorClément Chigot <clement.chigot@atos.net>
Fri, 28 Sep 2018 13:50:01 +0000 (15:50 +0200)
committerIan Lance Taylor <iant@golang.org>
Wed, 10 Oct 2018 17:20:53 +0000 (17:20 +0000)
This commit adds AIX operating system to net package for ppc64
architecture.

Updates: #25893

Change-Id: I46bbc7b03931019beb969443cb3f9a756956c66c
Reviewed-on: https://go-review.googlesource.com/c/138724
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
38 files changed:
src/net/addrselect.go
src/net/conf.go
src/net/dial_unix_test.go
src/net/dnsclient_unix.go
src/net/dnsclient_unix_test.go
src/net/dnsconfig_unix.go
src/net/dnsconfig_unix_test.go
src/net/error_posix.go
src/net/error_unix.go
src/net/fd_unix.go
src/net/file_unix.go
src/net/hook_unix.go
src/net/interface_aix.go [new file with mode: 0644]
src/net/internal/socktest/switch_unix.go
src/net/internal/socktest/sys_unix.go
src/net/iprawsock_posix.go
src/net/ipsock_posix.go
src/net/listen_test.go
src/net/lookup_unix.go
src/net/main_unix_test.go
src/net/nss.go
src/net/platform_test.go
src/net/port_unix.go
src/net/rawconn_unix_test.go
src/net/sendfile_stub.go
src/net/sock_posix.go
src/net/sock_stub.go
src/net/sockaddr_posix.go
src/net/sockopt_aix.go [new file with mode: 0644]
src/net/sockopt_posix.go
src/net/sockoptip_bsdvar.go
src/net/sockoptip_posix.go
src/net/sys_cloexec.go
src/net/tcpsock_posix.go
src/net/tcpsockopt_posix.go
src/net/tcpsockopt_unix.go
src/net/udpsock_posix.go
src/net/unixsock_posix.go

index 1ab9fc53261c445ef167f0e9fee7acabbcf89e9f..7c0dfe261c4c15486a7e144b07a381353b7677e0 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 // Minimal RFC 6724 address selection.
 
index 127aba30cb7647ca2b58445584406ae9406ad839..971b1a399a1bb842c89deb90c13932b8be790caa 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package net
 
index 0adc10d0bdbeab3bbd99d98c143018f72cdf1008..3cfc9d81b8e82771be769fc2265db9fe6647bfa4 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package net
 
index 9a0b1d69a81b109c308cd24314e630284cac3f09..3b0293025d9fdee2256bf8fad169f6487252fa68 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 // DNS client: see RFC 1035.
 // Has to be linked into package net for Dial.
index 9482fc466f44342182292398cb6f76f2bb23893c..7dccb6b8ec5d8af4be000150f9a70c541009bd24 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package net
 
index 64c66f96b81e241812a7501d379c53aa28acabe9..842d408e5625bdc318dc5f81c61f5214f36264dc 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 // Read system DNS config from /etc/resolv.conf
 
index 37bdeb04c87ad88612dd017cea88fc49142d9914..0797559d1a208a604581051300556a9fc09762d6 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package net
 
index 0000700809e5cfcaeacc54c09fc8a3c885cc92d2..70efa4c66fbca0622e5264f39e0c3e1aee8f2cfa 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris windows
+// +build aix darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris windows
 
 package net
 
index b5a5829eaa0837aa32e79b2a901beb8bd9287edd..e6153303882fe0c714366bc75d4fcf03dbacf52f 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd js linux netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd js linux netbsd openbsd solaris
 
 package net
 
index 055ecf0336b76d6e1caf07ce5fe0d98fdd085405..e7ab9a45fd65cca2b9868c75d9d71e3b343eef1a 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
 
 package net
 
index 676798d6931652cca3a8226d264277508f2feb54..452a079bfc5b86d98c0ae7a40b110393a59dec6d 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package net
 
index d672bd01b03f43d44276677e68dc67987919e95c..a1568319f3c2abd1449c240732fcfcb69f39ec35 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris
 
 package net
 
diff --git a/src/net/interface_aix.go b/src/net/interface_aix.go
new file mode 100644 (file)
index 0000000..8b70206
--- /dev/null
@@ -0,0 +1,165 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package net
+
+import (
+       //"os"
+       "syscall"
+       "unsafe"
+)
+
+type RawSockaddrDatalink struct {
+       Len    uint8
+       Family uint8
+       Index  uint16
+       Type   uint8
+       Nlen   uint8
+       Alen   uint8
+       Slen   uint8
+       Data   [120]byte
+}
+
+const _KINFO_RT_IFLIST = (0x1 << 8) | 3 | (1 << 30)
+
+const _RTAX_NETMASK = 2
+const _RTAX_IFA = 5
+const _RTAX_MAX = 8
+
+func getIfList() ([]byte, error) {
+       needed, err := syscall.Getkerninfo(_KINFO_RT_IFLIST, 0, 0, 0)
+       if err != nil {
+               return nil, nil // XXX
+       }
+       tab := make([]byte, needed)
+       _, err = syscall.Getkerninfo(_KINFO_RT_IFLIST, uintptr(unsafe.Pointer(&tab[0])), uintptr(unsafe.Pointer(&needed)), 0)
+       if err != nil {
+               return nil, nil // XXX
+       }
+       return tab[:needed], nil
+}
+
+// If the ifindex is zero, interfaceTable returns mappings of all
+// network interfaces. Otherwise it returns a mapping of a specific
+// interface.
+func interfaceTable(ifindex int) ([]Interface, error) {
+       tab, err := getIfList()
+       if err != nil {
+               return nil, err
+       }
+
+       var ift []Interface
+       for len(tab) > 0 {
+               ifm := (*syscall.IfMsgHdr)(unsafe.Pointer(&tab[0]))
+               if ifm.Msglen == 0 {
+                       break
+               }
+               if ifm.Type == syscall.RTM_IFINFO {
+                       if ifindex == 0 || ifindex == int(ifm.Index) {
+                               sdl := (*RawSockaddrDatalink)(unsafe.Pointer(&tab[syscall.SizeofIfMsghdr]))
+
+                               ifi := &Interface{Index: int(ifm.Index), Flags: linkFlags(ifm.Flags)}
+                               ifi.Name = string(sdl.Data[:sdl.Nlen])
+                               ifi.HardwareAddr = sdl.Data[sdl.Nlen : sdl.Nlen+sdl.Alen]
+                               /* XXX MTU? */
+                               ift = append(ift, *ifi)
+                               if ifindex == int(ifm.Index) {
+                                       break
+                               }
+                       }
+               }
+               tab = tab[ifm.Msglen:]
+       }
+
+       return ift, nil
+}
+
+func linkFlags(rawFlags int32) Flags {
+       var f Flags
+       if rawFlags&syscall.IFF_UP != 0 {
+               f |= FlagUp
+       }
+       if rawFlags&syscall.IFF_BROADCAST != 0 {
+               f |= FlagBroadcast
+       }
+       if rawFlags&syscall.IFF_LOOPBACK != 0 {
+               f |= FlagLoopback
+       }
+       if rawFlags&syscall.IFF_POINTOPOINT != 0 {
+               f |= FlagPointToPoint
+       }
+       if rawFlags&syscall.IFF_MULTICAST != 0 {
+               f |= FlagMulticast
+       }
+       return f
+}
+
+// If the ifi is nil, interfaceAddrTable returns addresses for all
+// network interfaces. Otherwise it returns addresses for a specific
+// interface.
+func interfaceAddrTable(ifi *Interface) ([]Addr, error) {
+       tab, err := getIfList()
+       if err != nil {
+               return nil, err
+       }
+
+       var ifat []Addr
+       for len(tab) > 0 {
+               ifm := (*syscall.IfMsgHdr)(unsafe.Pointer(&tab[0]))
+               if ifm.Msglen == 0 {
+                       break
+               }
+               if ifm.Type == syscall.RTM_NEWADDR {
+                       if ifi == nil || ifi.Index == int(ifm.Index) {
+                               mask := ifm.Addrs
+                               off := uint(syscall.SizeofIfMsghdr)
+
+                               var iprsa, nmrsa *syscall.RawSockaddr
+                               for i := uint(0); i < _RTAX_MAX; i++ {
+                                       if mask&(1<<i) == 0 {
+                                               continue
+                                       }
+                                       rsa := (*syscall.RawSockaddr)(unsafe.Pointer(&tab[off]))
+                                       if i == _RTAX_NETMASK {
+                                               nmrsa = rsa
+                                       }
+                                       if i == _RTAX_IFA {
+                                               iprsa = rsa
+                                       }
+                                       off += (uint(rsa.Len) + 3) &^ 3
+                               }
+                               if iprsa != nil && nmrsa != nil {
+                                       var mask IPMask
+                                       var ip IP
+
+                                       switch iprsa.Family {
+                                       case syscall.AF_INET:
+                                               ipsa := (*syscall.RawSockaddrInet4)(unsafe.Pointer(iprsa))
+                                               nmsa := (*syscall.RawSockaddrInet4)(unsafe.Pointer(nmrsa))
+                                               ip = IPv4(ipsa.Addr[0], ipsa.Addr[1], ipsa.Addr[2], ipsa.Addr[3])
+                                               mask = IPv4Mask(nmsa.Addr[0], nmsa.Addr[1], nmsa.Addr[2], nmsa.Addr[3])
+                                       case syscall.AF_INET6:
+                                               ipsa := (*syscall.RawSockaddrInet6)(unsafe.Pointer(iprsa))
+                                               nmsa := (*syscall.RawSockaddrInet6)(unsafe.Pointer(nmrsa))
+                                               ip = make(IP, IPv6len)
+                                               copy(ip, ipsa.Addr[:])
+                                               mask = make(IPMask, IPv6len)
+                                               copy(mask, nmsa.Addr[:])
+                                       }
+                                       ifa := &IPNet{IP: ip, Mask: mask}
+                                       ifat = append(ifat, ifa)
+                               }
+                       }
+               }
+               tab = tab[ifm.Msglen:]
+       }
+
+       return ifat, nil
+}
+
+// interfaceMulticastAddrTable returns addresses for a specific
+// interface.
+func interfaceMulticastAddrTable(ifi *Interface) ([]Addr, error) {
+       return nil, nil
+}
index d518f7b06fda769ce1c952bffba72db9fd6d4771..0626aa06c08d105d401a48d82a897d4e48c3ce21 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris
 
 package socktest
 
index 139fc3ece49854f4ea58e8c9c16d89ea90341423..b96075bfe42fa77ec134dea8329a0aab93423f0a 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris
 
 package socktest
 
index b8293687267ec9813ab393272ef9a204c8584a87..2a5d49f49027426298834b21e20725f29aeb1b77 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris windows
+// +build aix darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris windows
 
 package net
 
index cb7483cd1f5b7323927760a47b59e9c3a11b27db..947f4ef6148b6481ba825ced5e4c3d16e9a71b0f 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris windows
+// +build aix darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris windows
 
 package net
 
@@ -134,7 +134,7 @@ func favoriteAddrFamily(network string, laddr, raddr sockaddr, mode string) (fam
 }
 
 func internetSocket(ctx context.Context, net string, laddr, raddr sockaddr, sotype, proto int, mode string, ctrlFn func(string, string, syscall.RawConn) error) (fd *netFD, err error) {
-       if (runtime.GOOS == "windows" || runtime.GOOS == "openbsd" || runtime.GOOS == "nacl") && mode == "dial" && raddr.isWildcard() {
+       if (runtime.GOOS == "aix" || runtime.GOOS == "windows" || runtime.GOOS == "openbsd" || runtime.GOOS == "nacl") && mode == "dial" && raddr.isWildcard() {
                raddr = raddr.toLocal(net)
        }
        family, ipv6only := favoriteAddrFamily(net, laddr, raddr, mode)
index ffce8e22ec92067f58454e74496372155e7493e4..6c3f70cc7bf7e42ac3129edd0848659edf3d4315 100644 (file)
@@ -674,7 +674,7 @@ func checkMulticastListener(c *UDPConn, ip IP) error {
 
 func multicastRIBContains(ip IP) (bool, error) {
        switch runtime.GOOS {
-       case "dragonfly", "netbsd", "openbsd", "plan9", "solaris", "windows":
+       case "aix", "dragonfly", "netbsd", "openbsd", "plan9", "solaris", "windows":
                return true, nil // not implemented yet
        case "linux":
                if runtime.GOARCH == "arm" || runtime.GOARCH == "alpha" {
index 12666807069025b607ccd38bfc7d398cde9b20cf..e8e7a9bf5a2913a6085c7806b2c26a7f9ffb3f30 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package net
 
index 9cfbc8efc406aa6a7d329510323849642fad5a6e..34a8a104e82e6a161cec2d6d40073544663345e0 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
 
 package net
 
index f10bb52e0e2aa5437ca668cbb9256322407018ab..96b9cdd12106e95fd461292ba28d88551d070ac5 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package net
 
index 8e7d9151dee761db4ce0407e9bed6af5e7ecbecf..01c579bd8ebeb9c94d33aec336bb290f6edb2c2a 100644 (file)
@@ -42,7 +42,7 @@ func testableNetwork(network string) bool {
                }
        case "unixpacket":
                switch runtime.GOOS {
-               case "android", "darwin", "nacl", "plan9", "windows":
+               case "aix", "android", "darwin", "nacl", "plan9", "windows":
                        return false
                case "netbsd":
                        // It passes on amd64 at least. 386 fails (Issue 22927). arm is unknown.
index d0882a2b78a8e40c78e48215e1459f9321049d1c..a6153c0c206df2a0c3aa22f5497c86fdd8610295 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd js,wasm linux netbsd openbsd solaris nacl
+// +build aix darwin dragonfly freebsd js,wasm linux netbsd openbsd solaris nacl
 
 // Read system port mappings from /etc/services
 
index a720a8a4a3e274450ac2f468edef8c89b6234b49..a71b6f3041d7ea023f782a50c67aff153ec6874b 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
 
 package net
 
index d5b8755af3e4e0f2d435b0dc0fbdbba3d226860c..6d338da454f8d04ac6d35daf9f810f914bec4e4b 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin js,wasm nacl netbsd openbsd
+// +build aix darwin js,wasm nacl netbsd openbsd
 
 package net
 
index 1cfd8a58c604bc78f776171c4e8d5982ab91ffd9..00ee61883cdd2606c26981a0b99af4ad5ee8b40b 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
+// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
 
 package net
 
index 38fc819199ccb8f55f6b1486195f757c6f145922..bbce61b68799e2bd3d407e500fb1caf412aa218b 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build nacl js,wasm solaris
+// +build aix nacl js,wasm solaris
 
 package net
 
index 4b8699d1f56d31964a7892ccd12ab8b3577b4144..ae83b5ab1965f9b1221386d6d3a39c8fd4af293e 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris windows
+// +build aix darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris windows
 
 package net
 
diff --git a/src/net/sockopt_aix.go b/src/net/sockopt_aix.go
new file mode 100644 (file)
index 0000000..6fb207f
--- /dev/null
@@ -0,0 +1,38 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package net
+
+import (
+       "os"
+       "syscall"
+)
+
+// This was copied from sockopt_linux.go
+
+func setDefaultSockopts(s, family, sotype int, ipv6only bool) error {
+       if family == syscall.AF_INET6 && sotype != syscall.SOCK_RAW {
+               // Allow both IP versions even if the OS default
+               // is otherwise. Note that some operating systems
+               // never admit this option.
+               syscall.SetsockoptInt(s, syscall.IPPROTO_IPV6, syscall.IPV6_V6ONLY, boolint(ipv6only))
+       }
+       // Allow broadcast.
+       return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_BROADCAST, 1))
+}
+
+func setDefaultListenerSockopts(s int) error {
+       // Allow reuse of recently-used addresses.
+       return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_REUSEADDR, 1))
+}
+
+func setDefaultMulticastSockopts(s int) error {
+       // Allow multicast UDP and raw IP datagram sockets to listen
+       // concurrently across multiple listeners.
+       if err := syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_REUSEADDR, 1); err != nil {
+               return os.NewSyscallError("setsockopt", err)
+       }
+       // Allow reuse of recently-used ports.
+       return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_REUSEPORT, 1))
+}
index 83ab0125959e4942537252e2818d2944f0cd5743..de7255667f751b822105a5dfa4a6adde6114a4b0 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux netbsd openbsd solaris windows
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows
 
 package net
 
index 956010139878fcda7328c0d43f6120b73de47e9e..20a6dc95497743e8fffce20502f4fbe4731f2e4a 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd netbsd openbsd solaris
 
 package net
 
index 5d3077e552dcc850d032466dc0f16fc2e28cded6..b14963ff32eec841544d528193cd2128cf154808 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux netbsd openbsd solaris windows
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows
 
 package net
 
index 7ab1407de92f22feba4930eb569d5c4e5542cec5..e97fb21a1f449f01978fc4bf7ca104b83718e246 100644 (file)
@@ -5,7 +5,7 @@
 // This file implements sysSocket and accept for platforms that do not
 // provide a fast path for setting SetNonblock and CloseOnExec.
 
-// +build darwin nacl solaris
+// +build aix darwin nacl solaris
 
 package net
 
index 936a255b88d4c2a26afda7a25d8326ab4d9dde5e..64e71bf97c3cbea817c2b33ed71b5f3ff6a43d71 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris windows
+// +build aix darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris windows
 
 package net
 
index 9cef434b6fa26a50b5bc26a7eaaeb0fcdbe25b58..5e00ba15647f2d649338adb5c75ac56decf13b35 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd linux netbsd openbsd solaris windows
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows
 
 package net
 
index c1df6605be4f608056de46fc4ce27dd7ae3210bf..d5892588feaabd23f9b7d427eaaf2bf11b980548 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build freebsd linux netbsd
+// +build aix freebsd linux netbsd
 
 package net
 
index b0adf9585bd3289ff5e4a9903033b4f59ed743d0..611fe51df91f9cba767c1cc1da850e9bb6b01fa0 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris windows
+// +build aix darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris windows
 
 package net
 
index b31ad49f25f58e986638ab6dc313317854dc3c5b..74f5cc231cf05a1ad751c72631a20b4dae2bf28e 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris windows
+// +build aix darwin dragonfly freebsd js,wasm linux nacl netbsd openbsd solaris windows
 
 package net