Commit graph

19559 commits

Author SHA1 Message Date
Andrew Gerrand 3dbc53ae6a go1.3.3
LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/151190043
2014-10-01 11:20:15 +10:00
Andrew Gerrand 59c83485df [release-branch.go1.3] doc: document go1.3.3
««« CL 149280044 / ce32e953ef6f
doc: document go1.3.3

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

TBR=r
R=golang-codereviews
CC=golang-codereviews
https://golang.org/cl/151170043
2014-10-01 09:45:12 +10:00
Russ Cox 32fb19371b [release-branch.go1.3] cmd/5l, cmd/6l, cmd/8l: fix nacl binary corruption bug
««« CL 135050043 / 57dfd03985a9
cmd/5l, cmd/6l, cmd/8l: fix nacl binary corruption bug

NaCl requires the addition of a 32-byte "halt sled" at the end
of the text segment. This means that segtext.len is actually
32 bytes shorter than reality. The computation of the file offset
of the end of the data segment did not take this 32 bytes into
account, so if len and len+32 rounded up (by 64k) to different
values, the symbol table overwrote the last page of the data
segment.

The last page of the data segment is usually the C .string
symbols, which contain the strings used in error prints
by the runtime. So when this happens, your program
probably crashes, and then when it does, you get binary
garbage instead of all the usual prints.

The chance of hitting this with a randomly sized text segment
is 32 in 65536, or 1 in 2048.

If you add or remove ANY code while trying to debug this
problem, you're overwhelmingly likely to bump the text
segment one way or the other and make the bug disappear.

Correct all the computations to use segdata.fileoff+segdata.filelen
instead of trying to rederive segdata.fileoff.

This fixes the failure during the nacl/amd64p32 build.

TBR=iant
CC=golang-codereviews
https://golang.org/cl/135050043
»»»

LGTM=bradfitz
R=golang-codereviews
CC=adg, bradfitz, golang-codereviews, iant
https://golang.org/cl/151150044
2014-09-30 12:43:49 -04:00
Russ Cox c09c8bb325 [release-branch.go1.3] nacltest.bash: unset GOROOT
The GOROOT baked into the go command being run is correct.
The GOROOT in the environment may not be. Remove it.

Fixes nacltest.bash if you have GOROOT set elsewhere.

This is already fixed in the default branch.

LGTM=r
R=golang-codereviews, r
CC=bradfitz, golang-codereviews, iant
https://golang.org/cl/147380044
2014-09-30 12:34:36 -04:00
Russ Cox fcfb7aaf2e [release-branch.go1.3] runtime: fix GOTRACEBACK reading on Windows, Plan 9
Only Unix was resetting the traceback_cache variable
after initializing the environment. Reset it on all systems
by resetting in parsedebugvars.

Fixes #8813.

LGTM=adg, alex.brainman
R=golang-codereviews, adg, alex.brainman
CC=golang-codereviews, iant, r
https://golang.org/cl/152760043
2014-09-29 22:50:34 -04:00
Russ Cox ca70c91892 [release-branch.go1.3] runtime: hide cgocallback_gofunc calling cgocallbackg from linker
The linker error at
http://build.golang.org/log/42c57ff6b57ab36f6622417108bb5697e4d36fa7
is a false positive: cgocallback_gofunc is invoked on the g0 stack,
as explained in its comments, and then it switches to the m->curg
stack to invoke cgocallbackg. Checking the stacksplit sequence
on the g0 stack doesn't make sense, nor does carrying a check
that starts on the g0 stack over to the curg stack.
Change the code to use an indirect call so that the linker
stacksplit check does not follow through it.

LGTM=bradfitz, adg
R=golang-codereviews, bradfitz, adg
CC=golang-codereviews, iant, r
https://golang.org/cl/146510043
2014-09-29 21:23:52 -04:00
Andrew Gerrand 3fa6b988e0 [release-branch.go1.3] net: temporarily skip TestAcceptIgnoreSomeErrors
««« CL 138120043 / 9a36c3ea7015
net: temporarily skip TestAcceptIgnoreSomeErrors

Update #8662

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

»»»

LGTM=dsymonds
R=dsymonds
CC=golang-codereviews
https://golang.org/cl/149200043
2014-09-29 13:49:37 +10:00
Andrew Gerrand 370a9c9c0e [release-branch.go1.3] time: removed from tests now obsolete assumption about Australian tz abbreviations
««« CL 130920043 / 7dba9475ee72
time: removed from tests now obsolete assumption about Australian tz abbreviations

Australian timezones abbreviation for standard and daylight saving time were recently
changed from EST for both to AEST and AEDT in the icann tz database (see changelog
on www.iana.org/time-zones).

A test in the time package was written to check that the ParseInLocation function
understand that Feb EST and Aug EST are different time zones, even though they are
both called EST. This is no longer the case, and the Date function now returns
AEST or AEDT for australian tz on every Linux system with an up to date tz database
(and this makes the test fail).

Since I wasn't able to find another country that 1) uses daylight saving and 2) has
the same abbreviation for both on tzdata, I changed the test to make sure that
ParseInLocation does not get confused when it parses, in different locations, two
dates with the same abbreviation (this was suggested in the mailing list).

Fixes #8547.

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

»»»

LGTM=dsymonds
R=rsc, dsymonds
CC=golang-codereviews
https://golang.org/cl/153720043
2014-09-29 13:46:12 +10:00
Andrew Gerrand f3c81ed821 go1.3.2 2014-09-25 22:32:20 +00:00
Andrew Gerrand ef34616d6b [release-branch.go1.3] doc: document Go 1.3.2 2014-09-25 22:32:20 +00:00
Andrew Gerrand 247820ff6b [release-branch.go1.3] crypto/tls: ensure that we don't resume when tickets are disabled
A security bug affects programs that use crypto/tls to implement a TLS server
from Go 1.1 onwards. If the server enables TLS client authentication using
certificates (this is rare) and explicitly sets SessionTicketsDisabled to true
in the tls.Config, then a malicious client can falsely assert ownership of any
client certificate it wishes.

This issue was discovered internally and there is no evidence of exploitation.

Change authored by Adam Langley <agl@golang.org>
https://golang.org/cl/148080043/
2014-09-25 22:32:20 +00:00
Russ Cox 7935b51b8b [release-branch.go1.3] runtime: keep g->syscallsp consistent after cgo->Go callbacks
This is a manual backport of CL 131910043
to the Go 1.3 release branch.

We believe this CL can cause arbitrary corruption
in programs that call into C from Go and then
call back into Go from C.

This change will be released in Go 1.3.2.

LGTM=iant
R=iant, hector
CC=adg, dvyukov, golang-codereviews, r
https://golang.org/cl/142690043
2014-09-26 08:06:45 +10:00
Russ Cox a3bfff1fbd [release-branch.go1.3] net/http/httptest: disable TestIssue7264
This fails on my OS X machine,
just like it did in default branch.
In the default branch we removed the test.
It's just buggy.

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/144610043
2014-09-25 14:14:11 -04:00
Andrew Gerrand 881f0d1e9e [release-branch.go1.3] doc: make it point to correct go1.3.1 change history
««« CL 129180043 / cf5017c4a780
doc: make it point to correct go1.3.1 change history

LGTM=minux, adg
R=golang-codereviews, minux, adg
CC=golang-codereviews
https://golang.org/cl/129180043
»»»

TBR=r
CC=golang-codereviews
https://golang.org/cl/122670043
2014-08-15 10:03:48 +10:00
Andrew Gerrand 4a05139f6f [release-branch.go1.3] doc: remove the "the" in "the the" in the release notes
««« CL 128170043 / f824bdf8e6ba
doc: remove the "the" in "the the" in the release notes

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

TBR=r
CC=golang-codereviews
https://golang.org/cl/128290043
2014-08-15 10:02:35 +10:00
Andrew Gerrand 7769be7d2f [release-branch.go1.3] undo 941ef9ddbada / 125150044
It broke the build across all platforms.
The original change wasn't even reviewed.
Probably should never have been ported to this branch.

LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/128130043
2014-08-13 13:38:50 +10:00
Andrew Gerrand df7a37efd7 [release-branch.go1.3] runtime: fix GC bitmap corruption
««« CL 103640044 / d2f256096d8d
runtime: fix GC bitmap corruption
Fixes #8299.

R=golang-codereviews
CC=golang-codereviews, khr, rsc
https://golang.org/cl/103640044
»»»

TBR=r, rsc
CC=golang-codereviews
https://golang.org/cl/125150044
2014-08-13 13:20:01 +10:00
Andrew Gerrand 1657de2d6d [release-branch.go1.3] net: prevent spurious on-connect events via epoll on linux
««« CL 120820043 / 06a4b59c1393
net: prevent spurious on-connect events via epoll on linux

On Linux, adding a socket descriptor to epoll instance before getting
the EINPROGRESS return value from connect system call could be a root
cause of spurious on-connect events.

See golang.org/issue/8276, golang.org/issue/8426 for further information.

All credit to Jason Eggleston <jason@eggnet.com>

Fixes #8276.
Fixes #8426.

LGTM=dvyukov
R=dvyukov, golang-codereviews, adg, dave, iant, alex.brainman
CC=golang-codereviews
https://golang.org/cl/120820043
»»»

TBR=r, rsc
CC=golang-codereviews
https://golang.org/cl/128110045
2014-08-13 13:18:02 +10:00
Andrew Gerrand f36546bc10 [release-branch.go1.3] doc: document go1.3.1
««« CL 126060043 / e3cf4c202bd8
doc: document go1.3.1

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

TBR=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/126070043
2014-08-13 07:42:19 +10:00
Andrew Gerrand f466851b77 go1.3.1
LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/129020043
2014-08-13 06:59:30 +10:00
Andrew Gerrand 69dc3a910f [release-branch.go1.3] cmd/gc: make liveness ~10x faster
««« CL 125720043 / b92e5df7d3ba
cmd/gc: make liveness ~10x faster

1) The arrayindexof lookup function is O(n). Replace with O(1) lookups.

2) The checkptxt function is O(n²) and is purely for debugging.
Only run when the debugging flags are turned on.

3) Iterating over sparse bitmaps can be done faster word by word.
Introduce and use bvnext for that.

Run times before and after, on my 2.5 GHz Core i5 MacBook Pro.

x.go       9.48  0.84  issue 8259

x100.go    0.01  0.01  issue 8354
x1000.go   0.10  0.10
x2000.go   0.62  0.19
x3000.go   1.33  0.34
x4000.go   2.29  0.49
x5000.go   3.89  0.67
x6000.go   5.00  0.90
x7000.go   6.70  1.13
x8000.go   9.44  1.38
x9000.go  11.23  1.87
x10000.go 13.78  2.09

Fixes #8259.
Fixes #8354.

LGTM=iant, r
R=golang-codereviews, iant, r
CC=golang-codereviews
https://golang.org/cl/125720043
»»»

TBR=rsc
CC=golang-codereviews
https://golang.org/cl/121600043
2014-08-13 06:34:38 +10:00
Andrew Gerrand 31f2f8d624 [release-branch.go1.3] cmd/8g: fix build
««« CL 129720043 / 0449858880be
cmd/8g: fix build

Fixes #8510.

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

TBR=rsc
CC=golang-codereviews
https://golang.org/cl/129760043
2014-08-12 15:51:47 +10:00
Andrew Gerrand c6f639cdf6 [release-branch.go1.3] runtime: ignore exceptions from foreign threads.
««« CL 104200046 / 14683b1cf2cc
runtime: ignore exceptions from foreign threads.
Fixes #8224.

LGTM=alex.brainman, rsc
R=alex.brainman, rsc, dave
CC=golang-codereviews
https://golang.org/cl/104200046
»»»

LGTM=alex.brainman, minux
R=rsc, alex.brainman, minux
CC=golang-codereviews
https://golang.org/cl/126010043
2014-08-12 14:07:22 +10:00
Andrew Gerrand 3fa4a7849c [release-branch.go1.3] cmd/6g, cmd/8g: fix, test byte-sized magic multiply
««« CL 124950043 / 8e5ec6948793
cmd/6g, cmd/8g: fix, test byte-sized magic multiply

Credit to Rémy for finding and writing test case.

Fixes #8325.

LGTM=r
R=golang-codereviews, r
CC=dave, golang-codereviews, iant, remyoudompheng
https://golang.org/cl/124950043
»»»

TBR=rsc
CC=golang-codereviews
https://golang.org/cl/126000043
2014-08-12 10:05:20 +10:00
Andrew Gerrand fa02130477 [release-branch.go1.3] doc: document new ParseMultipartForm behavior
««« CL 123860043 / cf99a05f0fbc
doc: document new ParseMultipartForm behavior

Fixes #8403.

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

TBR=rsc
CC=golang-codereviews
https://golang.org/cl/127070043
2014-08-12 09:51:08 +10:00
Andrew Gerrand 6b0ac0f972 [release-branch.go1.3] runtime: turn off 'unexpected return pc' print on arm traceback
««« CL 118670043 / 671fa8a9eb80
runtime: turn off 'unexpected return pc' print on arm traceback

It can happen legitimately if a profiling signal arrives at just the wrong moment.
It's harmless.

Fixes #8153.

LGTM=minux
R=golang-codereviews, minux
CC=golang-codereviews, iant, r
https://golang.org/cl/118670043
»»»

TBR=rsc
CC=golang-codereviews
https://golang.org/cl/127950044
2014-08-12 09:46:42 +10:00
Andrew Gerrand 78a4cf7f39 [release-branch.go1.3] crypto/rsa: fix out-of-bound access with short session keys.
««« CL 102670044 / c5f72a685e25
crypto/rsa: fix out-of-bound access with short session keys.

Thanks to Cedric Staub for noting that a short session key would lead
to an out-of-bounds access when conditionally copying the too short
buffer over the random session key.

LGTM=davidben, bradfitz
R=davidben, bradfitz
CC=golang-codereviews
https://golang.org/cl/102670044
»»»

TBR=rsc
CC=golang-codereviews
https://golang.org/cl/128930044
2014-08-12 09:45:11 +10:00
Andrew Gerrand b0454f5d2b [release-branch.go1.3] cmd/cgo: fix recursive type mapping
««« CL 122850043 / 0015a2541545
cmd/cgo: fix recursive type mapping

Instead of immediately completing pointer type mappings, add them to
a queue to allow them to be completed later.  This fixes issues	caused
by Type() returning arbitrary in-progress type mappings.

Fixes #8368.
Fixes #8441.

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

»»»

TBR=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/128940043
2014-08-12 09:42:51 +10:00
Andrew Gerrand b48cd4b9dc [release-branch.go1.3] include/u.h: define _DEFAULT_SOURCE for new glibc
««« CL 112530043 / c8059ac4e0ec
include/u.h: define _DEFAULT_SOURCE for new glibc

glibc devs have apparently decided _BSD_SOURCE will be
deprecated on Linux, and issue a preprocessor warning if
declaring _BSD_SOURCE without _DEFAULT_SOURCE.

https://sourceware.org/glibc/wiki/Release/2.20

Fixes #8397.

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

»»»

TBR=rsc
CC=golang-codereviews
https://golang.org/cl/124150043
2014-08-12 09:38:23 +10:00
Andrew Gerrand 1798bb298f [release-branch.go1.3] net: Don't read beyond end of slice when parsing resolv.conf options.
««« CL 102470046 / 5207b394de96
net: Don't read beyond end of slice when parsing resolv.conf options.

Fixes #8252.

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

»»»

TBR=rsc
CC=golang-codereviews
https://golang.org/cl/124140043
2014-08-12 09:31:36 +10:00
Andrew Gerrand 0752bc8f26 [release-branch.go1.3] runtime: fix nacl amd64p32 flakiness
««« CL 102710043 / 5640e19d768d
runtime: fix nacl amd64p32 flakiness

newproc takes two extra pointers, not two extra registers.
On amd64p32 (nacl) they are different.

We diagnosed this before the 1.3 cut but the tree was frozen.
I believe this is causing the random problems on the builder.

Fixes #8199.

TBR=r
CC=golang-codereviews
https://golang.org/cl/102710043
»»»

TBR=rsc
CC=golang-codereviews
https://golang.org/cl/124120044
2014-08-12 09:29:29 +10:00
Andrew Gerrand 329d3ce984 compress/{gzip,zlib}: mention that Close flushes
Our other CloseFlushers (archive/tar, compress/flate) do mention this.

LGTM=dave, r
R=r, dave
CC=golang-codereviews
https://golang.org/cl/117430043
2014-08-01 11:54:10 +10:00
Andrew Gerrand 57435625e5 [release-branch.go1.3] doc: drop scheme from links that are known to support HTTPS
««« CL 112650043 / bdac8d858e74
doc: drop scheme from links that are known to support HTTPS

golang.org now serves HTTPS with a valid cert, so it's reasonable
that users should click through to the HTTPS versions of *.golang.org
and other known sites.

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

TBR=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/111700043
2014-07-25 10:37:47 +10:00
Andrew Gerrand 1cdd48c8a2 go1.3
LGTM=rsc
R=golang-codereviews, minux, rsc
CC=golang-codereviews
https://golang.org/cl/104250043
2014-06-19 10:20:01 +10:00
Andrew Gerrand 89a95c92a3 doc: document Go 1.3
TBR=r
R=golang-codereviews
CC=golang-codereviews
https://golang.org/cl/101370043
2014-06-19 09:54:26 +10:00
Andrew Gerrand 0a164d2333 [release-branch.go1.3] fmt: fix signs when zero padding.
««« CL 103480043 / 777dd5a434db
fmt: fix signs when zero padding.
Bug was introduced recently. Add more tests, fix the bugs.
Suppress + sign when not required in zero padding.
Do not zero pad infinities.
All old tests still pass.
This time for sure!
Fixes #8217.

LGTM=rsc
R=golang-codereviews, dan.kortschak, rsc
CC=golang-codereviews
https://golang.org/cl/103480043
»»»

LGTM=r, rsc
R=r, rsc
CC=golang-codereviews
https://golang.org/cl/110040043
2014-06-19 09:54:17 +10:00
Russ Cox 9d7a83a04b [release-branch.go1.3] go/build: update doc.go for go1.3 build tag.
««« CL 102470045 / f15ad332ce13
go/build: update doc.go for go1.3 build tag.

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

»»»

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/105310044
2014-06-18 09:05:24 -07:00
Andrew Gerrand 60b7cd2c85 [release-branch.go1.3] doc: link to new downloads page
««« CL 102340044 / 951cc5f6d52f
doc: link to new downloads page

LGTM=minux
R=golang-codereviews, minux
CC=golang-codereviews
https://golang.org/cl/102340044
»»»

TBR=rsc
CC=golang-codereviews
https://golang.org/cl/105300045
2014-06-18 08:47:25 +10:00
Andrew Gerrand 2ae4c996a1 [release-branch.go1.3] doc: add release note for 'godoc -analysis'
««« CL 88560044 / d011c0dcae9c
doc: add release note for 'godoc -analysis'

Contains a link to /lib/godoc/analysis/help.html
which is not yet live.

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

TBR=rsc
R=golang-codereviews
CC=golang-codereviews
https://golang.org/cl/104150043
2014-06-18 08:46:31 +10:00
Andrew Gerrand 2a3daa8bdd go1.3rc2
LGTM=minux, rsc
R=golang-codereviews, minux, rsc
CC=golang-codereviews
https://golang.org/cl/105170044
2014-06-13 13:24:50 +10:00
Russ Cox 64de40a551 [release-branch.go1.3] runtime: revise CL 105140044 (defer nil) to work on Windows
««« CL 105120044 / 824ea5943ba8
runtime: revise CL 105140044 (defer nil) to work on Windows

It appears that something about Go on Windows
cannot handle the fault cause by a jump to address 0.
The way Go represents and calls functions, this
never happened at all, until CL 105140044.

This CL changes the code added in CL 105140044
to make jump to 0 impossible once again.

Fixes #8047. (again, on Windows)

TBR=bradfitz
R=golang-codereviews, dave
CC=adg, golang-codereviews, iant, r
https://golang.org/cl/105120044
»»»

LGTM=bradfitz
R=golang-codereviews, bradfitz, alex.brainman
CC=adg, golang-codereviews
https://golang.org/cl/108890045
2014-06-12 21:52:52 -04:00
Andrew Gerrand 69616e4e5b revert go1.3rc2
The Windows build is still bad. The previous CL is not go1.3rc2.

TBR=bradfitz
R=golang-codereviews
CC=golang-codereviews
https://golang.org/cl/107050043
2014-06-13 10:12:29 +10:00
Andrew Gerrand 4dc991cd3f go1.3rc2
LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/103420043
2014-06-13 09:41:58 +10:00
Russ Cox 1305c4ce9d [release-branch.go1.3] runtime: do not trace past jmpdefer during pprof traceback on arm
««« CL 107970043 / b336da131a84
runtime: do not trace past jmpdefer during pprof traceback on arm

jmpdefer modifies PC, SP, and LR, and not atomically,
so walking past jmpdefer will often end up in a state
where the three are not a consistent execution snapshot.
This was causing warning messages a few frames later
when the traceback realized it was confused, but given
the right memory it could easily crash instead.

Update #8153

LGTM=minux, iant
R=golang-codereviews, minux, iant
CC=golang-codereviews, r
https://golang.org/cl/107970043
»»»

LGTM=r
R=golang-codereviews, r
CC=adg, golang-codereviews, iant
https://golang.org/cl/101260043
2014-06-12 16:55:36 -04:00
Russ Cox 5c196b842a [release-branch.go1.3] runtime: fix defer of nil func
««« CL 105140044 / c2832405e9b9
runtime: fix defer of nil func

Fixes #8047.

LGTM=r, iant
R=golang-codereviews, r, iant
CC=dvyukov, golang-codereviews, khr
https://golang.org/cl/105140044
»»»

LGTM=r
R=golang-codereviews, r
CC=adg, golang-codereviews, iant
https://golang.org/cl/103370044
2014-06-12 16:55:24 -04:00
Russ Cox ad02e9ade5 [release-branch.go1.3] doc: link to release history from /doc/
««« CL 107950043 / 593f58ee96da
doc: link to release history from /doc/

Fixes #8168.

TBR=bradfitz
R=golang-codereviews
CC=golang-codereviews
https://golang.org/cl/107950043
»»»

LGTM=r
R=golang-codereviews, r
CC=adg, golang-codereviews, iant
https://golang.org/cl/105910043
2014-06-12 16:55:11 -04:00
Russ Cox e0d5179635 [release-branch.go1.3] runtime: add test for issue 8047.
««« CL 108840043 / 3a2306461574
runtime: add test for issue 8047.

Make sure stack copier doesn't barf on a nil defer.
Bug was fixed in https://golang.org/cl/101800043
This change just adds a test.

Fixes #8047

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

»»»

TBR=adg
CC=golang-codereviews
https://golang.org/cl/102320043
2014-06-11 20:42:13 -04:00
Russ Cox 23f6bc5ed8 [release-branch.go1.3] net/http: fix double Content-Length in response
««« CL 105040043 / ef8878dbed3b
net/http: fix double Content-Length in response

Fixes #8180

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

TBR=bradfitz
R=golang-codereviews
CC=bradfitz, golang-codereviews, iant
https://golang.org/cl/102300046
2014-06-11 17:02:43 -04:00
Russ Cox 74183c5b06 [release-branch.go1.3] doc/install.html: fix erroneous HTML annotation
««« CL 106910044 / ac907318915d
doc/install.html: fix erroneous HTML annotation
align=middle is invalid; use align=center

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

LGTM=r
R=golang-codereviews, r
CC=bradfitz, golang-codereviews, iant
https://golang.org/cl/108860047
2014-06-11 17:00:27 -04:00
Russ Cox 8ef4135731 [release-branch.go1.3] cmd/gc: two escape analysis fixes
««« CL 108860043 / f153208c0a0e
cmd/gc: fix escape analysis for &x inside switch x := v.(type)

The analysis for &x was using the loop depth on x set
during x's declaration. A type switch creates a list of
implicit declarations that were not getting initialized
with loop depths.

Fixes #8176.

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

««« CL 108870044 / 331dbd4a6334
cmd/gc: fix &result escaping into result

There is a hierarchy of location defined by loop depth:

        -1 = the heap
        0 = function results
        1 = local variables (and parameters)
        2 = local variable declared inside a loop
        3 = local variable declared inside a loop inside a loop
        etc

In general if an address from loopdepth n is assigned to
something in loop depth m < n, that indicates an extended
lifetime of some form that requires a heap allocation.

Function results can be local variables too, though, and so
they don't actually fit into the hierarchy very well.
Treat the address of a function result as level 1 so that
if it is written back into a result, the address is treated
as escaping.

Fixes  issue 8185 .

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

LGTM=r
R=golang-codereviews, r
CC=bradfitz, golang-codereviews, iant
https://golang.org/cl/107930044
2014-06-11 17:00:17 -04:00