func dotest() bool {
        // For now, only works on ELF platforms.
-       return syscall.OS == "linux" && os.Getenv("GOARCH") == "amd64"
+       // TODO: convert to work with new go tool
+       return false && syscall.OS == "linux" && os.Getenv("GOARCH") == "amd64"
 }
 
 func getTable(t *testing.T) *Table {
 
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build linux
+
 package inotify
 
 import (
                t.Fatalf("NewWatcher() failed: %s", err)
        }
 
+       t.Logf("NEEDS TO BE CONVERTED TO NEW GO TOOL") // TODO
+       return
+
        // Add a watch for "_test"
        err = watcher.Watch("_test")
        if err != nil {
 
 clean: clean-local
 
 clean-local:
-       rm -f $(AUTOHFILES)
+       rm -f $(AUTOHFILES) runtime_defs.go version*.go
 
 arch_GOARCH.h: arch_$(GOARCH).h
        cp $^ $@
 
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build darwin freebsd linux netbsd openbsd
+
 #include "libcgo.h"
 
 #include <stdlib.h>
 
 
 package cgo
 
+/*
+
+#cgo darwin LDFLAGS: -lpthread
+#cgo freebsd LDFLAGS: -lpthread
+#cgo linux LDFLAGS: -lpthread
+#cgo netbsd LDFLAGS: -lpthread
+#cgo openbsd LDFLAGS: -lpthread
+#cgo windows LDFLAGS: -lm -lmthreads
+
+*/
 import "C"
 
  * low level C-called
  */
 uint8* runtime·mmap(byte*, uintptr, int32, int32, int32, uint32);
-void   runtime·munmap(uint8*, uintptr);
+void   runtime·munmap(byte*, uintptr);
+void   runtime·madvise(byte*, uintptr, int32);
 void   runtime·memclr(byte*, uintptr);
 void   runtime·setcallerpc(void*, void*);
 void*  runtime·getcallerpc(void*);