cmd/go: do not print GCC environment variables on Plan 9

R=seed, rminnich, r, minux.ma
CC=golang-dev
https://codereview.appspot.com/7397059
build: do not set GOBIN on Plan 9

Also, I synced the rc files with changes
that have been made to make.bash, etc.

R=seed, rminnich, r
CC=golang-dev
https://codereview.appspot.com/7389049
os/exec: Pass tests on Plan 9

Adjust the exit status string for Plan 9.

Upon allocating >100 file descriptors, Plan 9
raises a warning. Moreover, the Go runtime for
32-bit version of Plan 9 keeps /dev/bintime
open for its implementation of runtime.nanotime().
This change accounts for these things in
TestExtraFiles.

R=rsc, rminnich, ality, bradfitz
CC=golang-dev
https://codereview.appspot.com/7363056

Committer: Anthony Martin <ality@pbrane.org>
all: clean up C function prototypes

R=minux.ma, rsc, akumar, bradfitz
CC=golang-dev
https://codereview.appspot.com/7313070
runtime: fix stack cache typos

R=golang-dev, bradfitz
CC=golang-dev
https://codereview.appspot.com/7370050
A+C: Dominik Honnef (individual CLA)

Generated by addca (mostly, until codereview
blew up)

R=golang-dev
CC=golang-dev
https://codereview.appspot.com/7386054
exp/ssa: reimplement logic for field selection.

The previous approach desugared the ast.SelectorExpr
to make implicit field selections explicit.  But:
1) it was clunky since it required allocating temporary
   syntax trees.
2) it was not thread-safe since it required poking
   types into the shared type map for the new ASTs.
3) the desugared syntax had no place to represent the
   package lexically enclosing each implicit field
   selection, so it was as if they all occurred in the
   same package as the explicit field selection.
   This meant unexported field names changed meaning.

This CL does what I should have done all along: just
generate the SSA instructions directly from the original
AST and the promoted field information.

Also:
- add logStack util for paired start/end log messages.
  Useful for debugging crashes.

R=gri
CC=golang-dev
https://codereview.appspot.com/7395052
cmd/vet: fix printf test for unsafe Pointer
And fix test. Pointer to unsafe.Pointer tests nothing important...
Also identify the incorrect type: go/types.Type is a Stringer.

Also fix a couple of incorrect format verbs found by new printf checker,
now that we can run it on more files.

R=golang-dev, rsc
CC=golang-dev
https://codereview.appspot.com/7385051
misc/emacs: Greatly improve go-mode for Emacs.

The original go-mode is plagued with odd behaviour, lack of
behaviour typical to modes in Emacs and bugs.

This change rewrites great parts of go-mode (basically only
keeping the gofmt and godoc functions).

Additionally it adds new features such as manipulating package
imports.

For more information please see
https://groups.google.com/group/golang-nuts/browse_frm/thread/3a9d6dae3369c0b5/1efe65e2f7afb190

Fixes issue 3618.
Fixes issue 4240.
Fixes issue 4322.
Fixes issue 4671.
Fixes issue 4726.

R=golang-dev, fullung, sameer, cw, arthur, proppy, adonovan, rsc, bradfitz
CC=golang-dev
https://codereview.appspot.com/7314113

Committer: Sameer Ajmani <sameer@golang.org>
exp/ssa: support multiple labels on same statement.

Actually it already worked since the spec only requires that
the one immediately preceding a for/switch/... be usable as
the target of a break or continue statement.

Added a test.
Also: allocate Function.lblocks on first use.

R=gri
CC=golang-dev
https://codereview.appspot.com/7365058
syscall: fix FD passing on FreeBSD and NetBSD

Fixes issue 3348.

R=devon.odell, minux.ma, bradfitz, mdempsky
CC=golang-dev
https://codereview.appspot.com/7406050
go/types: be more robust in presence of multiple errors

- better documentation of Check
- better handling of (explicit) internal panics
- gotype: don't stop after 1st error

R=adonovan, r
CC=golang-dev
https://codereview.appspot.com/7406052