]> Cypherpunks repositories - gostls13.git/log
gostls13.git
11 years agoruntime: fix arm build (B not JMP)
Russ Cox [Tue, 4 Mar 2014 19:03:39 +0000 (14:03 -0500)]
runtime: fix arm build (B not JMP)

TBR=dvyukov
CC=golang-codereviews
https://golang.org/cl/71060046

11 years agocmd/ld: clear unused ctxt before morestack
Russ Cox [Tue, 4 Mar 2014 18:53:08 +0000 (13:53 -0500)]
cmd/ld: clear unused ctxt before morestack

For non-closure functions, the context register is uninitialized
on entry and will not be used, but morestack saves it and then the
garbage collector treats it as live. This can be a source of memory
leaks if the context register points at otherwise dead memory.
Avoid this by introducing a parallel set of morestack functions
that clear the context register, and use those for the non-closure functions.

I hope this will help with some of the finalizer flakiness, but it probably won't.

Fixes #7244.

LGTM=dvyukov
R=khr, dvyukov
CC=golang-codereviews
https://golang.org/cl/71030044

11 years agonet/http: deflake another alloc test
Brad Fitzpatrick [Tue, 4 Mar 2014 17:59:07 +0000 (09:59 -0800)]
net/http: deflake another alloc test

I have one machine where this 25 test run is flaky
and fails ("21 >= 21"), but 50 works everywhere.

LGTM=josharian
R=josharian
CC=golang-codereviews
https://golang.org/cl/67870053

11 years agocrypto/cipher: fix AEAD.Open documentation nit
Brad Fitzpatrick [Tue, 4 Mar 2014 17:58:54 +0000 (09:58 -0800)]
crypto/cipher: fix AEAD.Open documentation nit

It mentioned true and false for error values. Instead, just
don't mention the error semantics, as they match normal Go
conventions (if error is non-nil, the other value is
meaningless). We generally only document error values when
they're interesting (where non-nil, non-nil is valid, or the
error value can be certain known values or types).

Fixes #7464

LGTM=agl
R=agl
CC=golang-codereviews
https://golang.org/cl/68440044

11 years agopath/filepath: ensure Glob does not ignore broken symlinks
Kelsey Hightower [Tue, 4 Mar 2014 17:00:45 +0000 (09:00 -0800)]
path/filepath: ensure Glob does not ignore broken symlinks

Fixes #6463.

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/69870050

11 years agonet/http: disable an alloc test under the race detector
Brad Fitzpatrick [Tue, 4 Mar 2014 16:56:52 +0000 (08:56 -0800)]
net/http: disable an alloc test under the race detector

LGTM=dvyukov
R=dvyukov
CC=golang-codereviews
https://golang.org/cl/70200052

11 years agoA+C: Matt Aimonetti (individual CLA)
Brad Fitzpatrick [Tue, 4 Mar 2014 16:39:51 +0000 (08:39 -0800)]
A+C: Matt Aimonetti (individual CLA)

Generated by addca.

R=gobot
CC=golang-codereviews
https://golang.org/cl/71160044

11 years agoA+C: Mike Andrews (individual CLA)
Brad Fitzpatrick [Tue, 4 Mar 2014 16:25:38 +0000 (08:25 -0800)]
A+C: Mike Andrews (individual CLA)

Generated by addca.

R=gobot
CC=golang-codereviews
https://golang.org/cl/71150043

11 years agoA+C: Kelsey Hightower (individual CLA)
Brad Fitzpatrick [Tue, 4 Mar 2014 16:20:09 +0000 (08:20 -0800)]
A+C: Kelsey Hightower (individual CLA)

Generated by addca.

R=gobot
CC=golang-codereviews
https://golang.org/cl/69110045

11 years agoruntime: fix finalizer flakiness
Russ Cox [Tue, 4 Mar 2014 14:46:40 +0000 (09:46 -0500)]
runtime: fix finalizer flakiness

The flakiness appears to be just in tests, not in the actual code.
Specifically, the many tests call runtime.GC once and expect that
the finalizers will be running in the background when GC returns.
Now that the sweep phase is concurrent with execution, however,
the finalizers will not be run until sweep finishes, which might
be quite a bit later. To force sweep to finish, implement runtime.GC
by calling the actual collection twice. The second will complete the
sweep from the first.

This was reliably broken after a few runs before the CL and now
passes tens of runs:

while GOMAXPROCS=2 ./runtime.test -test.run=Finalizer -test.short \
        -test.timeout=300s -test.cpu=$(perl -e 'print ("1,2,4," x 100) . "1"')
do true; done

Fixes #7328.

LGTM=dvyukov
R=dvyukov, dave
CC=golang-codereviews
https://golang.org/cl/71080043

11 years agocmd/go: fix data race on buildLdflags
Dmitriy Vyukov [Tue, 4 Mar 2014 07:42:02 +0000 (11:42 +0400)]
cmd/go: fix data race on buildLdflags
Fixes #7438.

LGTM=rsc
R=golang-codereviews
CC=bradfitz, golang-codereviews, iant, rsc
https://golang.org/cl/70420044

11 years agocmd/gc: use a register to checknil constants.
Rémy Oudompheng [Tue, 4 Mar 2014 07:18:17 +0000 (08:18 +0100)]
cmd/gc: use a register to checknil constants.

Fixes #7346.

LGTM=rsc
R=rsc, iant, khr
CC=golang-codereviews
https://golang.org/cl/69050044

11 years agoruntime: fix traceback on Windows
Russ Cox [Tue, 4 Mar 2014 04:33:27 +0000 (23:33 -0500)]
runtime: fix traceback on Windows

The exception handler runs on the ordinary g stack,
and the stack copier is now trying to do a traceback
across it. That's never been needed before, so it was
unimplemented. Implement it, in all its ugliness.

Fixes windows/amd64 build.

TBR=khr
CC=golang-codereviews
https://golang.org/cl/71030043

11 years agospec: clarify what is considered a function call for len/cap special case
Robert Griesemer [Tue, 4 Mar 2014 04:07:34 +0000 (20:07 -0800)]
spec: clarify what is considered a function call for len/cap special case

gccgo considers built-in function calls returning a constant not as function call (issue 7386)
go/types considers any call (regular or built-in) as a function call

The wording and examples clarify that only "function calls" that are issued
at run-time (and thus do not result in a constant result) are considered
function calls in this case.

gc is inconsistent (issue 7385)
gccgo already interprets the spec accordingly and issue 7386 is moot.
go/types considers all calls (constant or not) as function calls (issue 7457).

Fixes #7387.
Fixes #7386.

LGTM=r, rsc, iant
R=r, rsc, iant, ken
CC=golang-codereviews
https://golang.org/cl/66860046

11 years agonet/http: fix location of StateHijacked and StateActive
Brad Fitzpatrick [Tue, 4 Mar 2014 02:58:28 +0000 (18:58 -0800)]
net/http: fix location of StateHijacked and StateActive

1) Move StateHijacked callback earlier, to make it
panic-proof.  A Hijack followed by a panic didn't previously
result in ConnState getting fired for StateHijacked.  Move it
earlier, to the time of hijack.

2) Don't fire StateActive unless any bytes were read off the
wire while waiting for a request. This means we don't
transition from New or Idle to Active if the client
disconnects or times out. This was documented before, but not
implemented properly.

This CL is required for an pending fix for Issue 7264

LGTM=josharian
R=josharian
CC=golang-codereviews
https://golang.org/cl/69860049

11 years agodoc: add freebsd items
Mikio Hara [Tue, 4 Mar 2014 01:53:24 +0000 (10:53 +0900)]
doc: add freebsd items

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/71000043

11 years agomath/rand: speed up Float32, Float64
Russ Cox [Tue, 4 Mar 2014 01:43:23 +0000 (20:43 -0500)]
math/rand: speed up Float32, Float64

Actually, speed up Int31n and Int63n by avoiding retry loop.

benchmark           old ns/op    new ns/op    delta
BenchmarkFloat32           32           26  -19.45%
BenchmarkFloat64           46           23  -49.47%

Fixes #7267.

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/69980047

11 years agocmd/gc: fix internal crash
Russ Cox [Tue, 4 Mar 2014 00:55:40 +0000 (19:55 -0500)]
cmd/gc: fix internal crash

TBR=ken2
CC=golang-codereviews
https://golang.org/cl/70200053

11 years agonet: enable fast socket creation with close-on-exec flag on freebsd
Mikio Hara [Tue, 4 Mar 2014 00:28:09 +0000 (09:28 +0900)]
net: enable fast socket creation with close-on-exec flag on freebsd

Also makes variable names explicit.

Fixes #7186.

LGTM=iant
R=golang-codereviews, gobot, iant, bradfitz
CC=golang-codereviews
https://golang.org/cl/69100043

11 years agosyscall: add Accept4 for freebsd
Mikio Hara [Tue, 4 Mar 2014 00:27:48 +0000 (09:27 +0900)]
syscall: add Accept4 for freebsd

Update #7186
Update #7428

LGTM=r, bradfitz
R=golang-codereviews, rsc, minux.ma, r, bradfitz
CC=golang-codereviews
https://golang.org/cl/68880043

11 years agoos: handle file creation with close-on-exec flag correctly on darwin, freebsd
Mikio Hara [Tue, 4 Mar 2014 00:27:29 +0000 (09:27 +0900)]
os: handle file creation with close-on-exec flag correctly on darwin, freebsd

Fixes #7187.
Update #7193

LGTM=bradfitz
R=golang-codereviews, dave, rsc, minux.ma, bradfitz
CC=golang-codereviews
https://golang.org/cl/64510043

11 years agosyscall: add support for FreeBSD 10
Mikio Hara [Tue, 4 Mar 2014 00:26:56 +0000 (09:26 +0900)]
syscall: add support for FreeBSD 10

This CL tweaks syscall.InterfaceMessage to support FreeBSD 10 and
prior to 10.

See http://svnweb.freebsd.org/base?view=revision&revision=254804.

Fixes #7193.

LGTM=iant
R=golang-codereviews, rsc, minux.ma, gobot, iant
CC=golang-codereviews
https://golang.org/cl/56980043

11 years agoapi: add FreeBSD 10 exceptions
Mikio Hara [Tue, 4 Mar 2014 00:26:28 +0000 (09:26 +0900)]
api: add FreeBSD 10 exceptions

Update #7193

LGTM=minux.ma
R=golang-codereviews, rsc, minux.ma, iant
CC=golang-codereviews
https://golang.org/cl/57210043

11 years agosyscall: regenerate z-files on FreeBSD 10
Mikio Hara [Tue, 4 Mar 2014 00:26:01 +0000 (09:26 +0900)]
syscall: regenerate z-files on FreeBSD 10

Unfortunately FreeBSD 10 has changed its syscall arguments for
some reasons but as per request at golang-dev this CL does not
generate some structures, syscall numbers and constants as
compatible to FreeBSD 10 as follows:

Structure: Stat_t, IfData, IfMsghdr are based on 8-STABLE
Syscall number: Capsicum API is based on 9-STABLE
Constant: IFT_CARP, SIOCAIFADDR, SIOCSIFPHYADDR are based on 9-STABLE

Update #7193

FreeBSD 10 breaking changes:

r205792: Rename st_*timespec fields to st_*tim for POSIX 2008
compliance.
http://svnweb.freebsd.org/base?view=revision&revision=205792

r254804: Restructure the mbuf pkthdr to make it fit for upcoming
capabilities and features.
http://svnweb.freebsd.org/base?view=revision&revision=254804

r255219: Change the cap_rights_t type from uint64_t to a structure
that we can extend in the future in a backward compatible (API and
ABI) way.
http://svnweb.freebsd.org/base?view=revision&revision=255219

LGTM=iant
R=golang-codereviews, rsc, minux.ma, gobot, iant
CC=golang-codereviews
https://golang.org/cl/56770044

11 years agoruntime: update CBARGS macro for nacl/amd64p32
Dave Cheney [Mon, 3 Mar 2014 23:36:04 +0000 (10:36 +1100)]
runtime: update CBARGS macro for nacl/amd64p32

CBARGS is unused on amd64p32 so make this explicit.

LGTM=bradfitz
R=rsc, bradfitz
CC=golang-codereviews
https://golang.org/cl/70940043

11 years agonet/http: in Client, consume small redirect bodies before making next request
Brad Fitzpatrick [Mon, 3 Mar 2014 19:25:57 +0000 (11:25 -0800)]
net/http: in Client, consume small redirect bodies before making next request

In Go 1.2, closing a request body without reading to EOF
causes the underlying TCP connection to not be reused. This
client code following redirects was never updated when that
happened.

This was part of a previous CL but moved to its own CL at
Josh's request.  Now with test too.

LGTM=josharian
R=josharian
CC=golang-codereviews
https://golang.org/cl/70800043

11 years agocmd/ld: DWARF opcode base to 10
Graham King [Mon, 3 Mar 2014 19:11:04 +0000 (11:11 -0800)]
cmd/ld: DWARF opcode base to 10

DWARF 2 has 9 standard opcodes, so dwarfdump expects us to use an
opcode base of at least 10. Previously we used 5.

Discussion:
https://groups.google.com/forum/#!topic/golang-dev/d-BqpPgalzc

LGTM=josharian, rsc
R=golang-codereviews, gobot, rsc, josharian, iant, bradfitz
CC=golang-codereviews
https://golang.org/cl/69320043

11 years agocrypto/tls: split connErr to avoid read/write races.
Adam Langley [Mon, 3 Mar 2014 14:01:44 +0000 (09:01 -0500)]
crypto/tls: split connErr to avoid read/write races.

Currently a write error will cause future reads to return that same error.
However, there may have been extra information from a peer pending on
the read direction that is now unavailable.

This change splits the single connErr into errors for the read, write and
handshake. (Splitting off the handshake error is needed because both read
and write paths check the handshake error.)

Fixes #7414.

LGTM=bradfitz, r
R=golang-codereviews, r, bradfitz
CC=golang-codereviews
https://golang.org/cl/69090044

11 years agotest/run: add /usr/pkg/bin to PATH.
Shenghou Ma [Mon, 3 Mar 2014 07:16:15 +0000 (02:16 -0500)]
test/run: add /usr/pkg/bin to PATH.
perl is installed by pkgsrc to /usr/pkg/bin.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/70630043

11 years agocmd/ld: fix warning on Plan 9
David du Colombier [Mon, 3 Mar 2014 07:14:27 +0000 (08:14 +0100)]
cmd/ld: fix warning on Plan 9

warning: src/cmd/ld/pcln.c:184 more arguments than format INT

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/69870047

11 years agonet/http: add Client.Timeout for end-to-end timeouts
Brad Fitzpatrick [Mon, 3 Mar 2014 04:39:20 +0000 (20:39 -0800)]
net/http: add Client.Timeout for end-to-end timeouts

Fixes #3362

LGTM=josharian
R=golang-codereviews, josharian
CC=adg, dsymonds, golang-codereviews, n13m3y3r
https://golang.org/cl/70120045

11 years agotag go1.2.1
Andrew Gerrand [Mon, 3 Mar 2014 02:22:13 +0000 (13:22 +1100)]
tag go1.2.1

LGTM=r
R=minux.ma, r
CC=golang-codereviews
https://golang.org/cl/70660043

11 years agomisc/makerelease: use windows installer resources from local goroot
Andrew Gerrand [Mon, 3 Mar 2014 01:50:29 +0000 (12:50 +1100)]
misc/makerelease: use windows installer resources from local goroot

This broke when we renamed the tool, and I missed this fix when I
fixed darwin last week.

LGTM=minux.ma, bradfitz
R=golang-codereviews, minux.ma, bradfitz
CC=golang-codereviews
https://golang.org/cl/70670043

11 years agodoc: document Go 1.2.1
Andrew Gerrand [Mon, 3 Mar 2014 00:26:18 +0000 (11:26 +1100)]
doc: document Go 1.2.1

LGTM=minux.ma
R=golang-codereviews, minux.ma
CC=golang-codereviews
https://golang.org/cl/69970047

11 years agonet: remove the dreg of solaris merge
Mikio Hara [Sun, 2 Mar 2014 22:09:28 +0000 (07:09 +0900)]
net: remove the dreg of solaris merge

Also enables netgo test on solaris.

LGTM=aram, jsing
R=golang-codereviews, dave, aram, jsing
CC=golang-codereviews
https://golang.org/cl/70300043

11 years agoruntime: make SIGSYS notifiable on FreeBSD
Mikio Hara [Sun, 2 Mar 2014 22:08:44 +0000 (07:08 +0900)]
runtime: make SIGSYS notifiable on FreeBSD

Update #7186

LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/70490043

11 years agonet/http: ensure ConnState for StateNew fires before Server.Serve returns
Richard Crowley [Sun, 2 Mar 2014 04:32:42 +0000 (20:32 -0800)]
net/http: ensure ConnState for StateNew fires before Server.Serve returns

The addition of Server.ConnState provides all the necessary
hooks to stop a Server gracefully, but StateNew previously
could fire concurrently with Serve exiting (as it does when
its net.Listener is closed). This previously meant one
couldn't use a WaitGroup incremented in the StateNew hook
along with calling Wait after Serve. Now you can.

Update #4674

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/70410044

11 years agoA+C: Richard Crowley (individual CLA)
Brad Fitzpatrick [Sun, 2 Mar 2014 04:26:38 +0000 (20:26 -0800)]
A+C: Richard Crowley (individual CLA)

Generated by addca.

R=gobot
CC=golang-codereviews
https://golang.org/cl/70470043

11 years agosyscall: workaround Dragonfly BSD kernel exec bug
Shenghou Ma [Sat, 1 Mar 2014 23:56:50 +0000 (18:56 -0500)]
syscall: workaround Dragonfly BSD kernel exec bug
See also CL 4259056 for FreeBSD.

Test program:
// exec.go
package main
import (
        "log"
        "os"
        "os/exec"
        "runtime"
)
func main() {
        path := runtime.GOROOT() + "/src/pkg/net/http/cgi/testdata"
        cmd := &exec.Cmd{
                Path:   "test.cgi",
                Args:   []string{path + "/test.cgi"},
                Dir:    path
                Stdout: os.Stdout}
        if err := cmd.Start(); err != nil {
                log.Fatal(err)
        }
        if err := cmd.Wait(); err != nil {
                log.Fatal(err)
        }
}

$ go run exec.go
2014/03/01 15:52:41 fork/exec test.cgi: argument list too long

LGTM=iant
R=rsc, iant
CC=golang-codereviews
https://golang.org/cl/69970044

11 years agosync/atomic: skip broken tests on freebsd/arm and netbsd/arm
Dave Cheney [Sat, 1 Mar 2014 21:30:45 +0000 (08:30 +1100)]
sync/atomic: skip broken tests on freebsd/arm and netbsd/arm

Update #7338

The nil deref tests are currently failing on the *bsd/arm platforms. In an effort to avoid the build deteriorating further I would like to skip these tests on freebsd/arm and netbsd/arm.

LGTM=bradfitz, minux.ma
R=golang-codereviews, bradfitz, minux.ma
CC=golang-codereviews
https://golang.org/cl/69870045

11 years agoruntime: small Native Client fixes
Dave Cheney [Sat, 1 Mar 2014 00:13:29 +0000 (11:13 +1100)]
runtime: small Native Client fixes

cgocall.c: define the CBARGS macro for GOARCH_amd64p32. I don't think the value of this macro will ever be used under nacl/amd64p32 but it is required to compile even if cgo is not used.

hashmap.goc: amd64p32 uses 32bit words.

LGTM=iant
R=rsc, iant
CC=golang-codereviews
https://golang.org/cl/69960044

11 years agodoc: add more go1.3.txt items, sort.
Brad Fitzpatrick [Fri, 28 Feb 2014 22:17:33 +0000 (14:17 -0800)]
doc: add more go1.3.txt items, sort.

LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/70120044

11 years agonet/http: de-flake ConnState test
Brad Fitzpatrick [Fri, 28 Feb 2014 21:27:36 +0000 (13:27 -0800)]
net/http: de-flake ConnState test

LGTM=josharian
R=golang-codereviews, josharian
CC=golang-codereviews
https://golang.org/cl/70270043

11 years agonet/http: add Server.ErrorLog; log and test TLS handshake errors
Brad Fitzpatrick [Fri, 28 Feb 2014 20:12:51 +0000 (12:12 -0800)]
net/http: add Server.ErrorLog; log and test TLS handshake errors

Fixes #7291

LGTM=agl
R=golang-codereviews, agl
CC=agl, golang-codereviews
https://golang.org/cl/70250044

11 years agocmd/ld: fix misgenerated pcln file numbers
Josh Bleecher Snyder [Fri, 28 Feb 2014 19:08:32 +0000 (11:08 -0800)]
cmd/ld: fix misgenerated pcln file numbers

The pcln file number was being encoded incorrectly. The recorded delta was always against -1, not against the previous value.

Update #7369

This CL fixes the bad DWARF file numbers. It does not, however, fix the gdb continue-to-end bug.

LGTM=iant
R=rsc, minux.ma, iant
CC=golang-codereviews, graham
https://golang.org/cl/68960046

11 years agoos: don't allow Process.Kill after Process.Release
Brad Fitzpatrick [Fri, 28 Feb 2014 16:31:12 +0000 (08:31 -0800)]
os: don't allow Process.Kill after Process.Release

This is a user error, but killing -1 kills everything, which
is a pretty bad failure mode.

Fixes #7434

LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/70140043

11 years agonet/http: add Server.SetKeepAlivesEnabled
Brad Fitzpatrick [Fri, 28 Feb 2014 15:40:25 +0000 (07:40 -0800)]
net/http: add Server.SetKeepAlivesEnabled

Part of graceful shutdown.

Update #4674

LGTM=adg, josharian
R=adg, josharian, r
CC=golang-codereviews
https://golang.org/cl/69670043

11 years agocrypto/tls: add DialWithDialer.
Adam Langley [Fri, 28 Feb 2014 14:40:12 +0000 (09:40 -0500)]
crypto/tls: add DialWithDialer.

While reviewing uses of the lower-level Client API in code, I found
that in many cases, code was using Client only because it needed a
timeout on the connection. DialWithDialer allows a timeout (and
 other values) to be specified without resorting to the low-level API.

LGTM=r
R=golang-codereviews, r, bradfitz
CC=golang-codereviews
https://golang.org/cl/68920045

11 years agocmd/dist: add missing Native Client bits
Dave Cheney [Fri, 28 Feb 2014 10:45:12 +0000 (21:45 +1100)]
cmd/dist: add missing Native Client bits

Some parts of CL 15400047 didn't survive the merge.

LGTM=rsc
R=rsc, iant
CC=golang-codereviews
https://golang.org/cl/69870044

11 years agoimage/jpeg: return a FormatError when hitting an unexpected io.EOF
Nigel Tao [Fri, 28 Feb 2014 04:18:35 +0000 (15:18 +1100)]
image/jpeg: return a FormatError when hitting an unexpected io.EOF
inside Huffman-encoded data.

Fixes #6450.

LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/69830043

11 years agodebug/macho: Define CPU constants for other common architectures for OS X/iOS.
Robert Sesek [Fri, 28 Feb 2014 03:11:03 +0000 (19:11 -0800)]
debug/macho: Define CPU constants for other common architectures for OS X/iOS.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/69100045

11 years agonet/http: add optional Server.ConnState callback
Brad Fitzpatrick [Fri, 28 Feb 2014 02:29:00 +0000 (18:29 -0800)]
net/http: add optional Server.ConnState callback

Update #4674

This allows for all sorts of graceful shutdown policies,
without picking a policy (e.g. lameduck period) and without
adding lots of locking to the server core. That policy and
locking can be implemented outside of net/http now.

LGTM=adg
R=golang-codereviews, josharian, r, adg, dvyukov
CC=golang-codereviews
https://golang.org/cl/69260044

11 years agoall: final merge of NaCl tree
Russ Cox [Fri, 28 Feb 2014 01:37:00 +0000 (20:37 -0500)]
all: final merge of NaCl tree

This CL replays the following one CL from the rsc-go13nacl repo.
This is the last replay CL: after this CL the main repo will have
everything the rsc-go13nacl repo did. Changes made to the main
repo after the rsc-go13nacl repo branched off probably mean that
NaCl doesn't actually work after this CL, but all the code is now moved
over and just needs to be redebugged.

---
cmd/6l, cmd/8l, cmd/ld: support for Native Client

See golang.org/s/go13nacl for design overview.

This CL is publicly visible but not CC'ed to golang-dev,
to avoid distracting from the preparation of the Go 1.2
release.

This CL and the others will be checked into my rsc-go13nacl
clone repo for now, and I will send CLs against the main
repo early in the Go 1.3 development.

R≡khr
https://golang.org/cl/15750044
---

LGTM=bradfitz, dave, iant
R=dave, bradfitz, iant
CC=golang-codereviews
https://golang.org/cl/69040044

11 years agogo/misc/makerelease: pin go-tour repo to a specific revision
Andrew Gerrand [Fri, 28 Feb 2014 00:09:26 +0000 (11:09 +1100)]
go/misc/makerelease: pin go-tour repo to a specific revision

We're about to commit some wide-sweeping changes to the go-tour and I
would rather not include them in Go 1.2.1, which is due in the next
week or so.

Also fix the makerelease tool; it has been broken since it was
renamed from bindist.

LGTM=campoy
R=campoy
CC=golang-codereviews
https://golang.org/cl/68780043

11 years agoimage/jpeg: fix progressive decoding when the DC components are split
Nigel Tao [Thu, 27 Feb 2014 23:37:21 +0000 (10:37 +1100)]
image/jpeg: fix progressive decoding when the DC components are split
over multiple scans. Previously, the Go code assumed that DC was
synonymous with interleaved and AC with non-interleaved.

Fixes #6767.

The test files were generated with libjpeg's cjpeg program, version 9a,
with the following patch, since cjpeg is hard-coded to output
interleaved DC.

$ diff -u jpeg-9a*/jcparam.c
--- jpeg-9a-clean/jcparam.c 2013-07-01 21:13:28.000000000 +1000
+++ jpeg-9a/jcparam.c 2014-02-27 11:40:41.236889852 +1100
@@ -572,7 +572,7 @@
 {
   int ci;

-  if (ncomps <= MAX_COMPS_IN_SCAN) {
+  if (0) {
         /* Single interleaved DC scan */
         scanptr->comps_in_scan = ncomps;
         for (ci = 0; ci < ncomps; ci++)
@@ -610,7 +610,7 @@
           (cinfo->jpeg_color_space == JCS_YCbCr ||
                cinfo->jpeg_color_space == JCS_BG_YCC)) {
         /* Custom script for YCC color images. */
-    nscans = 10;
+    nscans = 14;
   } else {
         /* All-purpose script for other color spaces. */
         if (ncomps > MAX_COMPS_IN_SCAN)

LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/69000046

11 years agoruntime: move stack shrinking until after sweepgen is incremented.
Keith Randall [Thu, 27 Feb 2014 22:20:15 +0000 (14:20 -0800)]
runtime: move stack shrinking until after sweepgen is incremented.

Before GC, we flush all the per-P allocation caches.  Doing
stack shrinking mid-GC causes these caches to fill up.  At the
end of gc, the sweepgen is incremented which causes all of the
data in these caches to be in a bad state (cached but not yet
swept).

Move the stack shrinking until after sweepgen is incremented,
so any caching that happens as part of shrinking is done with
already-swept data.

Reenable stack copying.

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/69620043

11 years agosyscall: add some paranoia in Linux's Accept4
Brad Fitzpatrick [Thu, 27 Feb 2014 22:16:47 +0000 (14:16 -0800)]
syscall: add some paranoia in Linux's Accept4

Fixes #7428

LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/69530044

11 years agonet/http: make Transport.CancelRequest work for requests blocked in a dial
Brad Fitzpatrick [Thu, 27 Feb 2014 21:32:40 +0000 (13:32 -0800)]
net/http: make Transport.CancelRequest work for requests blocked in a dial

Fixes #6951

LGTM=josharian
R=golang-codereviews, josharian
CC=golang-codereviews
https://golang.org/cl/69280043

11 years agogo/printer: measure lines/construct in generated output rather than incoming source
Robert Griesemer [Thu, 27 Feb 2014 19:35:53 +0000 (11:35 -0800)]
go/printer: measure lines/construct in generated output rather than incoming source

No change to $GOROOT/src, misc formatting.

Nice side-effect: almost 3% faster runs because it's much faster to compute
line number differences in the generated output than the incoming source.

Benchmark run, best of 5 runs, before and after:
BenchmarkPrint      200   12347587 ns/op
BenchmarkPrint      200   11999061 ns/op

Fixes #4504.

LGTM=adonovan
R=golang-codereviews, adonovan
CC=golang-codereviews
https://golang.org/cl/69260045

11 years agobufio: in Reader.WriteTo, try to use target's ReaderFrom
Brad Fitzpatrick [Thu, 27 Feb 2014 18:48:36 +0000 (10:48 -0800)]
bufio: in Reader.WriteTo, try to use target's ReaderFrom

This is the simple half of https://golang.org/cl/53560043/ with
a new benchmark. pongad is in the C+A files already.

benchmark                         old ns/op     new ns/op     delta
BenchmarkReaderWriteToOptimal     2054          825           -59.83%

Update #6373

LGTM=iant, gri
R=golang-codereviews, iant, gri
CC=golang-codereviews
https://golang.org/cl/69220046

11 years agosyscall: add mlock, munlock, mlockall, munlockall and mprotect to OSX
William Orr [Thu, 27 Feb 2014 18:13:41 +0000 (10:13 -0800)]
syscall: add mlock, munlock, mlockall, munlockall and mprotect to OSX

Fixes #7415

LGTM=bradfitz
R=bradfitz, iant
CC=golang-codereviews
https://golang.org/cl/68980043

11 years agoA+C: Graham King (individual CLA)
Brad Fitzpatrick [Thu, 27 Feb 2014 17:35:06 +0000 (09:35 -0800)]
A+C: Graham King (individual CLA)

Generated by addca.

R=gobot
CC=golang-codereviews
https://golang.org/cl/68930047

11 years agocmd/gofmt: minor internal cleanups
Robert Griesemer [Thu, 27 Feb 2014 17:00:27 +0000 (09:00 -0800)]
cmd/gofmt: minor internal cleanups

Reflect changes of reflect API.

LGTM=r
R=golang-codereviews, r
CC=golang-codereviews
https://golang.org/cl/69240044

11 years agospec: slightly rephrased wording on parsing ambiguity for composite literals
Robert Griesemer [Thu, 27 Feb 2014 16:57:30 +0000 (08:57 -0800)]
spec: slightly rephrased wording on parsing ambiguity for composite literals

Fixes #4482.

LGTM=r
R=r, iant, rsc, ken
CC=golang-codereviews
https://golang.org/cl/69020045

11 years agoruntime: fix and improve comments
Dmitriy Vyukov [Thu, 27 Feb 2014 16:27:55 +0000 (20:27 +0400)]
runtime: fix and improve comments

LGTM=r
R=golang-codereviews, r
CC=golang-codereviews, iant, khr, rsc
https://golang.org/cl/67460043

11 years agoruntime: disable TestSetPanicOnFault for dragonfly/386
Joel Sing [Thu, 27 Feb 2014 16:26:26 +0000 (03:26 +1100)]
runtime: disable TestSetPanicOnFault for dragonfly/386

This test currently deadlocks on dragonfly/386.

Update #7421

LGTM=minux.ma
R=golang-codereviews, minux.ma
CC=golang-codereviews
https://golang.org/cl/69380043

11 years agoruntime: disable stack copying
Keith Randall [Thu, 27 Feb 2014 09:45:22 +0000 (01:45 -0800)]
runtime: disable stack copying
TBR=dvyukov

TBR=dvyukov
CC=golang-codereviews
https://golang.org/cl/69080045

11 years agoruntime: fix build on Plan 9
David du Colombier [Thu, 27 Feb 2014 08:22:02 +0000 (09:22 +0100)]
runtime: fix build on Plan 9

warning: src/pkg/runtime/mem_plan9.c:72 param declared and not used: n
src/pkg/runtime/mem_plan9.c:73 name not declared: nbytes
src/pkg/runtime/mem_plan9.c:73 bad in naddr: NAME nbytes<>+0(SB)

LGTM=minux.ma, bradfitz
R=khr, minux.ma, bradfitz
CC=golang-codereviews
https://golang.org/cl/69360043

11 years agoruntime: grow stack by copying
Keith Randall [Thu, 27 Feb 2014 07:28:44 +0000 (23:28 -0800)]
runtime: grow stack by copying

On stack overflow, if all frames on the stack are
copyable, we copy the frames to a new stack twice
as large as the old one.  During GC, if a G is using
less than 1/4 of its stack, copy the stack to a stack
half its size.

TODO
- Do something about C frames.  When a C frame is in the
  stack segment, it isn't copyable.  We allocate a new segment
  in this case.
  - For idempotent C code, we can abort it, copy the stack,
    then retry.  I'm working on a separate CL for this.
  - For other C code, we can raise the stackguard
    to the lowest Go frame so the next call that Go frame
    makes triggers a copy, which will then succeed.
- Pick a starting stack size?

The plan is that eventually we reach a point where the
stack contains only copyable frames.

LGTM=rsc
R=dvyukov, rsc
CC=golang-codereviews
https://golang.org/cl/54650044

11 years agocmd/gc: do not nop-convert equivalent but different interface types.
Rémy Oudompheng [Thu, 27 Feb 2014 07:07:50 +0000 (08:07 +0100)]
cmd/gc: do not nop-convert equivalent but different interface types.

The cached computed interface tables are indexed by the interface
types, not by the unnamed underlying interfaces

To preserve the invariants expected by interface comparison, an
itab generated for an interface type must not be used for a value
of a different interface type even if the representation is identical.

Fixes #7207.

LGTM=rsc
R=rsc, iant, khr
CC=golang-codereviews
https://golang.org/cl/69210044

11 years agoA+C: William Orr (individual CLA)
Brad Fitzpatrick [Thu, 27 Feb 2014 04:44:45 +0000 (20:44 -0800)]
A+C: William Orr (individual CLA)

Generated by addca. Manually added gmail address.

LGTM=dsymonds
R=golang-codereviews
CC=adg, dsymonds, golang-codereviews
https://golang.org/cl/69240045

11 years agoruntime: use monotonic clock for timers on dragonfly.
Shenghou Ma [Thu, 27 Feb 2014 04:15:34 +0000 (23:15 -0500)]
runtime: use monotonic clock for timers on dragonfly.
Update #6007

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/69040045

11 years agoruntime: get rid of the settype buffer and lock.
Keith Randall [Wed, 26 Feb 2014 23:52:58 +0000 (15:52 -0800)]
runtime: get rid of the settype buffer and lock.

MCaches now hold a MSpan for each sizeclass which they have
exclusive access to allocate from, so no lock is needed.

Modifying the heap bitmaps also no longer requires a cas.

runtime.free gets more expensive.  But we don't use it
much any more.

It's not much faster on 1 processor, but it's a lot
faster on multiple processors.

benchmark                 old ns/op    new ns/op    delta
BenchmarkSetTypeNoPtr1           24           23   -0.42%
BenchmarkSetTypeNoPtr2           33           34   +0.89%
BenchmarkSetTypePtr1             51           49   -3.72%
BenchmarkSetTypePtr2             55           54   -1.98%

benchmark                old ns/op    new ns/op    delta
BenchmarkAllocation          52739        50770   -3.73%
BenchmarkAllocation-2        33957        34141   +0.54%
BenchmarkAllocation-3        33326        29015  -12.94%
BenchmarkAllocation-4        38105        25795  -32.31%
BenchmarkAllocation-5        68055        24409  -64.13%
BenchmarkAllocation-6        71544        23488  -67.17%
BenchmarkAllocation-7        68374        23041  -66.30%
BenchmarkAllocation-8        70117        20758  -70.40%

LGTM=rsc, dvyukov
R=dvyukov, bradfitz, khr, rsc
CC=golang-codereviews
https://golang.org/cl/46810043

11 years agogo/printer: refine handling of one-line functions
Robert Griesemer [Wed, 26 Feb 2014 21:39:49 +0000 (13:39 -0800)]
go/printer: refine handling of one-line functions

Functions that "fit" on one line and were on one
line in the original source are not broken up into
two lines anymore simply because they contain a comment.

- Fine-tuned use of separating blanks after /*-style comments, so:

( /* extra blank after this comment */ )
(a int /* no extra blank after this comment*/)

- Factored out comment state (from printer state) into commentInfo.
- No impact on $GOROOT/src, misc formatting.

Fixes #5543.

LGTM=r
R=golang-codereviews, r
CC=golang-codereviews
https://golang.org/cl/68630043

11 years agocmd/gc: fix bad checknil with ints on 32 bit compilers
Josh Bleecher Snyder [Wed, 26 Feb 2014 20:25:13 +0000 (12:25 -0800)]
cmd/gc: fix bad checknil with ints on 32 bit compilers

Fixes #7413.

LGTM=rsc
R=remyoudompheng
CC=golang-codereviews, r, rsc
https://golang.org/cl/69180044

11 years agocmd/5a, cmd/5c, cmd/6a, cmd/6c, cmd/8a, cmd/8c, cmd/cc: support for Native Client
Dave Cheney [Wed, 26 Feb 2014 19:57:06 +0000 (06:57 +1100)]
cmd/5a, cmd/5c, cmd/6a, cmd/6c, cmd/8a, cmd/8c, cmd/cc: support for Native Client

From the original description in CL 15770043

The main change here is to consult $GOARCH.

In 6c, when GOOS=nacl, some of the more complex addressing modes must be disabled, and the BP and R15 registers must not be used.

See golang.org/s/go13nacl for design overview.

LGTM=rsc
R=golang-codereviews, gobot, rsc
CC=golang-codereviews
https://golang.org/cl/69020044

11 years agocmd/gc: minor code simplification
Ian Lance Taylor [Wed, 26 Feb 2014 18:51:00 +0000 (10:51 -0800)]
cmd/gc: minor code simplification

LGTM=r
R=golang-codereviews, r
CC=golang-codereviews
https://golang.org/cl/68980044

11 years agogo/parser: report error if ParseExpr argument contains extra tokens
Robert Griesemer [Wed, 26 Feb 2014 17:54:01 +0000 (09:54 -0800)]
go/parser: report error if ParseExpr argument contains extra tokens

This partly addresses issue 6099 where a gofmt rewrite is behaving
unexpectedly because the provided rewrite term is not a valid expression
but is silently consumed anyway.

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/68920044

11 years agoruntime, net: fixes from CL 68490043 review
Russ Cox [Wed, 26 Feb 2014 17:21:31 +0000 (12:21 -0500)]
runtime, net: fixes from CL 68490043 review

These are mistakes in the first big NaCl CL.

LGTM=minux.ma, iant
R=golang-codereviews, minux.ma, iant
CC=golang-codereviews
https://golang.org/cl/69200043

11 years agoruntime: remove unnecessary cast in alg.goc
Ian Lance Taylor [Wed, 26 Feb 2014 16:28:26 +0000 (08:28 -0800)]
runtime: remove unnecessary cast in alg.goc

LGTM=dave
R=golang-codereviews, dave
CC=golang-codereviews
https://golang.org/cl/68650045

11 years agoinclude: fix comment in link.h
Ian Lance Taylor [Wed, 26 Feb 2014 15:38:13 +0000 (07:38 -0800)]
include: fix comment in link.h

LGTM=dave, rsc
R=rsc, dave
CC=golang-codereviews
https://golang.org/cl/68960044

11 years agocmd/6g, cmd/8g: simplify calls to gvardef
Ian Lance Taylor [Wed, 26 Feb 2014 15:37:10 +0000 (07:37 -0800)]
cmd/6g, cmd/8g: simplify calls to gvardef

The gvardef function does nothing if n->class == PEXTERN, so
we don't need to test for that before calling it.  This makes
the 6g/8g code more like the 5g code and clarifies that the
cases that do not test for n->class != PEXTERN are not buggy.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/68900044

11 years agoruntime: use monotonic clock for openbsd/386 and openbsd/amd64 timers
Joel Sing [Wed, 26 Feb 2014 02:20:36 +0000 (13:20 +1100)]
runtime: use monotonic clock for openbsd/386 and openbsd/amd64 timers

Switch nanotime to a monotonic clock on openbsd/386 and openbsd/amd64.
Also use a monotonic clock when for thrsleep, since the sleep duration
is based on the value returned from nanotime.

Update #6007

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/68460044

11 years agocmd/go: remove 'go tool benchcmp' and corresponding special case
Andrew Gerrand [Wed, 26 Feb 2014 02:04:39 +0000 (13:04 +1100)]
cmd/go: remove 'go tool benchcmp' and corresponding special case

See the discussion on the original CL for context:
        https://golang.org/cl/60100043/

LGTM=josharian
R=r, josharian
CC=golang-codereviews
https://golang.org/cl/68890043

11 years agolib9/utf: bring C environment up to Unicode 6.3.0
Rob Pike [Wed, 26 Feb 2014 01:49:32 +0000 (17:49 -0800)]
lib9/utf: bring C environment up to Unicode 6.3.0

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/68820043

11 years agonet: clean the dregs of NaCL merge
Mikio Hara [Wed, 26 Feb 2014 01:20:49 +0000 (10:20 +0900)]
net: clean the dregs of NaCL merge

LGTM=iant, aram, dave
R=golang-codereviews, iant, aram, dave
CC=golang-codereviews
https://golang.org/cl/68770044

11 years agoruntime: use monotonic clock for timers on freebsd/amd64,386,arm
Mikio Hara [Wed, 26 Feb 2014 01:19:51 +0000 (10:19 +0900)]
runtime: use monotonic clock for timers on freebsd/amd64,386,arm

For now we don't use CLOCK_MONOTONIC_FAST instead because
it's not supported on prior to 9-STABLE.

Update #6007

LGTM=minux.ma
R=golang-codereviews, minux.ma, bradfitz
CC=golang-codereviews
https://golang.org/cl/68690043

11 years ago5g, 8g: remove dead code
Josh Bleecher Snyder [Tue, 25 Feb 2014 22:43:53 +0000 (14:43 -0800)]
5g, 8g: remove dead code

maxstksize is superfluous and appears to be vestigial. 6g does not use it.

c >= 4 cannot occur; c = w % 4.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/68750043

11 years agospec: libraries and implementation are now at Unicode 6.3
Rob Pike [Tue, 25 Feb 2014 22:15:49 +0000 (14:15 -0800)]
spec: libraries and implementation are now at Unicode 6.3

LGTM=gri
R=gri
CC=golang-codereviews
https://golang.org/cl/68760043

11 years agoall: nacl import round 2
Russ Cox [Tue, 25 Feb 2014 22:00:08 +0000 (17:00 -0500)]
all: nacl import round 2

These previously reviewed CLs are present in this CL.

---
changeset:   18445:436bb084caed
user:        Russ Cox <rsc@golang.org>
date:        Mon Nov 11 09:50:34 2013 -0500
description:
runtime: assembly and system calls for Native Client x86-64

See golang.org/s/go13nacl for design overview.

This CL is publicly visible but not CC'ed to golang-dev,
to avoid distracting from the preparation of the Go 1.2
release.

This CL and the others will be checked into my rsc-go13nacl
clone repo for now, and I will send CLs against the main
repo early in the Go 1.3 development.

R≡adg
https://golang.org/cl/15760044

---
changeset:   18448:90bd871b5994
user:        Russ Cox <rsc@golang.org>
date:        Mon Nov 11 09:51:36 2013 -0500
description:
runtime: amd64p32 and Native Client assembly bootstrap

See golang.org/s/go13nacl for design overview.

This CL is publicly visible but not CC'ed to golang-dev,
to avoid distracting from the preparation of the Go 1.2
release.

This CL and the others will be checked into my rsc-go13nacl
clone repo for now, and I will send CLs against the main
repo early in the Go 1.3 development.

R≡khr
https://golang.org/cl/15820043

---
changeset:   18449:b011c3dc687e
user:        Russ Cox <rsc@golang.org>
date:        Mon Nov 11 09:51:58 2013 -0500
description:
math: amd64p32 assembly routines

These routines only manipulate float64 values,
so the amd64 and amd64p32 can share assembly.

The large number of files is symptomatic of a problem
with package path: it is a Go package structured like a C library.
But that will need to wait for another day.

See golang.org/s/go13nacl for design overview.

This CL is publicly visible but not CC'ed to golang-dev,
to avoid distracting from the preparation of the Go 1.2
release.

This CL and the others will be checked into my rsc-go13nacl
clone repo for now, and I will send CLs against the main
repo early in the Go 1.3 development.

R≡bradfitz
https://golang.org/cl/15870043

---
changeset:   18450:43234f082eec
user:        Russ Cox <rsc@golang.org>
date:        Mon Nov 11 10:03:19 2013 -0500
description:
syscall: networking for Native Client

See golang.org/s/go13nacl for design overview.

This CL is publicly visible but not CC'ed to golang-dev,
to avoid distracting from the preparation of the Go 1.2
release.

This CL and the others will be checked into my rsc-go13nacl
clone repo for now, and I will send CLs against the main
repo early in the Go 1.3 development.

R≡rsc
https://golang.org/cl/15780043

---
changeset:   18451:9c8d1d890aaa
user:        Russ Cox <rsc@golang.org>
date:        Mon Nov 11 10:03:34 2013 -0500
description:
runtime: assembly and system calls for Native Client x86-32

See golang.org/s/go13nacl for design overview.

This CL is publicly visible but not CC'ed to golang-dev,
to avoid distracting from the preparation of the Go 1.2
release.

This CL and the others will be checked into my rsc-go13nacl
clone repo for now, and I will send CLs against the main
repo early in the Go 1.3 development.

R≡rsc
https://golang.org/cl/15800043

---
changeset:   18452:f90b1dd9228f
user:        Russ Cox <rsc@golang.org>
date:        Mon Nov 11 11:04:09 2013 -0500
description:
runtime: fix frame size for linux/amd64 runtime.raise

R≡rsc
https://golang.org/cl/24480043

---
changeset:   18445:436bb084caed
user:        Russ Cox <rsc@golang.org>
date:        Mon Nov 11 09:50:34 2013 -0500
description:
runtime: assembly and system calls for Native Client x86-64

See golang.org/s/go13nacl for design overview.

This CL is publicly visible but not CC'ed to golang-dev,
to avoid distracting from the preparation of the Go 1.2
release.

This CL and the others will be checked into my rsc-go13nacl
clone repo for now, and I will send CLs against the main
repo early in the Go 1.3 development.

R≡adg
https://golang.org/cl/15760044

---
changeset:   18455:53b06799a938
user:        Russ Cox <rsc@golang.org>
date:        Mon Nov 11 23:29:52 2013 -0500
description:
cmd/gc: add -nolocalimports flag

R≡dsymonds
https://golang.org/cl/24990043

---
changeset:   18456:24f64e1eaa8a
user:        Russ Cox <rsc@golang.org>
date:        Tue Nov 12 22:06:29 2013 -0500
description:
runtime: add comments for playback write

R≡adg
https://golang.org/cl/25190043

---
changeset:   18457:d1f615bbb6e4
user:        Russ Cox <rsc@golang.org>
date:        Wed Nov 13 17:03:52 2013 -0500
description:
runtime: write only to NaCl stdout, never to NaCl stderr

NaCl writes some other messages on standard error
that we would like to be able to squelch.

R≡adg
https://golang.org/cl/26240044

---
changeset:   18458:1f01be1a1dc2
tag:         tip
user:        Russ Cox <rsc@golang.org>
date:        Wed Nov 13 19:45:16 2013 -0500
description:
runtime: remove apparent debugging dreg

Setting timens to 0 turns off fake time.

TBR≡adg
https://golang.org/cl/26400043

LGTM=bradfitz
R=dave, bradfitz
CC=golang-codereviews
https://golang.org/cl/68730043

11 years agosyscall: fix solaris build
Dave Cheney [Tue, 25 Feb 2014 20:56:41 +0000 (07:56 +1100)]
syscall: fix solaris build

Solaris does not define syscall.{Mmap,Munmap}. Move the Mmap test to a new file and exclude solaris as discussed.

LGTM=aram
R=aram, mikioh.mikioh, iant
CC=golang-codereviews
https://golang.org/cl/68720043

11 years agoruntime: add prototype for panicdivide
Keith Randall [Tue, 25 Feb 2014 19:49:37 +0000 (11:49 -0800)]
runtime: add prototype for panicdivide

LGTM=bradfitz
R=golang-codereviews, bradfitz, khr
CC=golang-codereviews
https://golang.org/cl/68680043

11 years agocrypto/sha1: restore accidental removal of arm build tag
Brad Fitzpatrick [Tue, 25 Feb 2014 18:55:26 +0000 (10:55 -0800)]
crypto/sha1: restore accidental removal of arm build tag

Regression from https://golang.org/cl/68490043/diff/60001/src/pkg/crypto/sha1/sha1block_decl.go

Fixes arm build.

TBR=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/68080046

11 years agospec: clarify default "true" condition/tag in for/switch statements
Robert Griesemer [Tue, 25 Feb 2014 17:13:37 +0000 (09:13 -0800)]
spec: clarify default "true" condition/tag in for/switch statements

An absent condition/tag in for and switch statements is equivalent
to the predeclared constant true; not simply the expression true
(which might lead to a locally defined true).

Not a language change.

Fixes #7404.

LGTM=iant, r
R=r, iant, rsc, ken
CC=golang-codereviews
https://golang.org/cl/68150046

11 years agoruntime: fix 386, arm build
Russ Cox [Tue, 25 Feb 2014 16:31:09 +0000 (11:31 -0500)]
runtime: fix 386, arm build

CL 68150047 lost runtime.panicdivide.

TBR=dfc
CC=golang-codereviews
https://golang.org/cl/68610043

11 years agocmd/go: fix bug in remote package discovery
Russ Cox [Tue, 25 Feb 2014 16:22:22 +0000 (11:22 -0500)]
cmd/go: fix bug in remote package discovery

The parser was assuming it would find <body> or </head>.
If the entire response is just <meta> tags, it finds EOF and
treats that as an error. It's not.

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/68520044

11 years agonet/http: add Transport.TLSHandshakeTimeout; set it by default
Brad Fitzpatrick [Tue, 25 Feb 2014 16:08:15 +0000 (08:08 -0800)]
net/http: add Transport.TLSHandshakeTimeout; set it by default

Update #3362

LGTM=agl
R=agl
CC=golang-codereviews
https://golang.org/cl/68150045

11 years agodoc/go1.3: note a couple more crypto changes.
Adam Langley [Tue, 25 Feb 2014 15:54:09 +0000 (10:54 -0500)]
doc/go1.3: note a couple more crypto changes.

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/68600043

11 years agocmd/go: document new -exec flag on run/test
Russ Cox [Tue, 25 Feb 2014 15:22:27 +0000 (10:22 -0500)]
cmd/go: document new -exec flag on run/test

The new flag was added by CL 68150047 (part of the NaCl replay),
but the change, like the original, omitted documentation of the
new behavior.

LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/68580043

11 years agoall: merge NaCl branch (part 1)
Dave Cheney [Tue, 25 Feb 2014 14:47:42 +0000 (09:47 -0500)]
all: merge NaCl branch (part 1)

See golang.org/s/go13nacl for design overview.

This CL is the mostly mechanical changes from rsc's Go 1.2 based NaCl branch, specifically 39cb35750369 to 500771b477cf from https://code.google.com/r/rsc-go13nacl. This CL does not include working NaCl support, there are probably two or three more large merges to come.

CL 15750044 is not included as it involves more invasive changes to the linker which will need to be merged separately.

The exact change lists included are

15050047: syscall: support for Native Client
15360044: syscall: unzip implementation for Native Client
15370044: syscall: Native Client SRPC implementation
15400047: cmd/dist, cmd/go, go/build, test: support for Native Client
15410048: runtime: support for Native Client
15410049: syscall: file descriptor table for Native Client
15410050: syscall: in-memory file system for Native Client
15440048: all: update +build lines for Native Client port
15540045: cmd/6g, cmd/8g, cmd/gc: support for Native Client
15570045: os: support for Native Client
15680044: crypto/..., hash/crc32, reflect, sync/atomic: support for amd64p32
15690044: net: support for Native Client
15690048: runtime: support for fake time like on Go Playground
15690051: build: disable various tests on Native Client

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/68150047