runtime: improve mmap return value checking for netbsd/openbsd

Rather than just checking for ENOMEM, check for a return value of less
than 4096, so that we catch other errors such as EACCES and EINVAL.

R=golang-dev, rsc
CC=golang-dev
https://codereview.appspot.com/7942043
runtime: correct return value checks for mmap on darwin/freebsd

On Darwin and FreeBSD, the mmap syscall return value is returned
unmodified. This means that the return value will either be a
valid address or a positive error number.

Also check return value from mmap in SysReserve - the callers of
SysReserve expect nil to be returned if the allocation failed.

R=golang-dev, rsc
CC=golang-dev
https://codereview.appspot.com/7871043
image/gif: reject a GIF image if frame bounds larger than image bounds

The GIF89a spec says: "Each image must fit within the
boundaries of the Logical Screen, as defined in the
Logical Screen Descriptor." Also, do not accept
GIFs which have too much data for the image size.

R=nigeltao, jra, r
CC=bradfitz, golang-dev
https://codereview.appspot.com/7602045

Committer: Rob Pike <r@golang.org>
CONTRIBUTORS: add Joseph Bonneau (Google CLA)

R=golang-dev, rsc
CC=golang-dev
https://codereview.appspot.com/7879044
crypto/cipher: fix vet warning

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/7973043
build: update assembly variable names for vet

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/7834046
spec: add example showing missing return statement
Will help people find the rules by searching the spec by
having a comment saying "missing return";
"terminating statement" does not evoke the rule to the
uninitiated.

R=golang-dev, rsc
CC=golang-dev
https://codereview.appspot.com/7838044
cmd/vet: add assembly checker

Fixes issue 5036.

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/7531045
database/sql: add missing []byte and RawBytes conversions

E.g conversions from numeric types to RawBytes are missing, what makes RawBytes unusable in some cases.

R=golang-dev, bradfitz
CC=golang-dev
https://codereview.appspot.com/7783046

Committer: Brad Fitzpatrick <bradfitz@golang.org>
runtime/cgo, go/build: re-enable cgo for FreeBSD/ARM.

R=dave, rsc
CC=golang-dev
https://codereview.appspot.com/7970043
encoding/gob: delete dead code.

R=golang-dev, rsc
CC=golang-dev
https://codereview.appspot.com/7834047
build: remove dead code

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/7877045
cmd/vet: diagnose unreachable code

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/7493048
cmd/gc: fix line number for 'missing return' in closure

R=ken2
CC=golang-dev
https://codereview.appspot.com/7838048
doc/go1.1.html: return requirements

R=golang-dev, rsc, jeremyjackins, gri
CC=golang-dev
https://codereview.appspot.com/7838045
spec: remove most §links for the now more common in-text links

Also:
- more consistenly use "xxx" statement rather than <code>xxx</code> statement
- fix/remove unnecessary links

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/7821050
net: fix documentation for UnixAddr

Also simplifies ResolveUnixAddr.

R=golang-dev, dave, rsc, bradfitz
CC=golang-dev
https://codereview.appspot.com/7510047
doc/go1.1.html: blockprofile, method values, ListenUnixgram, etc.

R=golang-dev, gri
CC=golang-dev
https://codereview.appspot.com/7496051
doc/go1.1.html: fix broken links

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/7834049
runtime: correct misplaced right brace in Linux SIGBUS handling

I'm not sure how to write a test for this.  The change in
behaviour is that if you somehow get a SIGBUS signal for an
address >= 0x1000, the program will now crash rather than
calling panic.  As far as I know, on x86 GNU/Linux, the only
way to get a SIGBUS (rather than a SIGSEGV) is to set the
stack pointer to an invalid value.

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