database/sql: document non-open of Open; add Ping

Fixes issue 4804

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/7819043
runtime: freebsd, netbsd build fixes after reorg

R=golang-dev
CC=golang-dev
https://codereview.appspot.com/7826044
runtime: fix freebsd arm for hash change

Was missing definitions of open, read, close.

R=golang-dev
CC=golang-dev
https://codereview.appspot.com/7828043
runtime: fix build for freebsd/arm after reorg

R=golang-dev
CC=golang-dev
https://codereview.appspot.com/7701046
runtime: fix netbsd again after reorg

This time for sure.
That C file sure looked like a header file to me. :-)

R=golang-dev
CC=golang-dev
https://codereview.appspot.com/7830043
runtime: fix netbsd after reorg (again)

R=golang-dev
CC=golang-dev
https://codereview.appspot.com/7719046
database/sql: associate a mutex with each driver interface

The database/sql/driver docs make this promise:

   "Conn is a connection to a database. It is not used
   concurrently by multiple goroutines."

That promises exists as part of database/sql's overall
goal of making drivers relatively easy to write.

So far this promise has been kept without the use of locks by
being careful in the database/sql package, but sometimes too
careful. (cf. golang.org/issue/3857)

The CL associates a Mutex with each driver.Conn, and with the
interface value progeny thereof. (e.g. each driver.Tx,
driver.Stmt, driver.Rows, driver.Result, etc) Then whenever
those interface values are used, the Locker is locked.

This CL should be a no-op (aside from some new Lock/Unlock
pairs) and doesn't attempt to fix Issue 3857 or Issue 4459,
but should make it much easier in a subsequent CL.

Update issue 3857

R=golang-dev, adg
CC=golang-dev
https://codereview.appspot.com/7803043
misc/dashboard/codereview: add more people.

I picked everyone who has committed a CL on behalf of someone else in recent times.

R=r, rsc
CC=golang-dev
https://codereview.appspot.com/7836044
runtime: use 64-bit negative error code on 64-bit machines

NEGL does a negation of the bottom 32 bits and then zero-extends to 64 bits,
resulting in a negative 32-bit number but a positive 64-bit number.

NEGQ does a full 64-bit negation, so that the result is negative both as
a 32-bit and as a 64-bit number.

This doesn't matter for the functions that are declared to return int32.
It only matters for the ones that return int64 or void* [sic].

This will fix the current incorrect error in the OpenBSD/amd64 build.
The build will still be broken, but it won't report a bogus error.

R=golang-dev, bradfitz
CC=golang-dev
https://codereview.appspot.com/7536046
misc/dashboard/codereview: better debugging when some fetches fail.

R=rsc
CC=golang-dev
https://codereview.appspot.com/7836045
CONTRIBUTORS: add Jonathan Nieder (Google CLA)

R=golang-dev, bradfitz
CC=golang-dev
https://codereview.appspot.com/7842043
go/build: allow ~ in middle of path, just not at beginning

CL 7799045 relaxed the restriction in cmd/go on ~ in GOPATH
to allow paths with ~ in the middle while continuing to
protect against the common mistake of using GOPATH='~/home'
instead of GOPATH=~/home.  Unfortunately go/build still
filters these paths out:

        $ GOPATH=/tmp/test~ing go build
        test.go:22:2: cannot find package "test" in any of:
                /usr/lib/go/test (from $GOROOT)
                ($GOPATH not set)

So relax the requirement in go/build, too.

R=golang-dev, rsc
CC=golang-dev
https://codereview.appspot.com/7826043

Committer: Russ Cox <rsc@golang.org>
os/signal: add Stop, be careful about SIGHUP

Fixes issue 4268.
Fixes issue 4491.

R=golang-dev, nightlyone, fullung, r
CC=golang-dev
https://codereview.appspot.com/7546048
cmd/dist: instruct the user to bind $GOBIN on Plan 9

R=seed, rminnich, bradfitz, r
CC=golang-dev
https://codereview.appspot.com/7395059

Committer: Ron Minnich <rminnich@gmail.com>
cmd/gc: disallow fallthrough in final case of switch

Small change to cmd/gc to catch a "fallthrough" in the final case of a switch.

R=golang-dev, rsc, mtj
CC=golang-dev
https://codereview.appspot.com/7841043

Committer: Russ Cox <rsc@golang.org>
runtime: accept GOTRACEBACK=crash to mean 'crash after panic'

This provides a way to generate core dumps when people need them.
The settings are:

        GOTRACEBACK=0  no traceback on panic, just exit
        GOTRACEBACK=1  default - traceback on panic, then exit
        GOTRACEBACK=2  traceback including runtime frames on panic, then exit
        GOTRACEBACK=crash traceback including runtime frames on panic, then crash

Fixes issue 3257.

R=golang-dev, devon.odell, r, daniel.morsing, ality
CC=golang-dev
https://codereview.appspot.com/7666044
cmd/gc: unroll small array types

R=golang-dev, rsc
CC=golang-dev, nigeltao
https://codereview.appspot.com/7812044
runtime: replace lock() with casp() in the GC

Note: BitTarget will be removed by a forthcoming changeset.

R=golang-dev, dvyukov
CC=golang-dev, rsc
https://codereview.appspot.com/7837044
cmd/gc: fix escape analysis bug.

It used to not mark parameters as escaping if only one of the
fields it points to leaks out of the function. This causes
problems when importing from another package.

Fixes issue 4964.

R=rsc, lvd, dvyukov, daniel.morsing
CC=golang-dev
https://codereview.appspot.com/7648045
runtime: unbreak netbsd builds

Fix signal handling so that Go builds on NetBSD.

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

Committer: Russ Cox <rsc@golang.org>