encoding/json: document that marshaling invalid utf-8 sequence will return error
Also added docs for InvalidUTF8Error.
Fixes issue 5360.

R=golang-dev, adg, r
CC=golang-dev
https://codereview.appspot.com/8926046
cmd/ld: fix some 64-bit issues
A few places in the linker pushed 64-bit values through 32-bit holes,
including in relocation.
Clean them up, and check for a few other overflows as well.
Tests to follow.

R=dsymonds
CC=gobot, golang-dev
https://codereview.appspot.com/9032043
cmd/gc: fix some overflows in the compiler
Some 64-bit fields were run through 32-bit words, some counts were
not checked for overflow, and relocations must fit in 32 bits.
Tests to follow.

R=golang-dev, dsymonds
CC=golang-dev
https://codereview.appspot.com/9033043
cmd/ld: disable relocation range check so build can go green while we debug the issue.

R=golang-dev, dsymonds, dave
CC=golang-dev
https://codereview.appspot.com/9038043
doc/go1.1: remove discussion of "go run" change

Update issue 5164

R=golang-dev, dave
CC=golang-dev
https://codereview.appspot.com/9049043
cmd/ld: fix check for address wrap in relocation
PC-relative needs a signed offset; others need unsigned.
Also fix signedness of 32-bit relocation on Windows.

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/9039045
cmd/ld: another attempt at the relocation overflow fix

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/9036046
syscall: fix exec_bsd.go to accompany exec_linux.go changes
exec_plan9.go too.
Those are in CL 8334044

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/9055043
syscall: fix a bug in the shuffling of file descriptors in StartProcess on Linux.

R=iant, iant, r, bradfitz
CC=golang-dev
https://codereview.appspot.com/8334044

Committer: Rob Pike <r@golang.org>
os/exec: disable TestExtraFilesFDShuffle
It's too hard to make portable just now.

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/9057043
cmd/ld: emit relocs for DWARF info when doing an external link

I would like opinions on whether this is a good idea for 1.1.
On the one hand it's a moderately important issue.  On the
other hand this introduces at least the possibility of
external linker errors due to the additional relocations and
it may be better to wait.

I'm fairly confident that the behaviour is unchanged when not
using an external linker.

Update issue 5221

This CL is tested lightly on 386 and amd64 and fixes the cases
I tested.  I have not tested it on Darwin or Windows.

R=golang-dev, dave, daniel.morsing, rsc
CC=golang-dev
https://codereview.appspot.com/8858047
cmd/go: undo CL 8119049

Manual undo due to later changes in doc/go1.1.html; cmd/go/test.bash still passes.

Rationale, from CL 8119049 review log:

This makes the 'go run' command different from every other command.
For example, 'go test' does not mean 'go test *.go'.

If we were going to handle the no arguments case in 'go run', I would hope that
it would scan the current directory to find a package just like 'go build' or
'go test' would, and then it would require that package to be 'package main',
and then it would run that package. This would make it match 'go test' and 'go
build' and 'go install' and so on. It would mean that if you are working on a
command in a directory that is 'go install'able, then 'go run' will run the
binary for you. The current CL does not accomplish that when build constraints
or file name constraints are involved.

For example, if I am working on a program like:

$ ls
main.go
main_386.s
main_arm.s
main_amd64.s
$

Then 'go run' will fail here because the .s files are ignored.

If instead I am working on a program like:

$ ls
main.go
main_386.go
main_arm.go
main_amd64.go
$

then 'go run' will fail because too many files are included.

I would like to see this command implemented so that it is compatible with the
other go subcommands. Since it is too late to do that for Go 1.1, I would like
to see this CL reverted, to preserve the option to do it better later.

R=golang-dev, iant, r
CC=golang-dev
https://codereview.appspot.com/8797049
cmd/ld: when linking externally, only generate dwarf info for ELF

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/9025047
net: do not call syscall.Bind twice on windows

Fixes issue 5355.

R=golang-dev, mikioh.mikioh, bradfitz, r
CC=golang-dev
https://codereview.appspot.com/8966046

Committer: Rob Pike <r@golang.org>
doc: link to Go 1.1 release notes

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/9047045
cmd/ld: fix syms that are both cgo_import_static & cgo_import_dynamic

This is needed for SWIG when linking in internal mode.  In
internal mode if a symbol was cgo_import_static we used to
forget that it was also cgo_import_dynamic.

R=rsc, r
CC=golang-dev
https://codereview.appspot.com/9080043
runtime/cgo: export symbols in both internal and external link mode

R=rsc, r
CC=golang-dev
https://codereview.appspot.com/9060045
cmd/cgo: correct pragma name in comment

R=rsc, alexb, minux.ma, bradfitz, i.caught.air
CC=golang-dev
https://codereview.appspot.com/9082043
libmach: fix build on Plan 9

Include libc.h before bio.h in 8.c, because bio.h uses
the UTFmax enum, which is declared in libc.h, since
the recent switch to 21-bit runes in Plan 9.

The 5.c and 6.c files already includes libc.h.

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

Committer: Rob Pike <r@golang.org>
cmd/ld: fix another unsigned value causing bugs on Plan 9
"The usual conversions" bite again.

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