]> Cypherpunks repositories - gostls13.git/log
gostls13.git
7 years agocmd/gofmt, go/printer: fix mis-alignment of comment on one-line function
Robert Griesemer [Fri, 16 Jun 2017 23:13:28 +0000 (16:13 -0700)]
cmd/gofmt, go/printer: fix mis-alignment of comment on one-line function

Fixes #19544.

Change-Id: I5df67383e9471f030ddafabadf2bc19ce6816f0f
Reviewed-on: https://go-review.googlesource.com/46002
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
7 years agoruntime: add read/write mutex type
Ian Lance Taylor [Thu, 15 Jun 2017 23:42:08 +0000 (16:42 -0700)]
runtime: add read/write mutex type

This is a runtime version of sync.RWMutex that can be used by code in
the runtime package. The type is not quite the same, in that the zero
value is not valid.

For future use by CL 43713.

Updates #19546

Change-Id: I431eb3688add16ce1274dab97285f555b72735bf
Reviewed-on: https://go-review.googlesource.com/45991
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
7 years agocmd/compile: permit Unicode spaces in (expanded) package paths
Robert Griesemer [Fri, 16 Jun 2017 21:48:38 +0000 (14:48 -0700)]
cmd/compile: permit Unicode spaces in (expanded) package paths

This doesn't change the existing restriction with disallows
spaces in import paths (as found in an import declaration).
It simply permits packages to be under a directory name that
may contain spaces.

Verified manually that it works. This could use a test, but the
change is trivial. We also can't use the existing test framework
(under test/) because the way those tests are run with test/run.go,
the mechanims for compiling a directory, even if it contains blanks
it its name, does't produce compiler paths with blanks
(the compilation is local).

Fixes #20306.

Change-Id: I6cbffb86c3394347897c3c94b110da0aadc5bfdf
Reviewed-on: https://go-review.googlesource.com/46001
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
7 years agodoc: website: changed link for cover
konstantin8105 [Sun, 18 Jun 2017 12:11:49 +0000 (15:11 +0300)]
doc: website: changed link for cover

Changed link for cover from x-tools to correct

Fix #20662

Change-Id: I9b839ed952e9abb12b3d1655ac4cf5976f374a4b
Reviewed-on: https://go-review.googlesource.com/46012
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agodoc: fix typo in Go 1.9 release notes
Kashav Madan [Sat, 17 Jun 2017 06:07:44 +0000 (02:07 -0400)]
doc: fix typo in Go 1.9 release notes

Change-Id: Ia5c8fcff000bf3d369d42407342c470ea92e18da
Reviewed-on: https://go-review.googlesource.com/46006
Reviewed-by: Alberto Donizetti <alb.donizetti@gmail.com>
7 years agoos: on OpenBSD implement Executable using Args[0]
Ian Lance Taylor [Sat, 17 Jun 2017 01:13:13 +0000 (18:13 -0700)]
os: on OpenBSD implement Executable using Args[0]

OpenBSD no longer has procfs.

Based on a patch by Matthieu Sarter.

Fixes #19453.

Change-Id: Ia09d16f8a1cbef2f8cc1c5f49e9c61ec7d026a40
Reviewed-on: https://go-review.googlesource.com/46004
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agodoc: fix description of Duration.Round
Heschi Kreinick [Fri, 16 Jun 2017 20:01:02 +0000 (16:01 -0400)]
doc: fix description of Duration.Round

Round doesn't always round away from zero.

Feel free to suggest better wording.

Change-Id: I52b3815013fff4c656ae8d861521c342bc4135b7
Reviewed-on: https://go-review.googlesource.com/46032
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agonet/http: update bundled http2
Brad Fitzpatrick [Fri, 16 Jun 2017 20:37:21 +0000 (20:37 +0000)]
net/http: update bundled http2

Updates http2 to x/net/http2 git rev 973f3f3 for:

   http2: make Transport treat http.NoBody like it were nil
   https://golang.org/cl/45993

Updates #18891

Change-Id: I846ccf286992ed2c6249014e51fdeb40b35e50ed
Reviewed-on: https://go-review.googlesource.com/46000
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agonet: don't forget about ongoing DNS lookup if context canceled
Ian Lance Taylor [Fri, 16 Jun 2017 18:48:09 +0000 (11:48 -0700)]
net: don't forget about ongoing DNS lookup if context canceled

Only forget about it if the context timed out, as the comment says.

Fixes #20703.

Change-Id: Ie6234f1a32f85e6bfd052dc24a33aa63b8883c37
Reviewed-on: https://go-review.googlesource.com/45999
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agoA+C: add a missing name
Brad Fitzpatrick [Fri, 16 Jun 2017 06:10:00 +0000 (06:10 +0000)]
A+C: add a missing name

Per email from acoshift.

Change-Id: Ieb79244d17623e112a385e6b43843d3ffb185cf6
Reviewed-on: https://go-review.googlesource.com/45995
Reviewed-by: Matt Layher <mdlayher@gmail.com>
7 years agodoc: note that Time.String changed in go1.9
Alberto Donizetti [Fri, 16 Jun 2017 12:40:34 +0000 (14:40 +0200)]
doc: note that Time.String changed in go1.9

Fixes #20702

Change-Id: Id90f08c33e3ccc37794b47fcd27f6c3f2f41c634
Reviewed-on: https://go-review.googlesource.com/46011
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agocmd/go: clarify test -run and -bench pattern matching
Russ Cox [Fri, 16 Jun 2017 15:16:37 +0000 (11:16 -0400)]
cmd/go: clarify test -run and -bench pattern matching

Make it clearer that -test=X/Y runs all the tests matching X,
even if they don't have sub-tests matching Y.

Fixes #20589.

Change-Id: Ic27e89e748d60f67b50c68445ec0480066bdf207
Reviewed-on: https://go-review.googlesource.com/46030
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoencoding: fix endless loop in TestDecoderBuffering
Mark Ryan [Fri, 16 Jun 2017 10:34:28 +0000 (11:34 +0100)]
encoding: fix endless loop in TestDecoderBuffering

The ascii85, base32 and base64 packages all contain a test called
TestDecoderBuffering.  Each of these tests contain a loop that ignores
the error returned from the Read method of their decoders.  The result
being that the tests loop for ever if the decoders actually return an
error.  This commit fixes the issue by terminating the loops if an error
occurs and failing the tests with a suitable error message.

Change-Id: Idb385673cf9f3f6f8befe4288b4be366ab0985fd
Reviewed-on: https://go-review.googlesource.com/46010
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agoimage/gif: fix writeImageBlock with SubImages
Jed Denlea [Thu, 15 Jun 2017 22:53:09 +0000 (15:53 -0700)]
image/gif: fix writeImageBlock with SubImages

If an image has been cropped horizontally, writeImageBlock detects that
its width and Stride differ and acts accordingly.

However, if an image has been cropped vertically, trimming from the
bottom, the whole original image will be written in place.  This results
in more data in the LZW stream than necessary, and many decoders
including image/gif's itself will fail to load.

Fixes #20692

Change-Id: Id332877e31bcf3729c89d8a50c1be0464028d82e
Reviewed-on: https://go-review.googlesource.com/45972
Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com>
Run-TryBot: Nigel Tao <nigeltao@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Nigel Tao <nigeltao@golang.org>
7 years agoA+C: automated update
Brad Fitzpatrick [Thu, 15 Jun 2017 23:18:14 +0000 (23:18 +0000)]
A+C: automated update

Add Adam Eijdenberg (individual CLA)
Add Agis Anastasopoulos (individual CLA)
Add Alexander Guz (individual CLA)
Add Alexander Kucherenko (individual CLA)
Add Alexander Polcyn (corporate CLA for Google Inc.)
Add Alexis Hildebrandt (individual CLA)
Add Alexis Hunt (corporate CLA for Google Inc.)
Add Andrew Jackura (corporate CLA for Google Inc.)
Add Anthony Voutas (individual CLA)
Add Antoine Martin (individual CLA)
Add Antonio Troina (individual CLA)
Add Bill Prin (corporate CLA for Google Inc.)
Add Brad Jones (corporate CLA for Google Inc.)
Add Chris Raynor (corporate CLA for Google Inc.)
Add Chris Roche (individual CLA)
Add Daker Fernandes Pinheiro (corporate CLA for Intel Corporation)
Add Dave MacFarlane (individual CLA)
Add Derek McGowan (individual CLA)
Add Di Xiao (corporate CLA for Google Inc.)
Add Doug Fawley (corporate CLA for Google Inc.)
Add Eric Chiang (individual CLA)
Add Eyal Posener (individual CLA)
Add Fabian Zaremba (individual CLA)
Add Fredrik Forsmo (individual CLA)
Add Hang Qian (individual CLA)
Add Hsin Tsao (corporate CLA for Google Inc.)
Add James Cowgill (individual CLA)
Add James Hartig (individual CLA)
Add James Myers (individual CLA)
Add Jason Chu (individual CLA)
Add Jay Conrod (corporate CLA for Google Inc.)
Add Jeff (Zhefu) Jiang (corporate CLA for Google Inc.)
Add Jeffrey H (individual CLA)
Add Jianing Yu (corporate CLA for Google Inc.)
Add Josh Deprez (individual CLA)
Add Julian Pastarmov (corporate CLA for Google Inc.)
Add Kai Trukenmüller (individual CLA)
Add Kim Yongbin (individual CLA)
Add Kodie Goodwin (individual CLA)
Add Lev Shamardin (individual CLA)
Add Lucas Bremgartner (individual CLA)
Add Ludi Rehak (individual CLA)
Add Lukasz Milewski (individual CLA)
Add Magnus Hiie (corporate CLA for Teleport Inc.)
Add Marko Mudrinic (individual CLA)
Add Martin Habbecke (corporate CLA for Google Inc.)
Add Martin Hoefling (individual CLA)
Add Martin Probst (individual CLA)
Add Masahiro Furudate (individual CLA)
Add Masahiro Wakame (individual CLA)
Add Masaki Yoshida (individual CLA)
Add Mathias Hall-Andersen (individual CLA)
Add Maxime de Roucy (individual CLA)
Add Nathan Humphreys (individual CLA)
Add Neuman Vong (individual CLA)
Add Pablo Lalloni (individual CLA)
Add Pavlo Sumkin (individual CLA)
Add Peter Morjan (individual CLA)
Add Piers (individual CLA)
Add Qiuxuan Zhu (individual CLA)
Add Richard Dingwall (individual CLA)
Add Rick Sayre (individual CLA)
Add Sascha Brawer (individual CLA)
Add Sergey Mishin (individual CLA)
Add Spencer Tung (corporate CLA for Google Inc.)
Add Steven Erenst (individual CLA)
Add Thomas Bouldin (corporate CLA for Google Inc.)
Add Tobias Klauser (individual CLA)
Add Tonis Tiigi (individual CLA)
Add Trung Nguyen (individual CLA)
Add Vikas Kedia (corporate CLA for Google Inc.)
Add Vladimir Varankin (individual CLA)
Add Yestin Sun (individual CLA)
Add acoshift (individual CLA)

Updates #12042

Change-Id: I5e3ba25f310fc89ae391e5abb308e137d56c9148
Reviewed-on: https://go-review.googlesource.com/45990
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet: handle spurious netpoll wakeups in connect
Ian Lance Taylor [Thu, 15 Jun 2017 02:55:40 +0000 (19:55 -0700)]
net: handle spurious netpoll wakeups in connect

In some cases the netpoll code can cause a spurious wakeup. This is
normally harmless, as the woken up code simply retries the operation.
However, for connect, the test we were using to see whether the
connect had succeeded (setsockopt(SO_ERROR)) was not reliable in the
case of a spurious wakeup.  Change to using a reliable test (getpeername).
On Darwin we used a different technique: a second call to connect;
change Darwin to use getpeername as well.

Return the result of getpeername to avoid having to call it twice.

Fixes #19289.

Change-Id: I119ec8e7a41f482f1e590d4c65a37f6103fa22d9
Reviewed-on: https://go-review.googlesource.com/45815
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agocmd/compile: fix crash in importer when running in debug mode
Robert Griesemer [Thu, 15 Jun 2017 22:05:03 +0000 (15:05 -0700)]
cmd/compile: fix crash in importer when running in debug mode

Verified by manually enabling debug mode and running make.bash.

Fixes #20684.

Change-Id: I041f2ca6ef1d4198815724d98f61511072d63581
Reviewed-on: https://go-review.googlesource.com/45971
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agocmd/compile: add regress test for #20682
Matthew Dempsky [Thu, 15 Jun 2017 21:47:05 +0000 (14:47 -0700)]
cmd/compile: add regress test for #20682

Minimal reconstruction of reported failure case.

Manually verified that test fails with CL 45911 reverted.

Change-Id: Ia5d11500d91b46ba1eb5d841db3987edb9136c39
Reviewed-on: https://go-review.googlesource.com/45970
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Robert Griesemer <gri@golang.org>
7 years agopath/filepath: fix TestGlobError
Dominik Honnef [Thu, 15 Jun 2017 20:18:24 +0000 (22:18 +0200)]
path/filepath: fix TestGlobError

Change-Id: I7776547332066e1d7651e9aa06eec301dfaf38bc
Reviewed-on: https://go-review.googlesource.com/45892
Reviewed-by: Rob Pike <r@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agocmd/compile: better error for malformed packages
Matthew Dempsky [Thu, 15 Jun 2017 20:52:13 +0000 (13:52 -0700)]
cmd/compile: better error for malformed packages

Fixes #14270.

Change-Id: Iaf2496a24b1aba443391b90951cef472add73f13
Reviewed-on: https://go-review.googlesource.com/45950
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agocmd/go: improve documentation on defaults for get
Marko Mudrinic [Thu, 15 Jun 2017 17:15:47 +0000 (19:15 +0200)]
cmd/go: improve documentation on defaults for get

The existing docs states that, get looks for a branch or tag
that matches the locally installed version of Go.
First, this is only working for "go1", so it could be confusing.
Second, "If no such version exists it retrieves the most recent
version of the package". It's more the default branch, by git defaults,
rather than most recent version.

This should address the potential unclear parts.

Fixes #20320

Change-Id: Id7d727d88dc350c9902974b64fa28c3766f7e245
Reviewed-on: https://go-review.googlesource.com/45890
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet/http: add a known goroutine, don't check goroutine leaks in benchmark mode
Brad Fitzpatrick [Thu, 15 Jun 2017 19:32:36 +0000 (19:32 +0000)]
net/http: add a known goroutine, don't check goroutine leaks in benchmark mode

Change-Id: I8aa070f8093e80ba19f0546d7447caf847a2b388
Reviewed-on: https://go-review.googlesource.com/45912
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agoRevert "cmd/compile: skip reexporting types in reexportdep"
Matthew Dempsky [Thu, 15 Jun 2017 17:47:57 +0000 (10:47 -0700)]
Revert "cmd/compile: skip reexporting types in reexportdep"

This reverts commit edad59cfae70d2bfb9cdf66e2492f9a1c1318ddc.

Fixes #20682.

Change-Id: If998c8b4bf177d5da9e26f75579bd5497ec86d38
Reviewed-on: https://go-review.googlesource.com/45911
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
7 years agodoc: fix typo in go1.9 release notes
Alberto Donizetti [Thu, 15 Jun 2017 18:02:44 +0000 (20:02 +0200)]
doc: fix typo in go1.9 release notes

Change-Id: I64d32fd308f2b7968dfaf11cdc85ab1952170868
Reviewed-on: https://go-review.googlesource.com/45891
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agodoc: mention that os package now uses poller
Ian Lance Taylor [Thu, 15 Jun 2017 17:29:34 +0000 (10:29 -0700)]
doc: mention that os package now uses poller

Updates #20587

Change-Id: I428d20bf8512ba859cc63c439bd5d92a5173fad2
Reviewed-on: https://go-review.googlesource.com/45910
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agonet/http: document SOCKS5 proxy support
Kale Blankenship [Thu, 15 Jun 2017 02:44:20 +0000 (19:44 -0700)]
net/http: document SOCKS5 proxy support

Fixes #20618

Change-Id: I90712bd76d9d47f29221bc298c69737ebee25c12
Reviewed-on: https://go-review.googlesource.com/45814
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoencoding: report correct line numbers in tests
Mark Ryan [Thu, 15 Jun 2017 10:22:48 +0000 (11:22 +0100)]
encoding: report correct line numbers in tests

Some of the _test.go files in the encoding packages contain a private
function called testEqual that calls testing.Errorf if the arguments
passed to it are unequal.   The line numbers output by such calls to
Errorf identify the failure as being in testEqual itself which is not
very useful.  This commit fixes the problem by adding a call to the
new t.Helper method in each of the testEqual functions.  The line
numbers output when errors do occur now identify the real source of
the error.

Change-Id: I582d1934f40ef2b788116c3811074c67ea882021
Reviewed-on: https://go-review.googlesource.com/45871
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agoruntime: enable GDB tests on mips64 (except TestGdbPythonCgo)
Vladimir Stefanovic [Thu, 15 Jun 2017 14:59:16 +0000 (16:59 +0200)]
runtime: enable GDB tests on mips64 (except TestGdbPythonCgo)

They were failing when run on 32bit RFS, with 32bit gdb.
(mips64 builder now has 64bit RFS, with gdb 7.9.)
Leaving TestGdbPythonCgo disabled, it behaves as described in #18784.

Fixes #18173

Change-Id: I3c438cd5850b7bfd118ac6396f40c1208bac8c2d
Reviewed-on: https://go-review.googlesource.com/45874
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agotesting: clarify -timeout flag
Kale Blankenship [Thu, 15 Jun 2017 03:11:21 +0000 (20:11 -0700)]
testing: clarify -timeout flag

Fixes #20090

Change-Id: I881607e55cd946a703e74a7d8ae2bbde67546510
Reviewed-on: https://go-review.googlesource.com/45816
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agodoc: fix typo in Go 1.9 release notes
Brad Fitzpatrick [Thu, 15 Jun 2017 02:17:31 +0000 (02:17 +0000)]
doc: fix typo in Go 1.9 release notes

Change-Id: I78443d5874a7667fbac78eac188d402227373da3
Reviewed-on: https://go-review.googlesource.com/45813
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agocmd/compile: fix exporting of function bodies
Matthew Dempsky [Thu, 15 Jun 2017 02:57:11 +0000 (19:57 -0700)]
cmd/compile: fix exporting of function bodies

Before CL 36170, we identified all function bodies that needed to be
exported before writing any export data.

With CL 36170, we started identifying additional functions while
exporting function bodies. As a consequence, we cannot use a
range-based for loop for iterating over function bodies anymore.

Fixes #18895.

Change-Id: I9cbefa8d311ca8c9898c8272b2ac365976b02396
Reviewed-on: https://go-review.googlesource.com/45817
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
7 years agoruntime: restore arm assembly stubs for div/mod
Keith Randall [Wed, 14 Jun 2017 18:36:36 +0000 (11:36 -0700)]
runtime: restore arm assembly stubs for div/mod

These are used by DIV[U] and MOD[U] assembly instructions.
Add a test in the stdlib so we actually exercise linking
to these routines.

Update #19507

Change-Id: I0d8e19a53e3744abc0c661ea95486f94ec67585e
Reviewed-on: https://go-review.googlesource.com/45703
Reviewed-by: Cherry Zhang <cherryyz@google.com>
7 years agocmd/pprof: restore printing descriptive errors from net/http/pprof endpoints
Kale Blankenship [Thu, 15 Jun 2017 00:39:03 +0000 (17:39 -0700)]
cmd/pprof: restore printing descriptive errors from net/http/pprof endpoints

Restores functionality added in https://golang.org/cl/35564/ which was
lost in https://golang.org/cl/36798/ by the addition of the custom
fetcher to src/cmd/pprof/pprof.go. The custom fetcher overrides the
upstream default.

Change-Id: Ic71e5e475d043276d916298ab5acb5c9b9ad063e
Reviewed-on: https://go-review.googlesource.com/45812
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agodoc: flesh out tools section in Go 1.9 release notes
Brad Fitzpatrick [Wed, 14 Jun 2017 23:53:20 +0000 (23:53 +0000)]
doc: flesh out tools section in Go 1.9 release notes

I thought I was almost done, but had forgot the tools section, hidden
in comments.

Move the comments to a <pre> block, so it's visible in the HTML.

Updates #20587

Change-Id: I1dc22c63d9ee297e44bbb742f03b4a722247dbe8
Reviewed-on: https://go-review.googlesource.com/45811
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agounicode: move scripts from FoldCategories to FoldScripts
Russ Cox [Thu, 15 Jun 2017 00:29:42 +0000 (20:29 -0400)]
unicode: move scripts from FoldCategories to FoldScripts

Copy-and-paste bug was putting scripts in the categories map.

Fixes #18186.

Change-Id: Ife9d9bdd346fe24e578dbb2a0aac7ef6e889ae68
Reviewed-on: https://go-review.googlesource.com/45830
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agodoc: add more Go 1.9 release notes
Brad Fitzpatrick [Wed, 14 Jun 2017 23:17:30 +0000 (23:17 +0000)]
doc: add more Go 1.9 release notes

Only one TODO remains, for pprof changes.

Updates #20587

Change-Id: Ib67b23adc7851cc96455b0c20649c8e565a4f92a
Reviewed-on: https://go-review.googlesource.com/45810
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet, doc: document JoinHostPort change in release notes, clarify its docs
Brad Fitzpatrick [Wed, 14 Jun 2017 22:04:33 +0000 (22:04 +0000)]
net, doc: document JoinHostPort change in release notes, clarify its docs

Updates #18059
Updates #20587

Change-Id: Icbb4c7cb201ac51d2cc6066620b47ba09ff6fe65
Reviewed-on: https://go-review.googlesource.com/45780
Reviewed-by: Chris Broadfoot <cbro@golang.org>
7 years agotime: remove some redundant equality comparison documentation
Brad Fitzpatrick [Wed, 14 Jun 2017 21:39:28 +0000 (21:39 +0000)]
time: remove some redundant equality comparison documentation

Updates to CL 45698

Updates #19510

Change-Id: Iec7a455b6c4d5f96d0b674459bf1455c99102d62
Reviewed-on: https://go-review.googlesource.com/45779
Reviewed-by: Rob Pike <r@golang.org>
7 years agocmd/compile: fix detection of calls to reflect.Method
Robert Griesemer [Wed, 14 Jun 2017 21:03:46 +0000 (14:03 -0700)]
cmd/compile: fix detection of calls to reflect.Method

The existing code used Type.String() to obtain the name of a type;
specifically type reflect.Method in this case. However, Type.String()
formatting is intended for error messages and uses the format
pkgpath.name instead of pkgname.name if a package (in this case
package reflect) is imported multiple times. As a result, the
reflect.Method type detection failed under peculiar circumstances
(see the included test case).

Thanks to https://github.com/ericlagergren for tracking down
an easy way to make the bug disappear (which in turn directly
led to the underlying cause).

Fixes #19028.

Change-Id: I1b9c5dfd183260a9be74969fe916a94146fc36da
Reviewed-on: https://go-review.googlesource.com/45777
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
7 years agocmd/go: disable tool version check during bootstrap go1.9beta1
Brad Fitzpatrick [Wed, 14 Jun 2017 21:32:41 +0000 (21:32 +0000)]
cmd/go: disable tool version check during bootstrap

The check that the go tool version matched the go compiler version was
too aggressive and didn't cover the bootstrapping case with make.bash.

We never noticed because we never had a VERSION file in place.

Repro:

$ echo "go1.9beta1" > $GOROOT/VERSION
$ cd $GOROOT/src
$ ./make.bash

No test, because x/build/cmd/release catches it.

Updates #19064
Fixes #20674

Change-Id: Ibdd7a92377f4cc77d71ed548f02d48bde6550f67
Reviewed-on: https://go-review.googlesource.com/45778
Reviewed-by: Chris Broadfoot <cbro@golang.org>
7 years agonet/http: update bundled http2
Brad Fitzpatrick [Tue, 13 Jun 2017 17:08:02 +0000 (17:08 +0000)]
net/http: update bundled http2

Update x/net/http2 to git rev 6b17b9baf5 for:

   http2: stop rejecting outgoing paths beginning with two slashes
   https://golang.org/cl/45773

This also uses an updated version of x/tools/cmd/bundle (CL 45190)
that fixes an edge case where it used to drop some comments.

Updates #20627
Fixes #19103

Change-Id: I450d61485e66098f4f8a79954f729f7bcd85856f
Reviewed-on: https://go-review.googlesource.com/45700
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Chris Broadfoot <cbro@golang.org>
7 years agoapi: promote next to go1.9
Chris Broadfoot [Wed, 14 Jun 2017 20:53:40 +0000 (13:53 -0700)]
api: promote next to go1.9

Change-Id: I27aa87607aa82b400411a60c6bdb6f9a42ff97c1
Reviewed-on: https://go-review.googlesource.com/45776
Run-TryBot: Chris Broadfoot <cbro@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoapi: update next.txt
Chris Broadfoot [Wed, 14 Jun 2017 20:24:22 +0000 (13:24 -0700)]
api: update next.txt

Change-Id: I824fc5a62977140ccc62d55e8b42cfd01da935e9
Reviewed-on: https://go-review.googlesource.com/45774
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoA+C: automated update
Brad Fitzpatrick [Wed, 14 Jun 2017 18:06:32 +0000 (18:06 +0000)]
A+C: automated update

Add Adam Bender (corporate CLA for Google Inc.)
Add Ahmet Alp Balkan (corporate CLA for Google Inc.)
Add Aishraj Dahal (individual CLA)
Add Alexey Neganov (individual CLA)
Add Andrew Benton (individual CLA)
Add Bartosz Grzybowski (individual CLA)
Add Ben Shi (individual CLA)
Add Brandon Bennett (corporate CLA for Facebook, Inc.)
Add Brian Starke (individual CLA)
Add Bulat Gaifullin (individual CLA)
Add Carl Henrik Lunde (individual CLA)
Add Carlisia Campos (individual CLA)
Add Carlo Alberto Ferraris (individual CLA)
Add Carolyn Van Slyck (individual CLA)
Add Chew Choon Keat (individual CLA)
Add Chris Biscardi (individual CLA)
Add Damien Lespiau (corporate CLA for Intel Corporation)
Add David NewHamlet (individual CLA)
Add Dieter Plaetinck (corporate CLA for RainTank)
Add Dominic Green (individual CLA)
Add Eitan Adler (individual CLA)
Add Evgeniy Polyakov (individual CLA)
Add Ewan Valentine (individual CLA)
Add Fangming Fang (corporate CLA for ARM Ltd.)
Add Felipe Oliveira (individual CLA)
Add Filip Gruszczyński (individual CLA)
Add Gengliang Wang (individual CLA)
Add George Gkirtsou (individual CLA)
Add Gregory Man (individual CLA)
Add Hauke Löffler (individual CLA)
Add Heschi Kreinick (corporate CLA for Google Inc.)
Add Hongfei Tan (individual CLA)
Add Hugues Bruant (individual CLA)
Add Ibrahim AshShohail (individual CLA)
Add James Neve (individual CLA)
Add James Smith (individual CLA)
Add Jamie Stackhouse (individual CLA)
Add Jan Berktold (individual CLA)
Add Jeff Johnson (corporate CLA for Google Inc.)
Add Joe Richey (corporate CLA for Google Inc.)
Add Johan Brandhorst (individual CLA)
Add Jonathan Stacks (individual CLA)
Add Jordan Krage (individual CLA)
Add Josselin Costanzi (individual CLA)
Add Joël Stemmer (corporate CLA for Google Inc.)
Add Julio Montes (corporate CLA for Intel Corporation)
Add Kamil Chmielewski (individual CLA)
Add Karoly Negyesi (individual CLA)
Add Keiji Yoshida (individual CLA)
Add Kirill Smelkov (corporate CLA for Nexedi)
Add Koichi Shiraishi (individual CLA)
Add Kris Nova (individual CLA)
Add Kyrylo Silin (individual CLA)
Add Lars Jeppesen (individual CLA)
Add Lars Wiegman (individual CLA)
Add Laurie Clark-Michalek (individual CLA)
Add Lion Yang (individual CLA)
Add Lorenzo Masini (individual CLA)
Add Lucas Clemente (corporate CLA for Google Inc.)
Add Marcelo E. Magallon (individual CLA)
Add Mark Adams (individual CLA)
Add Mark Harrison (corporate CLA for Google Inc.)
Add Mark Ryan (corporate CLA for Intel Corporation)
Add Martin Lindhe (individual CLA)
Add Marwan Sulaiman (individual CLA)
Add Matt Blair (individual CLA)
Add Matt Harden (individual CLA)
Add Matt Strong (individual CLA)
Add Mike Wiacek (corporate CLA for Google Inc.)
Add Milutin Jovanović (individual CLA)
Add Monis Khan (corporate CLA for Red Hat, Inc.)
Add Mostyn Bramley-Moore (individual CLA)
Add Mura Li (individual CLA)
Add Máté Gulyás (individual CLA)
Add Nathan Caza (individual CLA)
Add Nicholas Maniscalco (individual CLA)
Add Nick Kubala (corporate CLA for Google Inc.)
Add Nick Miyake (individual CLA)
Add Niklas Schnelle (individual CLA)
Add Patrick Pelletier (individual CLA)
Add Paul Jolly (individual CLA)
Add Paulo Flabiano Smorigo (corporate CLA for IBM)
Add Peter Nguyen (individual CLA)
Add Pravendra Singh (individual CLA)
Add Raymond Kazlauskas (individual CLA)
Add Remi Gillig (individual CLA)
Add Sam Boyer (individual CLA)
Add Sean Chittenden (corporate CLA for Joyent, Inc.)
Add Sean Christopherson (corporate CLA for Intel Corporation)
Add Shintaro Kaneko (individual CLA)
Add Takuto Ikuta (corporate CLA for Google Inc.)
Add Thomas Bonfort (individual CLA)
Add Toshiki Shima (individual CLA)
Add Trey Roessig (individual CLA)
Add Wade Simmons (individual CLA)
Add Wei Xiao (corporate CLA for ARM Ltd.)
Add Weichao Tang (individual CLA)
Add Will Storey (individual CLA)
Add Wu Yunzhou (individual CLA)
Add Xu Fee (individual CLA)
Add Zach Bintliff (individual CLA)
Add Zak (individual CLA)
Add Zellyn Hunter (corporate CLA for Square, Inc.)
Add Максим Федосеев (individual CLA)
Add 张嵩 (individual CLA)

Updates #12042

Change-Id: I43922a9489828e519e480f8fc1abc92863e0abcc
Reviewed-on: https://go-review.googlesource.com/45770
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agoos: clarify behavior of TempDir
Brad Fitzpatrick [Wed, 14 Jun 2017 18:29:49 +0000 (18:29 +0000)]
os: clarify behavior of TempDir

Fixes #19695

Change-Id: Ie5103f7905969e25dba6e5fb37344b70e807fc69
Reviewed-on: https://go-review.googlesource.com/45702
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet: clarify Listen on 0.0.0.0 behavior
Brad Fitzpatrick [Wed, 14 Jun 2017 19:26:25 +0000 (19:26 +0000)]
net: clarify Listen on 0.0.0.0 behavior

Fixes #17615

Change-Id: I7f88c0c6579c79007492e765d1b5ca4f28d19575
Reviewed-on: https://go-review.googlesource.com/45771
Reviewed-by: Russ Cox <rsc@golang.org>
7 years agoencoding/json: don't marshal unexported embedded fields of non struct type
thoeni [Thu, 1 Dec 2016 21:57:39 +0000 (21:57 +0000)]
encoding/json: don't marshal unexported embedded fields of non struct type

Marshal must process unexported embedded fields of struct type,
looking for exported fields in those structs. However, it must
not process unexported embedded fields of non-struct type.

For example, consider:

    type t1 struct {
        X int
    }
    type t2 int
    type T struct {
        t1
        t2
    }

When considering T, Marshal must process t1 to find t1.X.
Marshal must not process t2, but it was. Fix that.

Fixes #18009

Change-Id: I62ba0b65ba30fd927990e101a26405a9998787a3
Reviewed-on: https://go-review.googlesource.com/33773
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
7 years agosync: make another attempt at clarifying RWMutex double RLock rules
Brad Fitzpatrick [Wed, 14 Jun 2017 06:16:49 +0000 (06:16 +0000)]
sync: make another attempt at clarifying RWMutex double RLock rules

Updates #15418 (the original bug, fixed by https://golang.org/cl/23570)
Fixes #19460 (round two)

Change-Id: Iac4447daabb56e3b470046c489c22d588c20163e
Reviewed-on: https://go-review.googlesource.com/45697
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agodoc: list cmd/compile's DWARF changes in 1.9 relnotes
Heschi Kreinick [Wed, 14 Jun 2017 17:58:27 +0000 (13:58 -0400)]
doc: list cmd/compile's DWARF changes in 1.9 relnotes

Change-Id: I956873854724e8afed460f7ff3a657d68ec20fa1
Reviewed-on: https://go-review.googlesource.com/45755
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoruntime: remove unused arm assembly for div/mod
Keith Randall [Wed, 14 Jun 2017 16:10:51 +0000 (09:10 -0700)]
runtime: remove unused arm assembly for div/mod

Also add runtime· prefixes to the code that is still used.

Fixes #19507

Change-Id: Ib6da6b2a9e398061d3f93958ee1258295b6cc33b
Reviewed-on: https://go-review.googlesource.com/45699
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoruntime: don't run TestCgoNumGoroutine on Windows or Plan 9
Ian Lance Taylor [Wed, 14 Jun 2017 17:17:29 +0000 (10:17 -0700)]
runtime: don't run TestCgoNumGoroutine on Windows or Plan 9

The test requires pthreads.

Fixes #20666.

Change-Id: Icb2400250a80cdad6680cd1ef6c18ef7343d5e29
Reviewed-on: https://go-review.googlesource.com/45701
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agotime: unify the Time.Equals vs == pitfall documentation
Brad Fitzpatrick [Wed, 14 Jun 2017 06:37:55 +0000 (06:37 +0000)]
time: unify the Time.Equals vs == pitfall documentation

Fixes #19510 (good details therein)

Change-Id: Id28b66d91435d839fd79eeed486527cc77257c12
Reviewed-on: https://go-review.googlesource.com/45698
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agocmd/cgo: match note following error in compiler errors
Ian Lance Taylor [Thu, 25 May 2017 22:12:54 +0000 (15:12 -0700)]
cmd/cgo: match note following error in compiler errors

With current GCC a macro that refers to another macro can report an
error on the macro definition line, with a note on the use.
When cgo is trying to decide which line an error refers to,
it is looking at the uses. So if we see an error on a line that we
don't recognize followed by a note on a line that we do recognize,
treat the note as an error.

Fixes #20125.

Change-Id: I389cd0eb7d56ad2d54bef70e278d9f76c4d36448
Reviewed-on: https://go-review.googlesource.com/44290
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Hiroshi Ioka <hirochachacha@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agodoc: add go-contrib-init mention to contributing docs
Brad Fitzpatrick [Tue, 13 Jun 2017 22:50:35 +0000 (22:50 +0000)]
doc: add go-contrib-init mention to contributing docs

Fixes #17802

Change-Id: I245552534c3e21d95c569ac7118ba289244ba11d
Reviewed-on: https://go-review.googlesource.com/45652
Reviewed-by: Steve Francia <spf@golang.org>
7 years agohtml/template: only search identifier nodes for predefined escapers
Samuel Tan [Thu, 11 May 2017 23:56:14 +0000 (16:56 -0700)]
html/template: only search identifier nodes for predefined escapers

Predefined escapers (i.e. "html" and "urlquery") should only occur in
Identifier nodes, and never in Field or Chain nodes, since these are
global functions that return string values (see inline comments for more
details). Therefore, skip Chain and Field nodes when searching for
predefined escapers in template pipelines.

Also, make a non-functional change two existing test cases to avoid
giving the impression that it is valid to reference a field of a
predefined escaper.

Fixes #20323

Change-Id: I34f722f443c778699fcdd575dc3e0fd1fd6f2eb3
Reviewed-on: https://go-review.googlesource.com/43296
Reviewed-by: Samuel Tan <samueltan@google.com>
Reviewed-by: Mike Samuel <mikesamuel@gmail.com>
Reviewed-by: Russ Cox <rsc@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agodoc: list html/template and text/template changes in 1.9 relnotes
Alberto Donizetti [Wed, 14 Jun 2017 09:55:05 +0000 (11:55 +0200)]
doc: list html/template and text/template changes in 1.9 relnotes

Updates #20587

Change-Id: I3d65a0124157990b302db8879ee1a4941124ea11
Reviewed-on: https://go-review.googlesource.com/45730
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoruntime: record mutex event before readying
Austin Clements [Wed, 14 Jun 2017 15:07:24 +0000 (11:07 -0400)]
runtime: record mutex event before readying

Currently, semrelease1 readies the next waiter before recording a
mutex event. However, if the next waiter is expecting to look at the
mutex profile, as is the case in TestMutexProfile, this may delay
recording the event too much.

Swap the order of these operations so semrelease1 records the mutex
event before readying the next waiter. This also means readying the
next waiter is the very last thing semrelease1 does, which seems
appropriate.

Fixes #19139.

Change-Id: I1a62063599fdb5d49bd86061a180c0a2d659474b
Reviewed-on: https://go-review.googlesource.com/45751
Run-TryBot: Austin Clements <austin@google.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Peter Weinberger <pjw@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agocmd/link: implement trampolines for ppc64le with ext linking
Lynn Boger [Thu, 8 Jun 2017 12:26:19 +0000 (08:26 -0400)]
cmd/link: implement trampolines for ppc64le with ext linking

When using golang on ppc64le there have been issues
when building executables that generate extremely large text
sections.  This is due to the call instruction and the limitation
on the offset field, which is smaller than most platforms.  If the
size of the call target offset is too big for the offset field in
the call instruction, then link errors can occur.

The original solution to this problem in golang was to split the
text section when it became too large, allowing the external (GNU)
linker to insert the necessary stub to handle the long call.  That
worked fine until the another size limit for the program size was hit,
where a plt_branch was created instead of a long branch.  In that case
the plt_branch code sequence expects r2 to contain the address of the
TOC, but when golang creates dynamic executables by default
(-buildmode=exe) r2 does not always contain the address of the TOC
and as a result when building programs that reach this extremely
large size, a runtime SEGV or SIGILL can occur due to branching to a bad
address.

When using internal linking, trampolines are generated to handle the
long calls but the text sections are not split.  With this change,
text sections will still be split approrpriately with external linking
but if the buildmode being used does not maintain r2 as the TOC
addresses, then trampolines will be created for those calls.

Fixes #20497

Change-Id: If5400b0f86c2c08e106b332be6db0b259b07d93d
Reviewed-on: https://go-review.googlesource.com/45130
Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
7 years agoruntime, syscall: reset signal handlers to default in child
Ian Lance Taylor [Tue, 13 Jun 2017 05:36:03 +0000 (22:36 -0700)]
runtime, syscall: reset signal handlers to default in child

Block all signals during a fork. In the parent process, after the
fork, restore the signal mask. In the child process, reset all
currently handled signals to the default handler, and then restore the
signal mask.

The effect of this is that the child will be operating using the same
signal regime as the program it is about to exec, as exec resets all
non-ignored signals to the default, and preserves the signal mask.

We do this so that in the case of a signal sent to the process group,
the child process will not try to run a signal handler while in the
precarious state after a fork.

Fixes #18600.

Change-Id: I9f39aaa3884035908d687ee323c975f349d5faaa
Reviewed-on: https://go-review.googlesource.com/45471
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
7 years agogo/token: use fine-grained locking in FileSet
Alan Donovan [Fri, 16 Dec 2016 18:44:14 +0000 (13:44 -0500)]
go/token: use fine-grained locking in FileSet

Before, all accesses to the lines and infos tables of each File were
serialized by the lock of the owning FileSet, causing parsers running
in parallel to contend.  Now, each File has its own mutex.

This fixes a data race in (*File).PositionFor, which used to call
f.position then f.unpack without holding the mutex's lock.

Fixes golang/go#18348

Change-Id: Iaa5989b2eba88a7fb2e91c1a0a8bc1e7f6497f2b
Reviewed-on: https://go-review.googlesource.com/34591
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agodoc: add more Go 1.9 notes
Brad Fitzpatrick [Tue, 13 Jun 2017 20:24:43 +0000 (20:24 +0000)]
doc: add more Go 1.9 notes

Updates #20587

Change-Id: I7effe922242db45f3ce74882d07511aaaac2f634
Reviewed-on: https://go-review.googlesource.com/45613
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agoruntime: speed up stack copying
Josh Bleecher Snyder [Wed, 10 May 2017 17:19:43 +0000 (10:19 -0700)]
runtime: speed up stack copying

I was surprised to see readvarint show up in a cpu profile.

Use a few simple optimizations to speed up stack copying:

* Avoid making a copy of the cache.entries array or any of its elements.
* Use a shift instead of a signed division in stackmapdata.
* Change readvarint to return the number of bytes consumed
  rather than an updated slice.
* Make some minor optimizations to readvarint to help the compiler.
* Avoid called readvarint when the value fits in a single byte.

The first and last optimizations are the most significant,
although they all contribute a little.

Add a benchmark for stack copying that includes lots of different
functions in a recursive loop, to bust the cache.

This might speed up other runtime operations as well;
I only benchmarked stack copying.

name                old time/op  new time/op  delta
StackCopy-8         96.4ms ± 2%  82.7ms ± 1%  -14.24%  (p=0.000 n=20+19)
StackCopyNoCache-8   167ms ± 1%   131ms ± 1%  -21.58%  (p=0.000 n=20+20)

Change-Id: I13d5c455c65073c73b656acad86cf8e8e3c9807b
Reviewed-on: https://go-review.googlesource.com/43150
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
7 years agopath, path/filepath: clarify and cross-reference packages
Brad Fitzpatrick [Tue, 13 Jun 2017 22:55:33 +0000 (22:55 +0000)]
path, path/filepath: clarify and cross-reference packages

The path package has a reference to the path/filepath package, so add
a reverse reference.

And clarify the path package doesn't do Windows paths.

Fixes #20117

Change-Id: I65c5ce24e600b32ea20c5821b744bd89f6aff98c
Reviewed-on: https://go-review.googlesource.com/45653
Reviewed-by: Jaana Burcu Dogan <jbd@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agoruntime: move pdesc into p
Austin Clements [Tue, 13 Jun 2017 15:14:43 +0000 (11:14 -0400)]
runtime: move pdesc into p

There are currently two arrays indexed by P ID: allp and pdesc.
Consolidate these by moving the pdesc fields into type p so they can
be indexed off allp along with all other per-P state.

For #15131.

Change-Id: Ib6c4e6e7612281a1171ba4a0d62e52fd59e960b4
Reviewed-on: https://go-review.googlesource.com/45572
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Rick Hudson <rlh@golang.org>
7 years agogo/printer: handle associated comments for CommentedNode
Hiroshi Ioka [Fri, 9 Jun 2017 22:47:32 +0000 (07:47 +0900)]
go/printer: handle associated comments for CommentedNode

Current CommentedNode cannot handle associated comments which satisfy
    node.End() < comment.Pos()

This CL solves it.

Fixes #20635

Change-Id: I58e2e3703999bb38a6ce37112e986c4b1b2eace0
Reviewed-on: https://go-review.googlesource.com/45292
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
7 years agocmd/go: fix TestIssue7573 for absolute paths in -L options
Ian Lance Taylor [Tue, 13 Jun 2017 21:17:00 +0000 (14:17 -0700)]
cmd/go: fix TestIssue7573 for absolute paths in -L options

Updates #20266.
Fixes #20664.

Change-Id: Ifca30409fc7971497efb6d84f3f98760157c2233
Reviewed-on: https://go-review.googlesource.com/45650
Reviewed-by: Austin Clements <austin@google.com>
7 years agoruntime: increase MaxGomaxprocs to 1024
Austin Clements [Tue, 13 Jun 2017 20:19:16 +0000 (16:19 -0400)]
runtime: increase MaxGomaxprocs to 1024

Currently MaxGomaxprocs is 256. The previous CL saved enough per-P
static space that we can quadruple MaxGomaxprocs (and hence the static
size of allp) and still come out ahead.

This is safe for Go 1.9. In Go 1.10 we'll eliminate the hard-coded
limit entirely.

Updates #15131.

Change-Id: I919ea821c1ce64c27812541dccd7cd7db4122d16
Reviewed-on: https://go-review.googlesource.com/45673
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
7 years agoreflect: prevent structs with invalid field name
Pravendra Singh [Tue, 13 Jun 2017 16:43:07 +0000 (22:13 +0530)]
reflect: prevent structs with invalid field name

According to the language spec, a struct field name should
be an identifier.

  identifier = letter { letter | unicode_digit } .
  letter = unicode_letter | "_" .

Implements a function 'isValidFieldName(fieldName string) bool'.
To check if the field name is a valid identifier or not.
It will panic if the field name is invalid.

It uses the non-exported function implementation 'isLetter'
from the package 'scanner', used to parse an identifier.

Fixes #20600.

Change-Id: I1db7db1ad88cab5dbea6565be15cc7461cc56c44
Reviewed-on: https://go-review.googlesource.com/45590
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agonet/http: fix application/ogg sniff signature
Emmanuel Odeke [Sun, 28 May 2017 00:25:31 +0000 (18:25 -0600)]
net/http: fix application/ogg sniff signature

I accidentally set the wrong pattern mask as
* []byte("\x4F\x67\x67\x53\x00") --> "OggS", the byte pattern itself.
instead of
* []byte("\xFF\xFF\xFF\xFF\xFF")
which was a copy-paste error.

The correct pattern is described at
https://mimesniff.spec.whatwg.org/#matching-an-audio-or-video-type-pattern
which I was using as a reference but I mistyped.

Fixes #20513

Change-Id: Ie9cb60ac7edbf03075070878775b964116ce92d0
Reviewed-on: https://go-review.googlesource.com/44336
Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
7 years agodoc: add go1.9 release notes for database/sql changes
Daniel Theophanes [Tue, 13 Jun 2017 19:35:20 +0000 (12:35 -0700)]
doc: add go1.9 release notes for database/sql changes

Change-Id: I9b0f17e123805ad9f526f5ea44b23cf4dbadcdcc
Reviewed-on: https://go-review.googlesource.com/45611
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agocmd/go: adjust regexp that cleans cgo-related errors
Robert Griesemer [Tue, 13 Jun 2017 20:05:33 +0000 (13:05 -0700)]
cmd/go: adjust regexp that cleans cgo-related errors

The compiler now also prints column information - make sure we use
the correct regexp for compiler error cleanups. Accept both, error
positions with columns and without, since column printing may be
disabled with -gcflags=-C.

Fixes #20628.

Change-Id: I46dc921dd5c29d7b8172cd19a3df57951f60d889
Reviewed-on: https://go-review.googlesource.com/45612
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
7 years agodoc: flesh out some more Go 1.9 package notes
Brad Fitzpatrick [Tue, 13 Jun 2017 18:46:28 +0000 (18:46 +0000)]
doc: flesh out some more Go 1.9 package notes

Change-Id: Ib6e2b858fcb15ea95fa8cfcba3bfac4e210605fe
Reviewed-on: https://go-review.googlesource.com/45610
Reviewed-by: Alberto Donizetti <alb.donizetti@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agodatabase/sql: ensure a Stmt from a Conn executes on the same driver.Conn
Daniel Theophanes [Mon, 12 Jun 2017 17:46:15 +0000 (10:46 -0700)]
database/sql: ensure a Stmt from a Conn executes on the same driver.Conn

Ensure a Stmt prepared on a Conn executes on the same driver.Conn.
This also removes another instance of duplicated prepare logic
as a side effect.

Fixes #20647

Change-Id: Ia00a19e4dd15e19e4d754105babdff5dc127728f
Reviewed-on: https://go-review.googlesource.com/45391
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agoruntime: clean up some silly allp loops
Austin Clements [Tue, 13 Jun 2017 14:33:24 +0000 (10:33 -0400)]
runtime: clean up some silly allp loops

Back in the day, allp was just a pointer to an array. As a result, the
runtime has a few loops of the form:

    for i := 0; ; i++ {
        p := allp[i]
if p == nil {
    break
}
...
    }

This is silly now because it requires that allp be one longer than the
maximum possible number of Ps, but now that allp is in Go it has a
length.

Replace these with range loops.

Change-Id: I91ef4bc7bd3c9d4fda2264f4aa1b1d0271d7f578
Reviewed-on: https://go-review.googlesource.com/45571
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agogo/build: make -I/-L options in cgo flags absolute
Ian Lance Taylor [Fri, 26 May 2017 05:20:27 +0000 (22:20 -0700)]
go/build: make -I/-L options in cgo flags absolute

Fixes #20266.

Change-Id: I51383820880e3d3566ef3d70650a0863756003ba
Reviewed-on: https://go-review.googlesource.com/44291
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
7 years agocrypto/x509: support excluded domains in name constraints.
Adam Langley [Thu, 9 Feb 2017 00:27:00 +0000 (16:27 -0800)]
crypto/x509: support excluded domains in name constraints.

Change-Id: I4c2c82cb0354f843a3283a650ed2cd2b6aef5895
Reviewed-on: https://go-review.googlesource.com/36900
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Adam Langley <agl@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agodoc: add encoding changes to 1.9 release notes
Alberto Donizetti [Tue, 13 Jun 2017 13:59:53 +0000 (15:59 +0200)]
doc: add encoding changes to 1.9 release notes

Updates #20587

Change-Id: I160da21ecdee07c6370be8c46cbd04d4fbb07abb
Reviewed-on: https://go-review.googlesource.com/45550
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agocmd/go: initialize in get before loading packages
Ian Lance Taylor [Fri, 2 Jun 2017 00:38:34 +0000 (17:38 -0700)]
cmd/go: initialize in get before loading packages

Otherwise the packages will not pick up the way that -installsuffix is
changed by -buildmode and -race.

Fixes #20512.

Change-Id: Ieca32c958a531beb6331dff30d7e9a4998867dbb
Reviewed-on: https://go-review.googlesource.com/44630
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
7 years agocmd/internal/obj/arm: fix MOVW to/from FPSR
Ben Shi [Mon, 12 Jun 2017 03:42:55 +0000 (03:42 +0000)]
cmd/internal/obj/arm: fix MOVW to/from FPSR

"MOVW FPSR, g" should be assembled to 0xeef1aa10, but actually
0xee30a110 (RFS). "MOVW g, FPSR" should be 0xeee1aa10, but actually
0xee20a110 (WFS). They should be updated to VFP forms, since the ARM
back end doesn't support non-VFP floating points.

The patch fixes them and adds more assembly encoding tests.

fixes #20643

Change-Id: I3b29490337c6e8d891b400fcedc8b0a87b82b527
Reviewed-on: https://go-review.googlesource.com/45276
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
7 years agotime: run genzabbrs.go to update zoneinfo_abbrs_windows.go
Alex Brainman [Tue, 13 Jun 2017 02:58:11 +0000 (12:58 +1000)]
time: run genzabbrs.go to update zoneinfo_abbrs_windows.go

Last time zoneinfo_abbrs_windows.go was updated in CL 27832.
Time for another update.

Change-Id: I8dc3a1de6f22e90e634b2176188f257a260b6463
Reviewed-on: https://go-review.googlesource.com/45450
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoruntime, unicode: use consistent banner for generated code
Brad Fitzpatrick [Sun, 11 Jun 2017 03:08:18 +0000 (20:08 -0700)]
runtime, unicode: use consistent banner for generated code

Per golang.org/s/generatedcode

Updates #nnn

Change-Id: Ia7513ef6bd26c20b62b57b29f7770684a315d389
Reviewed-on: https://go-review.googlesource.com/45470
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Matt Layher <mdlayher@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agodatabase/sql: correct level of write to same var for race detector
Daniel Theophanes [Mon, 12 Jun 2017 18:28:18 +0000 (11:28 -0700)]
database/sql: correct level of write to same var for race detector

Rather then write to the same variable per fakeConn, write to either
fakeConn or rowsCursor.

Fixes #20646

Change-Id: Ifc79f989bd1606b8e3ebecb1e7844cce3ad06e17
Reviewed-on: https://go-review.googlesource.com/45393
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agodoc: add net/http changes to go1.9.html
Kale Blankenship [Thu, 8 Jun 2017 04:11:30 +0000 (21:11 -0700)]
doc: add net/http changes to go1.9.html

Change-Id: Ib59e1eea64b0bd2cf8ed778607aafcf74a6239a3
Reviewed-on: https://go-review.googlesource.com/45087
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agodatabase/sql: properly document QueryRow
Sarah Adams [Mon, 5 Jun 2017 22:45:04 +0000 (15:45 -0700)]
database/sql: properly document QueryRow

Fixes golang/go#20163

Change-Id: I0caf95fc84aa502715848151c93b6e7bee003ea5
Reviewed-on: https://go-review.googlesource.com/44890
Reviewed-by: Daniel Theophanes <kardianos@gmail.com>
7 years agogo/parser: handle last line comments
Hiroshi Ioka [Sat, 10 Jun 2017 01:36:28 +0000 (10:36 +0900)]
go/parser: handle last line comments

Fixes #20636

Change-Id: Icea0012fecb73944c95f6037922505c63b57b245
Reviewed-on: https://go-review.googlesource.com/45295
Reviewed-by: Robert Griesemer <gri@golang.org>
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agodatabase/sql: prevent race on Rows close with Tx Rollback
Daniel Theophanes [Sun, 11 Jun 2017 05:02:53 +0000 (22:02 -0700)]
database/sql: prevent race on Rows close with Tx Rollback

In addition to adding a guard to the Rows close, add a var
in the fakeConn that gets read and written to on each
operation, simulating writing or reading from the server.

TestConcurrency/TxStmt* tests have been commented out
as they now fail after checking for races on the fakeConn.
See issue #20646 for more information.

Fixes #20622

Change-Id: I80b36ea33d776e5b4968be1683ff8c61728ee1ea
Reviewed-on: https://go-review.googlesource.com/45275
Run-TryBot: Daniel Theophanes <kardianos@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoRevert "database/sql: Use Tx.ctx in Tx non-context methods"
Daniel Theophanes [Fri, 9 Jun 2017 18:45:46 +0000 (18:45 +0000)]
Revert "database/sql: Use Tx.ctx in Tx non-context methods"

This reverts commit ef0f7fb92b9458d7d35ee3c10ae853e3dc3077eb.

Reason for revert: Altered behavior of Queries prior to Tx commit. See #20631.

Change-Id: I2548507c2935a7c60b92aae377dcc8e9aca66331
Reviewed-on: https://go-review.googlesource.com/45231
Run-TryBot: Daniel Theophanes <kardianos@gmail.com>
Reviewed-by: Bulat Gaifullin <gaifullinbf@gmail.com>
Reviewed-by: Michael Hudson-Doyle <michael.hudson@canonical.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agodoc: explain Windows DWARF linker changes in go1.9.html
Alex Brainman [Fri, 9 Jun 2017 07:24:00 +0000 (17:24 +1000)]
doc: explain Windows DWARF linker changes in go1.9.html

Updates #20587

Change-Id: If1f17a110ef3cc367849bd01e2733c60d85f124b
Reviewed-on: https://go-review.googlesource.com/45118
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agonet: don't run TestDialListenerAddr in short mode on non-builders
Brad Fitzpatrick [Fri, 9 Jun 2017 00:02:53 +0000 (00:02 +0000)]
net: don't run TestDialListenerAddr in short mode on non-builders

It listens on all addresses, which users might not want.

Updates #18806 (follow-up to feedback from CL 45088)

Change-Id: I51de2d3fc3cd88a61eb3c63018c47aea920c0549
Reviewed-on: https://go-review.googlesource.com/45157
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
7 years agoruntime: YIELD in procyield on ARM
Austin Clements [Fri, 9 Jun 2017 19:46:08 +0000 (15:46 -0400)]
runtime: YIELD in procyield on ARM

ARM currently does not use a hardware yield instruction in the spin
loop in procyield because the YIELD instruction was only added in
ARMv6K. However, it appears earlier ARM chips will interpret the YIELD
encoding as an effective NOP (specifically an MSR instruction that
ultimately has no effect on the CPSR register).

Hence, use YIELD in procyield on ARM since it should be, at worst,
harmless.

Fixes #16663.

Change-Id: Id1787ac48862b785b92c28f1ac84cb4908d2173d
Reviewed-on: https://go-review.googlesource.com/45250
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
7 years agoall: single space after period
Brad Fitzpatrick [Fri, 9 Jun 2017 20:17:51 +0000 (20:17 +0000)]
all: single space after period

Done with grep & interactive search & replace, to double-check
replacements. Not many remained after CL 20022.

Fixes #18572

Change-Id: Idbe90ba3b584f9b9661d2bbd141607daaadfa41a
Reviewed-on: https://go-review.googlesource.com/45270
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
7 years agoos/exec: remove BUG for old and unsupported OS
Brad Fitzpatrick [Fri, 9 Jun 2017 16:45:55 +0000 (16:45 +0000)]
os/exec: remove BUG for old and unsupported OS

Nobody uses 10.6 these days anyway.

Fixes #20623

Change-Id: I698c83cbc288082558e34097ff54d1428aed75ec
Reviewed-on: https://go-review.googlesource.com/45171
Reviewed-by: Matt Layher <mdlayher@gmail.com>
7 years agoruntime: print pc with fp/sp in traceback
Austin Clements [Fri, 9 Jun 2017 15:58:53 +0000 (11:58 -0400)]
runtime: print pc with fp/sp in traceback

If we're in a situation where printing the fp and sp in the traceback
is useful, it's almost certainly also useful to print the PC.

Change-Id: Ie48a0d5de8a54b5b90ab1d18638a897958e48f70
Reviewed-on: https://go-review.googlesource.com/45210
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
7 years agodoc: list image changes in 1.9 release notes
Alberto Donizetti [Thu, 8 Jun 2017 08:59:31 +0000 (10:59 +0200)]
doc: list image changes in 1.9 release notes

Updates #20587

Change-Id: I551a21c0226bc66fd7bca737c30cba679b958c37
Reviewed-on: https://go-review.googlesource.com/45091
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agocmd/compile: don't use ."" as a pkg prefix
Daniel Martí [Wed, 24 May 2017 10:34:56 +0000 (11:34 +0100)]
cmd/compile: don't use ."" as a pkg prefix

This results in names to unexported fields like
net.(*Dialer)."".deadline instead of net.(*Dialer).deadline.

Fixes #18419.

Change-Id: I0415c68b77cc16125c2401320f56308060ac3f25
Reviewed-on: https://go-review.googlesource.com/44070
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
7 years agonet/http: regenerate http2 bundle with bundle fixes to include comments
Brad Fitzpatrick [Fri, 9 Jun 2017 02:49:07 +0000 (02:49 +0000)]
net/http: regenerate http2 bundle with bundle fixes to include comments

The golang.org/x/tools/cmd/bundle tool previously had a bug where it
dropped some comments.

This regenerates it with the fixed version (https://golang.org/cl/45117).

(Upstream is still git rev 3470a06c1, from https://golang.org/cl/44331)

Updates #20548

Change-Id: Ic5d9208a0c8f7facdb7b315c6acab66ace34c0a9
Reviewed-on: https://go-review.googlesource.com/45158
Reviewed-by: Hiroshi Ioka <hirochachacha@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agodoc/go1.9: runtime release notes
Austin Clements [Thu, 8 Jun 2017 17:35:58 +0000 (13:35 -0400)]
doc/go1.9: runtime release notes

Several of the CLs that were against the runtime are noted in other
places in the release notes, depending on where they are most
user-visible.

Change-Id: I167dc7ff17a4c5f9a5d22d5bd123aa0e99f5639e
Reviewed-on: https://go-review.googlesource.com/45137
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Rick Hudson <rlh@golang.org>
7 years agodoc/go1.9: GC performance release notes
Austin Clements [Thu, 8 Jun 2017 14:17:48 +0000 (10:17 -0400)]
doc/go1.9: GC performance release notes

Change-Id: I361587ba0ddffb5ee4a3d1bdb6219710a30da197
Reviewed-on: https://go-review.googlesource.com/45132
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Rick Hudson <rlh@golang.org>
7 years agocmd/internal/obj/arm: fix encoding of move register/immediate to CPSR
Ben Shi [Fri, 9 Jun 2017 10:24:42 +0000 (10:24 +0000)]
cmd/internal/obj/arm: fix encoding of move register/immediate to CPSR

"MOVW R1, CPSR" is assembled to 0xe129f001, which should be 0xe12cf001.
"MOVW $255, CPSR" is assembled to 0xe329f0ff, which should be 0xe32cf0ff.

This patch fixes them and adds more assembly encoding tests.

fix #20626

Change-Id: Iefc945879ea774edf40438ce39f52c144e1501a1
Reviewed-on: https://go-review.googlesource.com/45170
Reviewed-by: Cherry Zhang <cherryyz@google.com>
7 years agotesting: show in-progress tests upon SIGINT
Meir Fischer [Sun, 4 Jun 2017 04:29:40 +0000 (00:29 -0400)]
testing: show in-progress tests upon SIGINT

Because of parallel tests, which have stalled executions, the RUN
output of a test can be much earlier than its completion output resulting
in hard-to-read verbose output.

The tests are displayed in the order in which the output shows
that they began, to make it easy to line up with the "RUN" output.
Similarly, the definitions of when tests begin and complete is
determined by when RUN and FAIL/SKIP/PASS are output since the
focus of this code is on enhancing readability.

Fixes #19397

Change-Id: I4d0ca3fd268b620484e7a190117f79a33b3dc461
Reviewed-on: https://go-review.googlesource.com/44352
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>