- 08 Sep, 2015 9 commits
-
-
Russ Cox authored
This worked in Go 1.4 but was lost in the "pure Go" lookup routines substituted late in the Go 1.5 cycle. Fixes #12263. Change-Id: I77ec9d97cd8e67ace99d6ac965e5bc16c151ba83 Reviewed-on: https://go-review.googlesource.com/13915Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/14243Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Vincent Vanackere authored
[release-branch.go1.5] cmd/go: properly ignore import comments for vendored packages rooted at GOPATH Fixes #12232. Change-Id: Ide3fb7f5fc5ae377ae8683fbb94fd0dc01480549 Reviewed-on: https://go-review.googlesource.com/13924Reviewed-by:
Russ Cox <rsc@golang.org> Reviewed-on: https://go-review.googlesource.com/14228Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Ulrich Kunitz authored
The issue 12226 has been caused by the allocation of the same register for the equality check of two byte values. The code in cgen.go freed the register for the second operand before the allocation of the register for the first operand. Fixes #12226 Change-Id: Ie4dc33a488bd48a17f8ae9b497fd63c1ae390555 Reviewed-on: https://go-review.googlesource.com/13771Reviewed-by:
Russ Cox <rsc@golang.org> Reviewed-on: https://go-review.googlesource.com/14227Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Austin Clements authored
Currently the runtime can install stack barriers in any frame. However, the frame of cgocallback_gofunc is special: it's the one function that switches from a regular G stack to the system stack on return. Hence, the return PC slot in its frame on the G stack is actually used to save getg().sched.pc (so tracebacks appear to unwind to the last Go function running on that G), and not as an actual return PC for cgocallback_gofunc. Because of this, if we install a stack barrier in cgocallback_gofunc's return PC slot, when cgocallback_gofunc does return, it will move the stack barrier stub PC in to getg().sched.pc and switch back to the system stack. The rest of the runtime doesn't know how to deal with a stack barrier stub in sched.pc: nothing knows how to match it up with the G's stack barrier array and, when the runtime removes stack barriers, it doesn't know to undo the one in sched.pc. Hence, if the C code later returns back in to Go code, it will attempt to return through the stack barrier saved in sched.pc, which may no longer have correct unwinding information. Fix this by blacklisting cgocallback_gofunc's frame so the runtime won't install a stack barrier in it's return PC slot. Fixes #12238. Change-Id: I46aa2155df2fd050dd50de3434b62987dc4947b8 Reviewed-on: https://go-review.googlesource.com/13944Reviewed-by:
Russ Cox <rsc@golang.org> Reviewed-on: https://go-review.googlesource.com/14229Reviewed-by:
Austin Clements <austin@google.com>
-
Austin Clements authored
Currently enabling the debugging mode where stack barriers are installed at every frame requires recompiling the runtime. However, this is potentially useful for field debugging and for runtime tests, so make this mode a GODEBUG. Updates #12238. Change-Id: I6fb128f598b19568ae723a612e099c0ed96917f5 Reviewed-on: https://go-review.googlesource.com/13947Reviewed-by:
Russ Cox <rsc@golang.org> Reviewed-on: https://go-review.googlesource.com/14240Reviewed-by:
Austin Clements <austin@google.com>
-
Austin Clements authored
A comparison of the form l == r where l is an interface and r is concrete performs a type assertion on l to convert it to r's type. However, the compiler fails to zero the temporary where the result of the type assertion is written, so if the type is a pointer type and a stack scan occurs while in the type assertion, it may see an invalid pointer on the stack. Fix this by zeroing the temporary. This is equivalent to the fix for type switches from c4092ac3. Fixes #12253. Change-Id: Iaf205d456b856c056b317b4e888ce892f0c555b9 Reviewed-on: https://go-review.googlesource.com/13872Reviewed-by:
Russ Cox <rsc@golang.org> Reviewed-on: https://go-review.googlesource.com/14242Reviewed-by:
Austin Clements <austin@google.com>
-
Alex Brainman authored
Change-Id: I1b9f6ad322a7f68fa160c4f09d7fb56815e505a7 Reviewed-on: https://go-review.googlesource.com/13828Reviewed-by:
Rob Pike <r@golang.org> Reviewed-on: https://go-review.googlesource.com/14244Reviewed-by:
Alex Brainman <alex.brainman@gmail.com>
-
Didier Spezia authored
For ARM machines, the assembler supports list of registers operands such as [R1,R2]. A list missing a ']' results in the parser issuing many errors and consuming all the tokens. At EOF (i.e. end of the line), it still loops. Normally, a counter is maintained to make sure the parser stops after 10 errors. However, multiple errors occuring on the same line are simply ignored. Only the first one is reported. At most one error per line is accounted. Missing ']' in a register list therefore results in an infinite loop. Fixed the parser by explicitly checking for ']' to interrupt this loops In the operand tests, also fixed a wrong entry which I think was not set on purpose (but still led to a successful result). Fixes #11764 Change-Id: Ie87773388ee0d21b3a2a4cb941d4d911d0230ba4 Reviewed-on: https://go-review.googlesource.com/13920Reviewed-by:
Rob Pike <r@golang.org> Reviewed-on: https://go-review.googlesource.com/14225
-
Ian Lance Taylor authored
This changed in https://golang.org/cl/10761. Update #12203. Change-Id: Ia37ebb7ecba689ad3cb2559213d675f21cf03a95 Reviewed-on: https://go-review.googlesource.com/13799Reviewed-by:
Russ Cox <rsc@golang.org> Reviewed-on: https://go-review.googlesource.com/14226Reviewed-by:
Minux Ma <minux@golang.org>
-
- 06 Sep, 2015 1 commit
-
-
Shenghou Ma authored
Some symbols, for example, masks requires 16-byte alignment, and they are placed in the text section. Before this change, the text section is only aligned to 4-byte, and it's making masks unaligned. Fixes #12415. Change-Id: I7767778d1b4f7d3e74c2719a02848350782a4160 Reviewed-on: https://go-review.googlesource.com/14166 Run-TryBot: Minux Ma <minux@golang.org> Reviewed-by:
Alex Brainman <alex.brainman@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Ian Lance Taylor <iant@golang.org> (cherry picked from commit 821e124c) Reviewed-on: https://go-review.googlesource.com/14279
-
- 04 Sep, 2015 1 commit
-
-
Dave Cheney authored
At the moment, bootstrap.bash assumes it is called from a git working copy. Hence, it fails to complete when running in an unpacked official source tarball where .git and .gitignore do not exist. This fix adds a test for existence for .git and a -f switch for the removal of .gitignore. Fixes #12223 Change-Id: I7f305b83b38d5115504932bd38dadb7bdeb5d487 Reviewed-on: https://go-review.googlesource.com/13770Reviewed-by:
Dave Cheney <dave@cheney.net> Reviewed-by:
Andrew Gerrand <adg@golang.org> Reviewed-on: https://go-review.googlesource.com/14281
-
- 03 Sep, 2015 3 commits
-
-
Shenghou Ma authored
Fixes external linking of net/http tests (or anything that uses sendfile). Fixes #12390. Change-Id: Iee08998cf66e7b0ce851db138a00ebae6dc2395e Reviewed-on: https://go-review.googlesource.com/14072Reviewed-by:
Dave Cheney <dave@cheney.net> Reviewed-by:
Aram Hăvărneanu <aram@mgk.ro> Reviewed-on: https://go-review.googlesource.com/14246 Run-TryBot: Chris Broadfoot <cbro@golang.org> Reviewed-by:
Minux Ma <minux@golang.org>
-
Andrew Gerrand authored
Bring in the text from the proposal (with minor edits): https://github.com/golang/proposal/blob/master/design/11502-securitypolicy.md Fixes #11502 Change-Id: I92a987be66a0df60c1fad6c6c79f89bd8e9c12a8 Reviewed-on: https://go-review.googlesource.com/13955Reviewed-by:
Jason Buberel <jbuberel@google.com> Reviewed-on: https://go-review.googlesource.com/14224Reviewed-by:
Andrew Gerrand <adg@golang.org>
-
Andrew Gerrand authored
Change-Id: I571965bc38a8b1060642a942b898797327f0c19c Reviewed-on: https://go-review.googlesource.com/14195Reviewed-by:
Andrew Gerrand <adg@golang.org> Reviewed-on: https://go-review.googlesource.com/14199Reviewed-by:
Chris Broadfoot <cbro@golang.org>
-
- 19 Aug, 2015 9 commits
-
-
Russ Cox authored
This updates the VERSION file. The release proper has not happened yet. Change-Id: I3e33b5f95aede0da8ca1aef0d9c381942873c9a8 Reviewed-on: https://go-review.googlesource.com/13702Reviewed-by:
Rob Pike <r@golang.org>
-
Russ Cox authored
Using merge instead of cherry-picks to simplify initial release. Minor releases like Go 1.5.1 will have to use cherry-picks. Fixes #12093. Change-Id: If00393c58ace0da6f359b387cea9b779b123b920
-
Russ Cox authored
This makes sure the release page in the release will mention the release. Fixes #12102. Change-Id: I36befd7dba7ba9e70ae3335e21c8841179ac4eff Reviewed-on: https://go-review.googlesource.com/13490Reviewed-by:
Rob Pike <r@golang.org>
-
Russ Cox authored
This is especially important for LookupAddr, which used to be pure Go (lightweight, one goroutine per call) and without this CL is now unconditionally cgo (heavy, one thread per call). Fixes #12190. Change-Id: I43436a942bc1838b024225893e156f280a1e80cf Reviewed-on: https://go-review.googlesource.com/13698Reviewed-by:
Rob Pike <r@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
Go 1.4 and before have always returned DNS names with a trailing dot for reverse lookups, as they do for basically all other routines returning DNS names. Go 1.4 and before always implemented LookupAddr using pure Go (not C library calls). Go 1.5 added the ability to make a C library call to implement LookupAddr. Unfortunately the C library call returns a DNS name without a trailing dot (an unrooted name), meaning that if turn off cgo during make.bash then you still get the rooted name but with cgo on you get an unrooted name. The unrooted name is inconsistent with the pure Go implementation and with all previous Go releases, so change it to a rooted name. Fixes #12189. Change-Id: I3d6b72277c121fe085ea6af30e5fe8019fc490ad Reviewed-on: https://go-review.googlesource.com/13697Reviewed-by:
Rob Pike <r@golang.org>
-
Russ Cox authored
Fixes #12191. Change-Id: I5c7659ccb0566dad3613041d9e76be87ceacae61 Reviewed-on: https://go-review.googlesource.com/13700Reviewed-by:
Rob Pike <r@golang.org>
-
Rob Pike authored
Thanks to Nathan Youngman for spotting them. Change-Id: I1856527af66a5d1965265ec3dcd639d3f6d74bcc Reviewed-on: https://go-review.googlesource.com/13711Reviewed-by:
Russ Cox <rsc@golang.org>
-
Russ Cox authored
Saying "Power 64" was wrong for reasons I don't remember. (Those reasons are why we stopped using GOARCH=power64.) Change-Id: Ifaac78d5733bfc780df01b1a66da766af0b17726 Reviewed-on: https://go-review.googlesource.com/13675Reviewed-by:
Rob Pike <r@golang.org>
-
Russ Cox authored
Make clear that this list is the list of supported systems for binary distributions, and that other systems may be able to build the distribution from source, in addition to using gccgo. Drop freebsd/arm from the list on this page. We have never issued a binary distribution for freebsd/arm, and we're not going to start in Go 1.5, since we don't even have a working builder for it. Drop freebsd/386 from the list on the page, because we are unable to build binary distributions, per adg. I think the wording here should probably be revised further, but not now. Change-Id: Ib43b6b64f5c438bfb9aa4d3daa43393f1e33b71f Reviewed-on: https://go-review.googlesource.com/13690Reviewed-by:
Andrew Gerrand <adg@golang.org> Reviewed-by:
Rob Pike <r@golang.org>
-
- 18 Aug, 2015 8 commits
-
-
Russ Cox authored
This was missed when we did the rename months ago because cmd/vet did not live in the main tree. Now vet's asmdecl checks will apply to ppc64 assembly too. Change-Id: I687cba89fef702f29dd118de76a7ca1041c414f6 Reviewed-on: https://go-review.googlesource.com/13677Reviewed-by:
Andrew Gerrand <adg@golang.org>
-
Russ Cox authored
Change-Id: Iaeba7c55bbb9e11ac30f3b61369aa597acc30190 Reviewed-on: https://go-review.googlesource.com/13691Reviewed-by:
Russ Cox <rsc@golang.org>
-
Russ Cox authored
Update #11184 (linux/ppc64). Filed #12178 (solaris) for Go 1.6. Change-Id: I9e3a456aaccb49590ad4e14b53ddfefca5b0801c Reviewed-on: https://go-review.googlesource.com/13679Reviewed-by:
Russ Cox <rsc@golang.org>
-
Russ Cox authored
Tested by hand. Only lines of code changing are protected by Fieldtrack_enabled > 0, which is never true in standard Go distributions. Fixes #12171. Change-Id: I963b9997dac10829db8ad4bfc97a7d6bf14b55c6 Reviewed-on: https://go-review.googlesource.com/13676Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Fixes #12156. Change-Id: I2d71163b98bcc770147eb9e78dc551a9d0b5b817 Reviewed-on: https://go-review.googlesource.com/13674Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
The text segment starts farther into the binary when using external linking on the mac. Test and fix. Fixes #12173. Change-Id: I1f0c81814bf70cd9decfceac3022784f4608eeef Reviewed-on: https://go-review.googlesource.com/13672Reviewed-by:
Ian Lance Taylor <iant@golang.org> Reviewed-by:
Rob Pike <r@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
Fixes #12154. Change-Id: I1e6d1a3479a8a6fc8f53aebd18fb142506110809 Reviewed-on: https://go-review.googlesource.com/13673Reviewed-by:
Rob Pike <r@golang.org>
-
Brad Fitzpatrick authored
Found in a Google program running under the race detector. No test, but verified that this fixes the race with go run -race of: package main import ( "crypto/tls" "fmt" "net" "net/http" "net/http/httptest" ) func main() { for { ts := httptest.NewTLSServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {})) conf := &tls.Config{} // non-nil a, b := net.Pipe() go func() { sconn := tls.Server(a, conf) sconn.Handshake() }() tr := &http.Transport{ TLSClientConfig: conf, } req, _ := http.NewRequest("GET", ts.URL, nil) _, err := tr.RoundTrip(req) println(fmt.Sprint(err)) a.Close() b.Close() ts.Close() } } Also modified cmd/vet to report the copy-of-mutex bug statically in CL 13646, and fixed two other instances in the code found by vet. But vet could not have told us about cloneTLSConfig vs cloneTLSClientConfig. Confirmed that original report is also fixed by this. Fixes #12099. Change-Id: Iba0171549e01852a5ec3438c25a1951c98524dec Reviewed-on: https://go-review.googlesource.com/13453Reviewed-by:
Ian Lance Taylor <iant@golang.org> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by:
Austin Clements <austin@google.com> Run-TryBot: Russ Cox <rsc@golang.org>
-
- 17 Aug, 2015 2 commits
-
-
Ian Lance Taylor authored
The SetOutput function has been there since Go 1. Fixes #12162. Change-Id: I66210374877581e42689f9943532141659a55ca7 Reviewed-on: https://go-review.googlesource.com/13637Reviewed-by:
Rob Pike <r@golang.org>
-
Matt Bostock authored
Correct 'an' to 'on' in the comment above the Stable() function. Change-Id: I714e38b2d3a79dfd539d5368967d1c6b519cb948 Reviewed-on: https://go-review.googlesource.com/13662Reviewed-by:
Rob Pike <r@golang.org>
-
- 16 Aug, 2015 1 commit
-
-
Dave Cheney authored
Fixes golang/go#12133 CL 13630 fixed the use of a stale reg[] array in the various arch backends which was causing the check in clearfat to pass unconditionally on arm64. With this check fixed, arm64 now considers REGRT1 to always be in use as it is part of the reserved register set, see arm64/gsubr.go. However, ppc64 does not consider REGRT1 and REGRT2 to be part of its reserved set, so its identical clearfat check passes. This CL removes the Reginuse check inside clearfat as REGRT1 is guarenteed always be free on arm64. Change-Id: I4719150d3c3378fae155b863c474529df18d4c17 Reviewed-on: https://go-review.googlesource.com/13650Reviewed-by:
Russ Cox <rsc@golang.org>
-
- 15 Aug, 2015 3 commits
-
-
Dmitry Vyukov authored
Use runtime.GOROOT instead of os.Getenv("GOROOT") to reference trace-viewer html file. GOROOT env var is not necessary set, runtime.GOROOT has a default value for such case. Change-Id: I906a720f6822915bd9575756e6cbf6d622857c2b Reviewed-on: https://go-review.googlesource.com/13593Reviewed-by:
Russ Cox <rsc@golang.org>
-
Rahul Chaudhry authored
Fixes #12144. Change-Id: I112c6517371215c9797db8f1dffca0f3047c39e3 Reviewed-on: https://go-review.googlesource.com/13633Reviewed-by:
Russ Cox <rsc@golang.org>
-
Keith Randall authored
The reg[] array in .../gc is where truth lies. The copy in .../ARCH is incorrect as it is mostly not updated to reflect regalloc decisions. This bug was introduced in the rewrite https://go-review.googlesource.com/#/c/7853/. The new reg[] array was introduced in .../gc but not all of the uses were removed in the .../ARCH directories. Fixes #12133 Change-Id: I6364fc403cdab92d802d17f2913ba1607734037c Reviewed-on: https://go-review.googlesource.com/13630Reviewed-by:
Russ Cox <rsc@golang.org>
-
- 12 Aug, 2015 1 commit
-
-
Dave Cheney authored
Update #12108 If DUFFZERO is used within a tail call method it will overwrite the link register. Change-Id: I6abd2fde0f0ad909ccd55eb119b992673a74f0e2 Reviewed-on: https://go-review.googlesource.com/13570Reviewed-by:
Russ Cox <rsc@golang.org>
-
- 11 Aug, 2015 2 commits
-
-
Russ Cox authored
Fixes #12096. Followup to CL 12483, which fixed #11709 and #11449. Change-Id: I9031ea36cc60685f4d6f65c39f770c89b3e3395a Reviewed-on: https://go-review.googlesource.com/13449Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
p.ImportPath is the directory-derived path (like cmd/go). p.Name is the actual package name. Fixes #12089. Change-Id: Ief76d42a85f811b0dfe2218affb48551527a7d44 Reviewed-on: https://go-review.googlesource.com/13530Reviewed-by:
David Crawshaw <crawshaw@golang.org>
-