- 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 7 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>
-
Russ Cox authored
Fixes #12107. Change-Id: I62f1b6ac9fb6f2cfa3472253dc1c6f7b7d2a6faf Reviewed-on: https://go-review.googlesource.com/13448Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
David Symonds authored
Change-Id: I8f5c72c6c0db015c06d564523bab35d97d934578 Reviewed-on: https://go-review.googlesource.com/13510Reviewed-by: Michael McGreevy <mcgreevy@golang.org> Reviewed-by: David Symonds <dsymonds@golang.org>
-
David Symonds authored
Fixes #12098. Change-Id: I190586484cd34856dccfafaba60eff0197c7dc20 Reviewed-on: https://go-review.googlesource.com/13500Reviewed-by: Rob Pike <r@golang.org>
-
Rob Pike authored
Fixes #12086 Belongs in 1.5 There remains a question of why the Statenames table's elements are not printed. What purpose does that serve? Change-Id: I83fd57b81d5e5065c3397a66ed457fc0d1c041bd Reviewed-on: https://go-review.googlesource.com/13462Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org> Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Andrew Gerrand authored
Update issue #12102. Change-Id: I9cafb284a848cc053bc7e5479c53ebf889b6d4d9 Reviewed-on: https://go-review.googlesource.com/13480Reviewed-by: Rob Pike <r@golang.org>
-
- 10 Aug, 2015 2 commits
-
-
Rob Pike authored
When scanning a hex byte at EOF, the code was ungetting the eof, which backed up the input and caused double-scanning of a byte. Delete the call to UnreadRune. This line appeared in 1.5 for some reason; it was not in 1.4 and should be removed again for 1.5 Fixes #12090. Change-Id: Iad1ce8e7db8ec26615c5271310f4b0228cca7d78 Reviewed-on: https://go-review.googlesource.com/13461Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Dave Cheney authored
Fixes #12062 Updates #11961 The sRPC nameservice was removed in pepper 42. For Go 1.5 stipulate that NaCl requires pepper 41 only. Change-Id: Ic88ba342d41f673391efaa96fb581712fa10a0fd Reviewed-on: https://go-review.googlesource.com/13341Reviewed-by: Andrew Gerrand <adg@golang.org>
-
- 07 Aug, 2015 4 commits
-
-
Russ Cox authored
Changes the torture test in #12068 from failing about 1/10 times to not failing in almost 2,000 runs. This was only happening in -race mode because functions are bigger in -race mode, so a few of the helpers for heapBitsBulkBarrier were not being inlined, and they were not marked nosplit, so (only in -race mode) the write barrier was being preempted by GC, causing missed pointer updates. Filed issue #12069 for diagnosis of any other similar errors. Fixes #12068. Change-Id: Ic174d9b050ba278b18b08ab0d85a73c33bd5b175 Reviewed-on: https://go-review.googlesource.com/13364Reviewed-by: Austin Clements <austin@google.com>
-
Russ Cox authored
Also, crash early on non-Linux SMP ARM systems when GOARM < 7; without the proper synchronization, SMP cannot work. Linux is okay because we call kernel-provided routines for synchronization and barriers, and the kernel takes care of providing the right routines for the current system. On non-Linux systems we are left to fend for ourselves. It is possible to use different synchronization on GOARM=6, but it's too late to do that in the Go 1.5 cycle. We don't believe there are any non-Linux SMP GOARM=6 systems anyway. Fixes #12067. Change-Id: I771a556e47893ed540ec2cd33d23c06720157ea3 Reviewed-on: https://go-review.googlesource.com/13363Reviewed-by: Austin Clements <austin@google.com>
-
Andrew Gerrand authored
Change-Id: I625c9df161da2febdca85741c75fc32d4bef420b Reviewed-on: https://go-review.googlesource.com/13344Reviewed-by: Rob Pike <r@golang.org>
-
Andrew Gerrand authored
Change-Id: I6bea045bb1cef15e6d9d3b4e6e6b4ae91f7bb941 Reviewed-on: https://go-review.googlesource.com/13345Reviewed-by: Rob Pike <r@golang.org>
-
- 06 Aug, 2015 3 commits
-
-
Russ Cox authored
Fixes #12060. Change-Id: Ie2fd10bedded1a4f4e0daa0c0c77ecd898480767 Reviewed-on: https://go-review.googlesource.com/13324Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Austin Clements authored
Currently, runtime.Goexit() calls goexit()—the goroutine exit stub—to terminate the goroutine. This *mostly* works, but can cause a "leftover stack barriers" panic if the following happens: 1. Goroutine A has a reasonably large stack. 2. The garbage collector scan phase runs and installs stack barriers in A's stack. The top-most stack barrier happens to fall at address X. 3. Goroutine A unwinds the stack far enough to be a candidate for stack shrinking, but not past X. 4. Goroutine A calls runtime.Goexit(), which calls goexit(), which calls goexit1(). 5. The garbage collector enters mark termination. 6. Goroutine A is preempted right at the prologue of goexit1() and performs a stack shrink, which calls gentraceback. gentraceback stops as soon as it sees goexit on the stack, which is only two frames up at this point, even though there may really be many frames above it. More to the point, the stack barrier at X is above the goexit frame, so gentraceback never sees that stack barrier. At the end of gentraceback, it checks that it saw all of the stack barriers and panics because it didn't see the one at X. The fix is simple: call goexit1, which actually implements the process of exiting a goroutine, rather than goexit, the exit stub. To make sure this doesn't happen again in the future, we also add an argument to the stub prototype of goexit so you really, really have to want to call it in order to call it. We were able to reliably reproduce the above sequence with a fair amount of awful code inserted at the right places in the runtime, but chose to change the goexit prototype to ensure this wouldn't happen again rather than pollute the runtime with ugly testing code. Change-Id: Ifb6fb53087e09a252baddadc36eebf954468f2a8 Reviewed-on: https://go-review.googlesource.com/13323Reviewed-by: Russ Cox <rsc@golang.org>
-
Russ Cox authored
This makes TestTraceStressStartStop much less flaky. Running under stress, it changes the failure rate from above 1/100 to under 1/50000. That very unlikely failure happens when an unexpected GoSysExit is written. Not sure how that happens yet, but it is much less important. Fixes #11953. Change-Id: I034671936334b4f3ab733614ef239aa121d20247 Reviewed-on: https://go-review.googlesource.com/13321Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
-