]> Cypherpunks repositories - gostls13.git/commitdiff
cov and prof: implement windows version (just function stubs and build mods)
authorJoe Poirier <jdpoirier@gmail.com>
Fri, 30 Jul 2010 01:47:11 +0000 (11:47 +1000)
committerAlex Brainman <alex.brainman@gmail.com>
Fri, 30 Jul 2010 01:47:11 +0000 (11:47 +1000)
R=brainman, rsc
CC=golang-dev
https://golang.org/cl/1676054

include/libc.h
src/cmd/cov/Makefile
src/cmd/prof/Makefile
src/libmach/Makefile
src/libmach/windows.c [new file with mode: 0644]

index ea6fc3b262099587f27214d4a6ddb9b4a6cea1eb..1103bcf81149e7e149d66d2a878339cb2a9bf8a2 100644 (file)
@@ -292,9 +292,15 @@ extern     char*   getgoroot(void);
 extern char*   getgoversion(void);
 
 #ifdef __MINGW32__
-extern int fork();
+struct timespec {
+       int tv_sec;
+       long tv_nsec;
+};
+extern int nanosleep(const struct timespec *rqtp, struct timespec *rmtp);
+extern int fork(void);
 extern int pread(int fd, void *buf, int n, int off);
 extern int pwrite(int fd, void *buf, int n, int off);
+#define execv(prog, argv) execv(prog, (const char* const*)(argv))
 #define execvp(prog, argv) execvp(prog, (const char**)(argv))
 #define lseek(fd, n, base) _lseeki64(fd, n, base)
 #define mkdir(path, perm) mkdir(path)
index 58cb2302c76b9e086662e3d344e73907adc70cc7..4017dba19047a6c956bc65c2118ebf1ba212c8ea 100644 (file)
@@ -22,9 +22,16 @@ $(TARG): $(OFILES)
 clean:
        rm -f *.$O $(TARG)
 
-install: install-$(shell uname | tr A-Z a-z)
+ifeq ($(GOOS),windows)
+NAME=windows
+else
+NAME=$(shell uname | tr A-Z a-z)
+endif
+
+install: install-$(NAME)
 install-linux: install-default
 install-freebsd: install-default
+install-windows: install-default
 
 # on Darwin, have to install and setgid; see $GOROOT/src/sudo.bash
 install-darwin: $(TARG)
index 602c07da6a9fcf876665b87d2ddaa8cf56855127..1d1094b5a0cd04d51829ec84698ebbf6be6f1f61 100644 (file)
@@ -22,9 +22,16 @@ $(TARG): $(OFILES)
 clean:
        rm -f *.$O $(TARG)
 
-install: install-$(shell uname | tr A-Z a-z) install-pprof
+ifeq ($(GOOS),windows)
+NAME=windows
+else
+NAME=$(shell uname | tr A-Z a-z)
+endif
+
+install: install-$(NAME) install-pprof
 install-linux: install-default
 install-freebsd: install-default
+install-windows: install-default
 
 # on Darwin, have to install and setgid; see $GOROOT/src/sudo.bash
 install-darwin: $(TARG)
index 900d278617619db8a2d695bd3bb9f0f206e8a872..74c176ebcfa514298d96a28cc890a592b95c2eb5 100644 (file)
@@ -52,6 +52,10 @@ ifneq ($(GOOS),windows)
 OFILES+=\
        $(shell uname | tr A-Z a-z).$O\
 
+else
+OFILES+=\
+       windows.$O\
+
 endif
 
 HFILES=../../include/mach.h elf.h macho.h obj.h
diff --git a/src/libmach/windows.c b/src/libmach/windows.c
new file mode 100644 (file)
index 0000000..391761c
--- /dev/null
@@ -0,0 +1,59 @@
+// 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)
+{
+       sysfatal("ctlproc unimplemented in Windows");
+}
+
+char*
+proctextfile(int pid)
+{
+       sysfatal("proctextfile unimplemented in Windows");
+}
+
+char*
+procstatus(int pid)
+{
+       sysfatal("procstatus unimplemented in Windows");
+}
+
+Map*
+attachproc(int pid, Fhdr *fp)
+{
+       sysfatal("attachproc unimplemented in Windows");
+}
+
+void
+detachproc(Map *m)
+{
+       sysfatal("detachproc unimplemented in Windows");
+}
+
+int
+procthreadpids(int pid, int *p, int np)
+{
+       sysfatal("procthreadpids unimplemented in Windows");
+}
+
+int 
+pread(int fd, void *buf, int count, int offset)
+{
+       sysfatal("pread unimplemented in Windows");
+}
+
+int 
+pwrite(int fd, void *buf, int count, int offset)
+{
+       sysfatal("pwrite unimplemented in Windows");
+}
+
+int 
+nanosleep(const struct timespec *rqtp, struct timespec *rmtp)
+{
+       sysfatal("nanosleep unimplemented in Windows");
+}