- 19 Aug, 2015 2 commits
-
-
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 8 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>
-
Joe Shaw authored
Fixes #12053 Change-Id: Icd883b4f1ac944a8ec718c79770a8e3fc6542e3a Reviewed-on: https://go-review.googlesource.com/13259Reviewed-by: Russ Cox <rsc@golang.org>
-
Russ Cox authored
The old code was only allowing the chars we choose not to escape. We sometimes prefer to escape chars that do not strictly need it. Allowing those to be used in RawPath lets people override that preference, which is in fact the whole point of RawPath (new in Go 1.5). While we are here, also allow [ ] in RawPath. This is not strictly spec-compliant, but it is what modern browers do and what at least some people expect, and the [ ] do not cause any ambiguity (the usual reason they would be escaped, as they are part of the RFC gen-delims class). The argument for allowing them now instead of waiting until Go 1.6 is that this way RawPath has one fixed meaning at the time it is introduced, that we should not need to change or expand. Fixes #5684. Change-Id: If9c82a18f522d7ee1d10310a22821ada9286ee5c Reviewed-on: https://go-review.googlesource.com/13258Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Russ Cox authored
The code in question was added as part of allowing zone identifiers in IPv6 literals like http://[ipv6%zone]:port/foo, in golang.org/cl/2431. The old condition makes no sense. It refers to §3.2.1, which is the wrong section of the RFC, it excludes all the sub-delims, which §3.2.2 (the right section) makes clear are valid, and it allows ':', which is not actually valid, without an explanation as to why (because we keep :port in the Host field of the URL struct). The new condition allows all the sub-delims, as specified in RFC 3986, plus the additional characters [ ] : seen in IP address literals and :port suffixes, which we also keep in the Host field. This allows mysql://a,b,c/path to continue to parse, as it did in Go 1.4 and earlier. This CL does not break any existing tests, suggesting the over-conservative behavior was not intended and perhaps not realized. It is especially important not to over-escape the host field, because Go does not unescape the host field during parsing: it rejects any host field containing % characters. Fixes #12036. Change-Id: Iccbe4985957b3dc58b6dfb5dcb5b63a51a6feefb Reviewed-on: https://go-review.googlesource.com/13254Reviewed-by: Andrew Gerrand <adg@golang.org> Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
-
Mikio Hara authored
Change-Id: Ic61fd38e7d2e0821c6adcaa210199a7dae8849a7 Reviewed-on: https://go-review.googlesource.com/13281Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Russ Cox authored
Go 1.4 and earlier accepted mysql://x@y(z:123)/foo and I don't see any compelling reason to break that. The CL during Go 1.5 that broke this syntax was trying to fix #11208 and was probably too aggressive. I added a test case for #11208 to make sure that stays fixed. Relaxing the check did not re-break #11208 nor did it cause any existing test to fail. I added a test for the mysql://x@y(z:123)/foo syntax being preserved. Fixes #12023. Change-Id: I659d39f18c85111697732ad24b757169d69284fc Reviewed-on: https://go-review.googlesource.com/13253Reviewed-by: Andrew Gerrand <adg@golang.org> Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
-
- 05 Aug, 2015 2 commits
-
-
Andrew Gerrand authored
Fixes #10639 Change-Id: I0aa3bcbf656e23e6a110041439f6052057074b88 Reviewed-on: https://go-review.googlesource.com/13270Reviewed-by: Russ Cox <rsc@golang.org>
-
Russ Cox authored
Fixes #11977. Fixes #11988. Change-Id: I9f80006946d3752ee6d644ee51f2decfeaca1ff6 Reviewed-on: https://go-review.googlesource.com/13230Reviewed-by: Andrew Gerrand <adg@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-