syscall: fixes for Solaris
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 15 Sep 2017 22:57:23 +0000 (22:57 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 15 Sep 2017 22:57:23 +0000 (22:57 +0000)
    Patch by Rainer Orth.

    Reviewed-on: https://go-review.googlesource.com/64170

From-SVN: r252866

gcc/go/gofrontend/MERGE
libgo/go/golang_org/x/net/lif/link.go
libgo/go/syscall/forkpipe_bsd.go
libgo/go/syscall/libcall_solaris.go [new file with mode: 0644]

index aafc5269095e60cfc62a7e3764507f341154ab68..4081aa946b68fcefe8bf8c4bf446aaced390d830 100644 (file)
@@ -1,4 +1,4 @@
-70cf67704699c8bcaf6f52437812367cdc4ad169
+abe58fdc529378706d65d6b22e4871646eb9023e
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index 70e0262781d4efeac01950cf89859c6afc98e646..912472fdac1c9caddb023cbb3c31fc4acedfc1f4 100644 (file)
@@ -70,7 +70,7 @@ func Links(af int, name string) ([]Link, error) {
 
 func links(eps []endpoint, name string) ([]Link, error) {
        var lls []Link
-       lifn := lifnum{Flags: sysLIFC_NOXMIT | sysLIFC_TEMPORARY | sysLIFC_ALLZONES | sysLIFC_UNDER_IPMP}
+       lifn := sysLifnum{Flags: sysLIFC_NOXMIT | sysLIFC_TEMPORARY | sysLIFC_ALLZONES | sysLIFC_UNDER_IPMP}
        lifc := lifconf{Flags: sysLIFC_NOXMIT | sysLIFC_TEMPORARY | sysLIFC_ALLZONES | sysLIFC_UNDER_IPMP}
        for _, ep := range eps {
                lifn.Family = uint16(ep.af)
index d41807220aa31bf984c0bf81fad53f87065e9d2a..28897bfd79052036a1a65cbaac5f7e7442addd0e 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 netbsd openbsd
+// +build darwin dragonfly netbsd openbsd solaris
 
 package syscall
 
diff --git a/libgo/go/syscall/libcall_solaris.go b/libgo/go/syscall/libcall_solaris.go
new file mode 100644 (file)
index 0000000..a026614
--- /dev/null
@@ -0,0 +1,12 @@
+// Copyright 2017 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 syscall
+
+//sys Getdents(fd int, buf []byte) (n int, err error)
+//getdents(fd _C_int, buf *byte, nbyte Size_t) _C_int
+
+func ReadDirent(fd int, buf []byte) (n int, err error) {
+       return Getdents(fd, buf)
+}