- 23 Dec, 2014 18 commits
-
-
David du Colombier authored
Add a nil byte at the end of the itoa buffer, before calling gostringnocopy. This prevents gostringnocopy to read past the buffer size. Change-Id: I87494a8dd6ea45263882536bf6c0f294eda6866d Reviewed-on: https://go-review.googlesource.com/2033Reviewed-by: Aram Hăvărneanu <aram@mgk.ro>
-
Guobiao Mei authored
Originally it used r.Int63() to show "Uint32", and now we use the correct r.Uint32() method. Fixes #9429 Change-Id: I8a1228f1ca1af93b0e3104676fc99000257c456f Reviewed-on: https://go-review.googlesource.com/2069Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
David du Colombier authored
These tests were enabled as part of change 1774. They depend on the errchk tool, which is a Perl script. However, Perl is not available on Plan 9. Change-Id: I82707aae16013acc9a3800d39b0084588b852b53 Reviewed-on: https://go-review.googlesource.com/2031Reviewed-by: Minux Ma <minux@golang.org>
-
David du Colombier authored
During change 1864 discussion, Russ Cox pointed out the fatal function shouldn't print errstr. Change-Id: Icd71ec04be9c944bc235b8b198158465172e4fde Reviewed-on: https://go-review.googlesource.com/2030Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Alex Brainman authored
Change-Id: I171298e7942093e9cc82e3a0c4fcbb5b10298816 Reviewed-on: https://go-review.googlesource.com/1998Reviewed-by: Minux Ma <minux@golang.org>
-
Shenghou Ma authored
Change-Id: Iaad548ea90d3b70341a723450d5e4d4c2b88856f Reviewed-on: https://go-review.googlesource.com/2063Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
More cmd/api/run.go hell. Fixes #9407 Change-Id: If8fb446a2471d6372beb0534c9ab6824029b404c Reviewed-on: https://go-review.googlesource.com/2054Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Minux Ma <minux@golang.org>
-
Shenghou Ma authored
Change-Id: I17ddcb541dfac8b1e48e01ee005563031b6ade2a Reviewed-on: https://go-review.googlesource.com/2062Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Andrew Gerrand authored
The freebsd-386 and freebsd-amd64 builders are timing out sometimes. This will give them some more breathing room. Change-Id: Ib65bd172cca046a52861759a4232d7b4b6514fa8 Reviewed-on: https://go-review.googlesource.com/1994Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Alex Brainman authored
Change-Id: I55419cb580e6d18cf1c17c3e7bb8777ed6d794e7 Reviewed-on: https://go-review.googlesource.com/1995Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Keith Randall authored
malloc checks kindNoPointers and if it is not set and the object is one pointer in size, it assumes it contains a pointer. So we must set kindNoPointers correctly; it isn't just a hint. Fixes #9425 Change-Id: Ia43da23cc3298d6e3d6dbdf66d32e9678f0aedcf Reviewed-on: https://go-review.googlesource.com/2055Reviewed-by: Russ Cox <rsc@golang.org>
-
Russ Cox authored
Replace with uses of //go:linkname in Go files, direct use of name in .s files. The only one that really truly needs a jump is reflect.call; the jump is now next to the runtime.reflectcall assembly implementations. Change-Id: Ie7ff3020a8f60a8e4c8645fe236e7883a3f23f46 Reviewed-on: https://go-review.googlesource.com/1962Reviewed-by: Austin Clements <austin@google.com>
-
Austin Clements authored
issue9400_linux.go did not build on 386 because it used a constant that was larger than a 32-bit int in a ... argument. Fix this by casting the constant to uint64 (to match how the constant is being used). Change-Id: Ie8cb64c3910382a41c7852be7734a62f0b2d5a21 Reviewed-on: https://go-review.googlesource.com/2060Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Change-Id: I90a8ca51269528a307e0d6f52436fc7913cd7900 Reviewed-on: https://go-review.googlesource.com/1541Reviewed-by: Russ Cox <rsc@golang.org>
-
Austin Clements authored
These signals are used by glibc to broadcast setuid/setgid to all threads and to send pthread cancellations. Unlike other signals, the Go runtime does not intercept these because they must invoke the libc handlers (see issues #3871 and #6997). However, because 1) these signals may be issued asynchronously by a thread running C code to another thread running Go code and 2) glibc does not set SA_ONSTACK for its handlers, glibc's signal handler may be run on a Go stack. Signal frames range from 1.5K on amd64 to many kilobytes on ppc64, so this may overflow the Go stack and corrupt heap (or other stack) data. Fix this by ensuring that these signal handlers have the SA_ONSTACK flag (but not otherwise taking over the handler). This has been a problem since Go 1.1, but it's likely that people haven't encountered it because it only affects setuid/setgid and pthread_cancel. Fixes #9600. Change-Id: I6cf5f5c2d3aa48998d632f61f1ddc2778dcfd300 Reviewed-on: https://go-review.googlesource.com/1887Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
George Shammas authored
Currently when we get a CGI or FCGI request, the remote port of the client is hard coded to zero, despite nearly every webserver passing down the REMOTE_PORT variable. This was likely originally excluded because the CGI RFC (rfc3875) does not mention anything about the remote port of the client. However every webserver tested does pass REMOTE_PORT down. This includes Apache 2.2, Apache 2.4, nginx and lighttpd. Fixes #8351 Change-Id: I4c6366cb39f0ccc05e038bd31d85f93b76e8d0c8 Reviewed-on: https://go-review.googlesource.com/1750Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Josh Bleecher Snyder authored
Broken by e7173dfd Fix by simply disabling the relevant tests. * bug248 and bug345 require errchk, but we can't rely on perl being available. * bug369 is disabled anyway. Change-Id: Idf73ebccb066943e3fe17c2f662b37238ec74dfe Reviewed-on: https://go-review.googlesource.com/2052Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
Keith Randall authored
Calls to goproc/deferproc used to push & pop two extra arguments, the argument size and the function to call. Now, we allocate space for those arguments in the outargs section so we don't have to modify the SP. Defers now use the stack pointer (instead of the argument pointer) to identify which frame they are associated with. A followon CL might simplify funcspdelta and some of the stack walking code. Fixes issue #8641 Change-Id: I835ec2f42f0392c5dec7cb0fe6bba6f2aed1dad8 Reviewed-on: https://go-review.googlesource.com/1601Reviewed-by: Russ Cox <rsc@golang.org>
-
- 22 Dec, 2014 22 commits
-
-
Austin Clements authored
Change-Id: I8670540a2a9647efbd8b072a54272a04c530e54b Reviewed-on: https://go-review.googlesource.com/2001Reviewed-by: Minux Ma <minux@golang.org>
-
Mikio Hara authored
OpenBSD 5.5 changed its kernel ABI and OpenBSD 5.6 enabled it. This CL works on both 5.5 and 5.6. Fixes #9102. Change-Id: I4a295be9ab8acbc99e550d8cb7e8f8dacf3a03c5 Reviewed-on: https://go-review.googlesource.com/1932Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Keith Randall authored
Change-Id: Ieb305b2a4d4ef28d70a8b8ece703f495c5af0529 Reviewed-on: https://go-review.googlesource.com/2051Reviewed-by: Keith Randall <khr@golang.org>
-
Ian Lance Taylor authored
Gccgo creates a struct to hold the arguments for the deferred function. In this example the struct holds a type defined in a different package. The bug was that gccgo tried to create an equality function for this struct, and it implemented that function by calling the equality function for the type defined in the other package. Since that type is not exported, the reference to the equality function failed at link time. Normally it is impossible for a struct to directly contain a member that is an unexported type from another package, but in this specific case it was possible. Fixed in gccgo with https://codereview.appspot.com/183500043 . Change-Id: I8ec3a33631225b9ac2a4ac060cb4d10b4635e60b Reviewed-on: https://go-review.googlesource.com/1690Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Minux Ma <minux@golang.org>
-
Austin Clements authored
Previously, this code generated bogus section indexes for dynamic symbols. It turns out this didn't matter, since we only emit these when generating an executable and in an executable it only matters whether a symbol is defined or undefined, but it leads to perplexing code full of mysterious constants. Unfortunately, this happens too early to put in real section indexes, so just use section index 1 to distinguish the symbol from an undefined symbol. Change-Id: I0e514604bf31f21683598ebd3e020b66acf767ef Reviewed-on: https://go-review.googlesource.com/1720Reviewed-by: Russ Cox <rsc@golang.org>
-
Austin Clements authored
This will be used by ppc64 to add call stubs to the .text section. ARM needs a similar pass to generate veneers for arm->thumb transitions. Change-Id: Iaee74036e60643a56fab15b564718f359c5910eb Reviewed-on: https://go-review.googlesource.com/2004Reviewed-by: Russ Cox <rsc@golang.org>
-
Austin Clements authored
Disabled by default, but invaluable when you need it. Change-Id: If4a75d11d14f70b6840d339aaec4b940dc406493 Reviewed-on: https://go-review.googlesource.com/2012Reviewed-by: Russ Cox <rsc@golang.org>
-
Josh Bleecher Snyder authored
* bug248, bug345, bug369, and bug429 were ported from bash commands to run scripts. bug369 remains disabled. * bug395 is a test for issue 1909, which is still open. It is marked as skip now and will be usable with compile with run.go when issue 1909 is fixed. Fixes #4139 Updates #1909 Change-Id: Ibb5fbfb5cf72ddc285829245318eeacd3fb5a636 Reviewed-on: https://go-review.googlesource.com/1774Reviewed-by: Russ Cox <rsc@golang.org>
-
Joe Shaw authored
Change-Id: Ie5a36dbcd809fc165f4198d47641d5a95878460c Reviewed-on: https://go-review.googlesource.com/2000Reviewed-by: Russ Cox <rsc@golang.org>
-
Keith Randall authored
For arm and powerpc, as well as x86 without aes instructions. Contains a mixture of ideas from cityhash and xxhash. Compared to our old fallback on ARM, it's ~no slower on small objects and up to ~50% faster on large objects. More importantly, it is a much better hash function and thus has less chance of bad behavior. Fixes #8737 benchmark old ns/op new ns/op delta BenchmarkHash5 173 181 +4.62% BenchmarkHash16 252 212 -15.87% BenchmarkHash64 575 419 -27.13% BenchmarkHash1024 7173 3995 -44.31% BenchmarkHash65536 516940 313173 -39.42% BenchmarkHashStringSpeed 300 279 -7.00% BenchmarkHashBytesSpeed 478 424 -11.30% BenchmarkHashInt32Speed 217 207 -4.61% BenchmarkHashInt64Speed 262 231 -11.83% BenchmarkHashStringArraySpeed 609 631 +3.61% Change-Id: I0a9335028f32b10ad484966e3019987973afd3eb Reviewed-on: https://go-review.googlesource.com/1360Reviewed-by: Russ Cox <rsc@golang.org>
-
Keith Randall authored
Pointers to zero-sized values may end up pointing to the next object in memory, and possibly off the end of a span. This can cause memory leaks and/or confuse the garbage collector. By putting the overflow pointer at the end of the bucket, we make sure that pointers to any zero-sized keys or values don't accidentally point to the next object in memory. fixes #9384 Change-Id: I5d434df176984cb0210b4d0195dd106d6eb28f73 Reviewed-on: https://go-review.googlesource.com/1869Reviewed-by: Russ Cox <rsc@golang.org>
-
Josh Bleecher Snyder authored
Change-Id: I3b81f2e9eb29ee6349d758b68fe7951b34f15a81 Reviewed-on: https://go-review.googlesource.com/1974Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Change-Id: Icba46194bcbfd86b512eef2599242c715ad4e7d3 Reviewed-on: https://go-review.googlesource.com/2041Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Brad Fitzpatrick authored
Fixes #9409 Change-Id: I2404cd8bf3ebb07f4b6a2b3e1d58ab69b9f1e8d8 Reviewed-on: https://go-review.googlesource.com/2040Reviewed-by: Andrew Gerrand <adg@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
David Crawshaw authored
Handles the case where the parent is pid 1 (common in docker containers). Attempted and failed to write a test for this. Fixes #9263. Change-Id: I5c6036446c99e66259a4fab1660b6a594f875020 Reviewed-on: https://go-review.googlesource.com/1372Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Josh Bleecher Snyder authored
Move the symMerge recursion stopping condition from the beginning of symMerge to the callers. This halves the number of calls to symMerge while running 'go test sort'. benchmark old ns/op new ns/op delta BenchmarkStable1e6 8358117060 7954143849 -4.83% BenchmarkStable1e4 40116117 38583285 -3.82% BenchmarkStableInt1K 119150 115182 -3.33% BenchmarkStableInt64K 9799845 9515475 -2.90% BenchmarkStableString1K 388901 393516 +1.19% BenchmarkStable1e2 124917 123618 -1.04% Change-Id: I7ba2ca277f213b076fe6830e1139edb47ac53800 Reviewed-on: https://go-review.googlesource.com/1820Reviewed-by: Robert Griesemer <gri@golang.org>
-
Stan Schwertly authored
intDataSize ignores unsigned integers, forcing reads/writes to miss the fast path. Fixes #8956 Change-Id: Ie79b565b037db3c469aa1dc6d0a8a5a9252d5f0a Reviewed-on: https://go-review.googlesource.com/1777Reviewed-by: Russ Cox <rsc@golang.org>
-
Austin Clements authored
Change-Id: I15269722ca3d2654a9dd7a3f8a89ad375dc9bee0 Reviewed-on: https://go-review.googlesource.com/1759Reviewed-by: Russ Cox <rsc@golang.org>
-
Brad Fitzpatrick authored
Fixes #9407 Change-Id: I765e8009c7ee22473ac8c2d81c7f6c8ec9866c51 Reviewed-on: https://go-review.googlesource.com/1980Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Peter Armitage authored
Change-Id: Iea08b8f4e74a8cd4b4d317273046457c8db956a1 Reviewed-on: https://go-review.googlesource.com/1640Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Austin Clements authored
This was a copy-paste error from 9l. Besides incorrectly referring to cnames9, 6l doesn't even use a->class, so simply remove this. Fixes #9320 Change-Id: I0e3440c9dae1c3408eb795b3645f9f1dd8f50aed Reviewed-on: https://go-review.googlesource.com/1516Reviewed-by: Russ Cox <rsc@golang.org>
-
Brad Fitzpatrick authored
Fixes #9418 Change-Id: I044fa1d26d972f012f00388a84c4d0f143cf4f63 Reviewed-on: https://go-review.googlesource.com/1970Reviewed-by: Robert Griesemer <gri@golang.org>
-