| 
          diff -r 87dea3f5ebe7 src/cmd/go/build.go | 
        
        
           | 
          --- a/src/cmd/go/build.go	Fri Nov 29 08:32:31 2013 +1100 | 
        
        
           | 
          +++ b/src/cmd/go/build.go	Thu Dec 19 17:34:24 2013 +0100 | 
        
        
           | 
          @@ -1928,9 +1928,9 @@ | 
        
        
           | 
           ) | 
        
        
           | 
            | 
        
        
           | 
           func (b *builder) cgo(p *Package, cgoExe, obj string, gccfiles []string, gxxfiles []string) (outGo, outObj []string, err error) { | 
        
        
           | 
          -	if goos != toolGOOS { | 
        
        
           | 
          -		return nil, nil, errors.New("cannot use cgo when compiling for a different operating system") | 
        
        
           | 
          -	} | 
        
        
           | 
          +	//if goos != toolGOOS { | 
        
        
           | 
          +		//return nil, nil, errors.New("cannot use cgo when compiling for a different operating system") | 
        
        
           | 
          +	//} | 
        
        
           | 
            | 
        
        
           | 
           	cgoCPPFLAGS := stringList(envList("CGO_CPPFLAGS"), p.CgoCPPFLAGS) | 
        
        
           | 
           	cgoCFLAGS := stringList(envList("CGO_CFLAGS"), p.CgoCFLAGS) | 
        
        
           | 
          diff -r 87dea3f5ebe7 src/pkg/net/dnsconfig_android.go | 
        
        
           | 
          --- /dev/null	Thu Jan 01 00:00:00 1970 +0000 | 
        
        
           | 
          +++ b/src/pkg/net/dnsconfig_android.go	Thu Dec 19 17:34:24 2013 +0100 | 
        
        
           | 
          @@ -0,0 +1,53 @@ | 
        
        
           | 
          +// Copyright 2009 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. | 
        
        
           | 
          + | 
        
        
           | 
          +// +build android,linux | 
        
        
           | 
          + | 
        
        
           | 
          +package net | 
        
        
           | 
          + | 
        
        
           | 
          +import ( | 
        
        
           | 
          +	"fmt" | 
        
        
           | 
          +	"os/exec" | 
        
        
           | 
          +) | 
        
        
           | 
          + | 
        
        
           | 
          +type dnsConfig struct { | 
        
        
           | 
          +	servers	[]string // servers to use | 
        
        
           | 
          +	search	 []string // suffixes to append to local name | 
        
        
           | 
          +	ndots		int			// number of dots in name to trigger absolute lookup | 
        
        
           | 
          +	timeout	int			// seconds before giving up on packet | 
        
        
           | 
          +	attempts int			// lost packets before giving up on server | 
        
        
           | 
          +	rotate	 bool		 // round robin among servers | 
        
        
           | 
          +} | 
        
        
           | 
          + | 
        
        
           | 
          +// Using getprop since Android doesn't have resolv.conf | 
        
        
           | 
          +func dnsReadConfig() (*dnsConfig, error) { | 
        
        
           | 
          +	conf := new(dnsConfig) | 
        
        
           | 
          +	conf.servers = make([]string, 3)[0:0] // small, but the standard limit | 
        
        
           | 
          +	conf.search = make([]string, 0) | 
        
        
           | 
          +	conf.ndots = 1 | 
        
        
           | 
          +	conf.timeout = 5 | 
        
        
           | 
          +	conf.attempts = 2 | 
        
        
           | 
          +	conf.rotate = false | 
        
        
           | 
          +	var ip string | 
        
        
           | 
          + | 
        
        
           | 
          +	for i := 1; i <= 4; i++ { | 
        
        
           | 
          +		out, err := exec.Command("/system/bin/getprop", fmt.Sprintf("net.dns%v", i)).Output() | 
        
        
           | 
          +		m := len(out) | 
        
        
           | 
          +		if err != nil { | 
        
        
           | 
          +			continue | 
        
        
           | 
          +		} | 
        
        
           | 
          +		if m < 2 { | 
        
        
           | 
          +			continue | 
        
        
           | 
          +		} | 
        
        
           | 
          +		ip = string(out[:m-1]) | 
        
        
           | 
          + | 
        
        
           | 
          +		a := conf.servers | 
        
        
           | 
          +		n := len(a) | 
        
        
           | 
          +		a = a[0 : n+1] | 
        
        
           | 
          +		a[n] = ip | 
        
        
           | 
          +		conf.servers = a | 
        
        
           | 
          +	} | 
        
        
           | 
          + | 
        
        
           | 
          +	return conf, nil | 
        
        
           | 
          +} | 
        
        
           | 
          diff -r 87dea3f5ebe7 src/pkg/net/dnsconfig_unix.go | 
        
        
           | 
          --- a/src/pkg/net/dnsconfig_unix.go	Fri Nov 29 08:32:31 2013 +1100 | 
        
        
           | 
          +++ b/src/pkg/net/dnsconfig_unix.go	Thu Dec 19 17:34:24 2013 +0100 | 
        
        
           | 
          @@ -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 | 
        
        
           | 
          +// +build darwin dragonfly freebsd !android,linux netbsd openbsd | 
        
        
           | 
            | 
        
        
           | 
           // Read system DNS config from /etc/resolv.conf | 
        
        
           | 
            | 
        
        
           | 
          diff -r 87dea3f5ebe7 src/pkg/os/file_android.go | 
        
        
           | 
          --- /dev/null	Thu Jan 01 00:00:00 1970 +0000 | 
        
        
           | 
          +++ b/src/pkg/os/file_android.go	Thu Dec 19 17:34:24 2013 +0100 | 
        
        
           | 
          @@ -0,0 +1,17 @@ | 
        
        
           | 
          +// Copyright 2012 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. | 
        
        
           | 
          + | 
        
        
           | 
          +// +build android,linux | 
        
        
           | 
          + | 
        
        
           | 
          +package os | 
        
        
           | 
          + | 
        
        
           | 
          +// TempDir returns the default directory to use for temporary files. | 
        
        
           | 
          +func TempDir() string { | 
        
        
           | 
          +	dir := Getenv("TMPDIR") | 
        
        
           | 
          +	if dir == "" { | 
        
        
           | 
          +		dir = "/data/local/tmp" | 
        
        
           | 
          +	} | 
        
        
           | 
          +	return dir | 
        
        
           | 
          +} | 
        
        
           | 
          + | 
        
        
           | 
          diff -r 87dea3f5ebe7 src/pkg/os/file_non_android.go | 
        
        
           | 
          --- /dev/null	Thu Jan 01 00:00:00 1970 +0000 | 
        
        
           | 
          +++ b/src/pkg/os/file_non_android.go	Thu Dec 19 17:34:24 2013 +0100 | 
        
        
           | 
          @@ -0,0 +1,17 @@ | 
        
        
           | 
          +// Copyright 2012 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. | 
        
        
           | 
          + | 
        
        
           | 
          +// +build darwin freebsd !android,linux netbsd openbsd | 
        
        
           | 
          + | 
        
        
           | 
          +package os | 
        
        
           | 
          + | 
        
        
           | 
          +// TempDir returns the default directory to use for temporary files. | 
        
        
           | 
          +func TempDir() string { | 
        
        
           | 
          +	dir := Getenv("TMPDIR") | 
        
        
           | 
          +	if dir == "" { | 
        
        
           | 
          +		dir = "/tmp" | 
        
        
           | 
          +	} | 
        
        
           | 
          +	return dir | 
        
        
           | 
          +} | 
        
        
           | 
          + | 
        
        
           | 
          diff -r 87dea3f5ebe7 src/pkg/os/file_unix.go | 
        
        
           | 
          --- a/src/pkg/os/file_unix.go	Fri Nov 29 08:32:31 2013 +1100 | 
        
        
           | 
          +++ b/src/pkg/os/file_unix.go	Thu Dec 19 17:34:24 2013 +0100 | 
        
        
           | 
          @@ -279,11 +279,3 @@ | 
        
        
           | 
           	return name | 
        
        
           | 
           } | 
        
        
           | 
            | 
        
        
           | 
          -// TempDir returns the default directory to use for temporary files. | 
        
        
           | 
          -func TempDir() string { | 
        
        
           | 
          -	dir := Getenv("TMPDIR") | 
        
        
           | 
          -	if dir == "" { | 
        
        
           | 
          -		dir = "/tmp" | 
        
        
           | 
          -	} | 
        
        
           | 
          -	return dir | 
        
        
           | 
          -} |