]> Cypherpunks repositories - gostls13.git/log
gostls13.git
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>
7 years agocmd/go: ignore dot and underscore files in fmt, fix, and get -fix
Brad Fitzpatrick [Thu, 8 Jun 2017 22:38:15 +0000 (22:38 +0000)]
cmd/go: ignore dot and underscore files in fmt, fix, and get -fix

No test because as far as I can tell, there aren't existing tests for
these.

Fixes #18383

Change-Id: I06eaef05777a1474886167e3797c5bcd93189d1b
Reviewed-on: https://go-review.googlesource.com/45156
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/http: remove invalid checks of Request.Proto* for outgoing requests
Brad Fitzpatrick [Thu, 8 Jun 2017 21:43:54 +0000 (21:43 +0000)]
net/http: remove invalid checks of Request.Proto* for outgoing requests

The net/http package has long documented that Request.ProtoMajor and
Request.ProtoMinor are ignored for outgoing requests (HTTP/1.1 or
HTTP/2 is always used, never HTTP/1.0). There was one part in the code
that was actually checking 1.0 vs 1.1, but it appears to have been
harmless. Remove it.

Fixes #18407

Change-Id: I362ed6c47ca2de7a2fbca917ed3e866273cfe41f
Reviewed-on: https://go-review.googlesource.com/45155
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agosyscall: make windows Exit call runtime.exit
Alex Brainman [Thu, 8 Jun 2017 05:56:53 +0000 (15:56 +1000)]
syscall: make windows Exit call runtime.exit

Both runtime.exit and syscall.Exit call Windows ExitProcess.
But recently (CL 34616) runtime.exit was changed to ignore
Windows CreateThread errors if ExitProcess is called.

This CL adjusts syscall.Exit to do the same.

Fixes #18253 (maybe)

Change-Id: I6496c31b01e7c7d73b69c0b2ae33ed7fbe06736b
Reviewed-on: https://go-review.googlesource.com/45115
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
7 years agonet: make Dial("tcp", ln.Addr().String()) work even with bad IPv6 config
Brad Fitzpatrick [Wed, 7 Jun 2017 21:01:48 +0000 (21:01 +0000)]
net: make Dial("tcp", ln.Addr().String()) work even with bad IPv6 config

Some machines can be configured (or came/come configured) in such a
state that IPv6 only half works: you can bind on [::]:n but not
connect back to it.

This implements a fallback such that it's guaranteed that this pattern
works:

   ln, err := Listen("tcp", ":0")
   ...
   addr := ln.Addr().String() // "[::]:n"
   c, err := Dial("tcp", addr)

... which is also now tested. It will first try to dial "[::]:n", as
before, but if that dial fails, it will also try "0.0.0.0:n".

Fixes #18806 (contains more details)
Fixes #20611 (I was going to fix nacl later, but it was easy enough)

Change-Id: I1107eb197e902ae8185c781ad1bc4e2bc61d1f4c
Reviewed-on: https://go-review.googlesource.com/45088
Reviewed-by: Paul Marks <pmarks@google.com>
7 years agonet: support all PacketConn and Conn returned by Resolver.Dial
Ben Burkert [Thu, 8 Jun 2017 20:19:28 +0000 (13:19 -0700)]
net: support all PacketConn and Conn returned by Resolver.Dial

Allow the Resolver.Dial func to return instances of Conn other than
*TCPConn and *UDPConn. If the Conn is also a PacketConn, assume DNS
messages transmitted over the Conn adhere to section 4.2.1. "UDP usage".
Otherwise, follow section 4.2.2. "TCP usage".

Provides a hook mechanism so that DNS queries generated by the net
package may be answered or modified before being sent to over the
network.

Updates #19910

Change-Id: Ib089a28ad4a1848bbeaf624ae889f1e82d56655b
Reviewed-on: https://go-review.googlesource.com/45153
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agonet/http: simplify recently added TestServeTLS
Brad Fitzpatrick [Thu, 8 Jun 2017 20:35:02 +0000 (20:35 +0000)]
net/http: simplify recently added TestServeTLS

TestServeTLS was added in CL 44074, merged today.
This cleans up the test a little.

Updates #13228

Change-Id: I6efd798fe5fa015a34addbf60ae26919a1ed283e
Reviewed-on: https://go-review.googlesource.com/45152
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agolog/syslog: expand docs a bit to reduce confusion
Brad Fitzpatrick [Thu, 8 Jun 2017 17:44:03 +0000 (17:44 +0000)]
log/syslog: expand docs a bit to reduce confusion

Fixes #15731

Change-Id: I6f4da0cbb3b6c93e175f5e384ffa118f383b7c3b
Reviewed-on: https://go-review.googlesource.com/45089
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agoruntime: more diagnostics for TestStackGrowth
Austin Clements [Thu, 8 Jun 2017 17:48:41 +0000 (13:48 -0400)]
runtime: more diagnostics for TestStackGrowth

This adds diagnostics so we can tell if the finalizer has started, in
addition to whether or not it has finished.

Updates #19381.

Change-Id: Icb7b1b0380c9ad1128b17074828945511a6cca5d
Reviewed-on: https://go-review.googlesource.com/45138
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agocmd/compile: fix real/imag for untyped constant arguments
Robert Griesemer [Wed, 7 Jun 2017 23:22:21 +0000 (16:22 -0700)]
cmd/compile: fix real/imag for untyped constant arguments

Fixes #11945.
Fixes #17446.

Change-Id: Ic674f6ebc0533ab0f97c650689125994941b72e1
Reviewed-on: https://go-review.googlesource.com/45081
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
7 years agoruntime: fix documentation error about runtime.GC()
Austin Clements [Thu, 8 Jun 2017 14:15:38 +0000 (10:15 -0400)]
runtime: fix documentation error about runtime.GC()

runtime.GC no longer triggers a STW GC. This fixes the description of
GODEBUG=gctrace=1 so it doesn't claim otherwise.

Change-Id: Ibd34a55c5ae7b5eda5c2393b9a6674bdf1d51eb3
Reviewed-on: https://go-review.googlesource.com/45131
Reviewed-by: Rick Hudson <rlh@golang.org>
7 years agonet/http: add Server.ServeTLS method
Niklas Schnelle [Mon, 13 Mar 2017 02:13:16 +0000 (07:43 +0530)]
net/http: add Server.ServeTLS method

Server.ServeTLS wraps Server.Serve with added TLS support. This is
particularly useful for serving on manually initialized listeners.
Example use-case includes ability to serve with TLS on listener
provided by systemd's socket activation.

A matching test heavily based on TestAutomaticHTTP2_ListenAndServe
is also included.

Original code by Gurpartap Singh as
https://go-review.googlesource.com/c/38114/

Fixes #13228

Change-Id: I73bb703f501574a84d261c2d7b9243a89fa52d62
Reviewed-on: https://go-review.googlesource.com/44074
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agonet/http: enable TestLinuxSendfile on mips64
Vladimir Stefanovic [Tue, 6 Jun 2017 14:13:39 +0000 (16:13 +0200)]
net/http: enable TestLinuxSendfile on mips64

The test is passing on a 64bit RFS.

Fixes #18008

Change-Id: Ia4c4f4dde0392c7f6bbe5dbffc97cf848ec5a107
Reviewed-on: https://go-review.googlesource.com/44953
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agobufio: clarify WriteTo docs
Sam Whited [Mon, 5 Jun 2017 14:21:10 +0000 (09:21 -0500)]
bufio: clarify WriteTo docs

Fixes #19092

Change-Id: I7c0fde6a4cf460017619dbcce1c1ddaa7af1022a
Reviewed-on: https://go-review.googlesource.com/44811
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agogo/types: adjust type-checking of shifts to match compilers
Robert Griesemer [Wed, 7 Jun 2017 18:32:42 +0000 (11:32 -0700)]
go/types: adjust type-checking of shifts to match compilers

For #14822.

Change-Id: Ia3f5558f3e0dcb8ee2dab54a6e9588eecc22511f
Reviewed-on: https://go-review.googlesource.com/45074
Reviewed-by: Alan Donovan <adonovan@google.com>
7 years agospec: clarify restrictions on RHS of non-constant shifts
Robert Griesemer [Wed, 7 Jun 2017 18:06:00 +0000 (11:06 -0700)]
spec: clarify restrictions on RHS of non-constant shifts

For non-constant shifts with an untyped constant shift count, the
spec only said that it must "be converted to unsigned integer type".
go/types accepts any (arbitrarily large) integer value. Both cmd/compile
and gccgo require that the shift count be representable as a uint value
in that case (if the shift count is typed, it may be any unsigned integer
type).

This change adjusts the spec to state what the compilers have been doing
all along. The new wording matches similar rules elsewhere (e.g., for
untyped array and slice indices). Also, while technically this is a
restriction (we could permit arbitrarily large shift counts), in practice
this is irrelevant.

Fixes #14822.

Change-Id: Ia75834c67483cf761c10025c8df758f225ef67c2
Reviewed-on: https://go-review.googlesource.com/45072
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agoruntime: fix tab/space inconsistency in runtime-gdb.py
Austin Clements [Thu, 8 Jun 2017 16:05:31 +0000 (12:05 -0400)]
runtime: fix tab/space inconsistency in runtime-gdb.py

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

7 years agoruntime: fix GDB goroutine N command when N is running
Austin Clements [Wed, 7 Jun 2017 14:30:49 +0000 (10:30 -0400)]
runtime: fix GDB goroutine N command when N is running

The current implementation of "goroutine N cmd" assumes it can get
goroutine N's state from the goroutine's sched buffer. But this only
works if the goroutine is blocked. Extend find_goroutine so that, if
there is no saved scheduler state for a goorutine, it tries to find
the thread the goroutine is running on and use the thread's current
register state. We also extend find_goroutine to understand saved
syscall register state.

Fixes #13887.

Change-Id: I739008a8987471deaa4a9da918655e4042cf969b
Reviewed-on: https://go-review.googlesource.com/45031
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agotest: add test that caused gccgo undefined symbol error
Ian Lance Taylor [Thu, 8 Jun 2017 03:04:11 +0000 (20:04 -0700)]
test: add test that caused gccgo undefined symbol error

Change-Id: I94aa87fe951701413b479c05b0bc8810255eb01c
Reviewed-on: https://go-review.googlesource.com/45085
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/go: fix TestBuildIDContainsArchModeEnv fail on arm64
Wei Xiao [Tue, 6 Jun 2017 02:03:55 +0000 (02:03 +0000)]
cmd/go: fix TestBuildIDContainsArchModeEnv fail on arm64

TestBuildIDContainsArchModeEnv fails on arm64 because defaultGO386 has
different value from x86 (amd64/386). On arm64 defaultGO386 = '387' but
on x86 defaultGO386 = 'sse2'. The difference will make the test succeed
on x86 while fail on arm64 since it generates the same build ID.
Fix it by explicitly setting GO386 instead of using default value

Fixes #20608

Change-Id: I864b0e47325942d9513516bdf47f60391d18c0d0
Reviewed-on: https://go-review.googlesource.com/45112
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>

7 years agocompress/lzw: don't follow code == hi if last is invalid.
Nigel Tao [Thu, 8 Jun 2017 00:58:20 +0000 (10:58 +1000)]
compress/lzw: don't follow code == hi if last is invalid.

Fixes #20597.

Change-Id: Iaa059277c02e80a2fbef59cf8bb3c58d2b90fda0
Reviewed-on: https://go-review.googlesource.com/45111
Reviewed-by: David Symonds <dsymonds@golang.org>
7 years agoreflect: check pkgPath for unexported methods in Implements
Ian Lance Taylor [Wed, 31 May 2017 22:38:34 +0000 (15:38 -0700)]
reflect: check pkgPath for unexported methods in Implements

Fixes #20541.

Change-Id: Ifdfdf3616482b71761daf6d114b779a8ec532051
Reviewed-on: https://go-review.googlesource.com/44495
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Crawshaw <crawshaw@golang.org>
7 years agonet/http: delete vestigial method
Brad Fitzpatrick [Wed, 7 Jun 2017 21:29:01 +0000 (21:29 +0000)]
net/http: delete vestigial method

Fixes #19850

Change-Id: I8c86e288159408c687c2a85f458ade282adae450
Reviewed-on: https://go-review.googlesource.com/45077
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agosync: remove note about creating with structures
Joonas Kuorilehto [Wed, 24 May 2017 17:37:53 +0000 (20:37 +0300)]
sync: remove note about creating with structures

Remove note that sync.Cond, sync.Mutex, sync.RWMutex and atomic.Value
can be created as part of other data structures. Structs can be embedded
by default, and default should not be repeated.

Fixes #20471.

Change-Id: If3f5703d3f60abd96482b58ca43450d02a9e645a
Reviewed-on: https://go-review.googlesource.com/44071
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agocmd/compile: separate code for len, cap from code for real, imag
Robert Griesemer [Wed, 7 Jun 2017 21:14:20 +0000 (14:14 -0700)]
cmd/compile: separate code for len, cap from code for real, imag

Prep work for issues mentioned below. No semantic or functionality change.

For #11945.
For #17446.

Change-Id: Ia1bb2b87647a6daa47f7863c0eb42cf5e1d35a7c
Reviewed-on: https://go-review.googlesource.com/45076
Reviewed-by: Matthew Dempsky <mdempsky@google.com>