This change adds solaris to the list of supported operating
systems and allows cmd/dist to be built on Solaris.
This CL has to come first because we want the tools to ignore
solaris-specific files until the whole port is integrated.
R=golang-codereviews, jsing, rsc, minux.ma
CC=golang-codereviews
https://golang.org/cl/
35900045
"darwin",
"dragonfly",
"linux",
+ "solaris",
"freebsd",
"netbsd",
"openbsd",
#include <errno.h>
#include <stdarg.h>
#include <setjmp.h>
+#include <signal.h>
// bprintf replaces the buffer with the result of the printf formatting
// and returns a pointer to the NUL-terminated buffer contents.
gohostos = "openbsd";
#elif defined(__NetBSD__)
gohostos = "netbsd";
+#elif defined(__sun) && defined(__SVR4)
+ gohostos = "solaris";
+ // Even on 64-bit platform, solaris uname -m prints i86pc.
+ run(&b, nil, 0, "isainfo", "-n", nil);
+ if(contains(bstr(&b), "amd64"))
+ gohostarch = "amd64";
+ if(contains(bstr(&b), "i386"))
+ gohostarch = "386";
#else
fatal("unknown operating system");
#endif
// 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
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
#include <u.h>
#include <errno.h>
// 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
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
#include <u.h>
#include <dirent.h>
--- /dev/null
+// This is stubbed out for the moment. Will revisit when the time comes.
+#include <u.h>
+#include <libc.h>
+#include <bio.h>
+#include <mach.h>
+
+int
+ctlproc(int pid, char *msg)
+{
+ USED(pid);
+ USED(msg);
+ sysfatal("ctlproc unimplemented in Solaris");
+ return -1;
+}
+
+char*
+proctextfile(int pid)
+{
+ USED(pid);
+ sysfatal("proctextfile unimplemented in Solaris");
+ return nil;
+}
+
+char*
+procstatus(int pid)
+{
+ USED(pid);
+ sysfatal("procstatus unimplemented in Solaris");
+ return nil;
+}
+
+Map*
+attachproc(int pid, Fhdr *fp)
+{
+ USED(pid);
+ USED(fp);
+ sysfatal("attachproc unimplemented in Solaris");
+ return nil;
+}
+
+void
+detachproc(Map *m)
+{
+ USED(m);
+ sysfatal("detachproc unimplemented in Solaris");
+}
+
+int
+procthreadpids(int pid, int *p, int np)
+{
+ USED(pid);
+ USED(p);
+ USED(np);
+ sysfatal("procthreadpids unimplemented in Solaris");
+ return -1;
+}
}
var bools = []bool{false, true}
-var geese = []string{"darwin", "dragonfly", "freebsd", "linux", "netbsd", "openbsd", "plan9", "windows"}
+var geese = []string{"darwin", "dragonfly", "freebsd", "linux", "netbsd", "openbsd", "plan9", "solaris", "windows"}
var goarches = []string{"386", "amd64", "arm"}
type osPkg struct {
package build
-const goosList = "darwin dragonfly freebsd linux netbsd openbsd plan9 windows "
+const goosList = "darwin dragonfly freebsd linux netbsd openbsd plan9 solaris windows "
const goarchList = "386 amd64 arm "