- 06 May, 2015 19 commits
-
-
Aram Hăvărneanu authored
Before CL 8214 (use .plt instead of .got on Solaris) Solaris used a dynamic linking scheme that didn't permit lazy binding. To speed program startup, Go binaries only used it for a small number of symbols required by the runtime. Other symbols were resolved on demand on first use, and were cached for subsequent use. This required some moderately complex code in the syscall package. CL 8214 changed the way dynamic linking is implemented, and now lazy binding is supported. As now all symbols are resolved lazily by the dynamic loader, there is no need for the complex code in the syscall package that did the same. This CL makes Go programs link directly with the necessary shared libraries and deletes the lazy-loading code implemented in Go. Change-Id: Ifd7275db72de61b70647242e7056dd303b1aee9e Reviewed-on: https://go-review.googlesource.com/9184Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Aram Hăvărneanu authored
Change-Id: I0110b01fe4c64851ac2cfb5a92c31ce156831bc8 Reviewed-on: https://go-review.googlesource.com/8265Reviewed-by: Minux Ma <minux@golang.org>
-
Aram Hăvărneanu authored
Solaris, like Windows, NetBSD and OpenBSD, uses macros for stdin, stdout, and stderr. Cgo can't access them without getters/setters written in C. Because of this we disable affected tests like for the other platforms. Updates #10715. Change-Id: I3d33a5554b5ba209273dbdff992925a38a281b42 Reviewed-on: https://go-review.googlesource.com/8264Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Aram Hăvărneanu authored
Change-Id: Ifd9ac7f5300232fb83c6350a787b5803adb96b48 Reviewed-on: https://go-review.googlesource.com/8263Reviewed-by: Minux Ma <minux@golang.org>
-
Aram Hăvărneanu authored
Change-Id: Ib66bebd418d97f38956970f93e69aa41e7c55523 Reviewed-on: https://go-review.googlesource.com/8262Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
-
Aram Hăvărneanu authored
Change-Id: I56149ef6607fb4d9baff9047cb3a47d71cad6fa6 Reviewed-on: https://go-review.googlesource.com/8261Reviewed-by: Minux Ma <minux@golang.org>
-
Aram Hăvărneanu authored
Change-Id: Ic9744c7716cdd53f27c6e5874230963e5fff0333 Reviewed-on: https://go-review.googlesource.com/8260Reviewed-by: Minux Ma <minux@golang.org>
-
Aram Hăvărneanu authored
ELF normally requires this and Solaris runtime loader will crash if we don't do it. Fixes Solaris build. Change-Id: I0482eed890aff2d346136ae7f9caf8f094f502ed Reviewed-on: https://go-review.googlesource.com/8216Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Aram Hăvărneanu authored
The linker always uses .plt for externals, so libcFunc is now an actual external symbol instead of a pointer to one. Fixes most of the breakage introduced in previous CL. Change-Id: I64b8c96f93127f2d13b5289b024677fd3ea7dbea Reviewed-on: https://go-review.googlesource.com/8215Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Minux Ma <minux@golang.org>
-
Aram Hăvărneanu authored
Solaris requires all external procedures to be accessed through the PLT. If 6l won't do it, /bin/ld will, so all the code written with .GOT in mind won't work with the external linker. This CL makes external linking work, opening the path to cgo support on Solaris. This CL breaks the Solaris build, this is fixed in subsequent CLs in this series. Change-Id: If370a79f49fdbe66d28b89fa463b4f3e91685f69 Reviewed-on: https://go-review.googlesource.com/8214Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Minux Ma <minux@golang.org>
-
Mikio Hara authored
This change simplifies unnecessarily redundant error messages in tests. There's no need to worry any more because package APIs now return consistent, self-descriptive error values. Alos renames ambiguous test functions and makes use of test tables. Change-Id: I7b61027607c4ae2a3cf605d08d58cf449fa27eb2 Reviewed-on: https://go-review.googlesource.com/9662Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
-
Mikio Hara authored
This change makes TestDualStack{TCP,UDP}Listener work more properly by attempting to book an available service port before testing. Also simplifies error messages in tests. Fixes #5001. Change-Id: If13b0d0039878c9bd32061a0440664e4fa7abaf7 Reviewed-on: https://go-review.googlesource.com/9661Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Shenghou Ma authored
Change-Id: Ie0ba7a5cb860e6fff68ec3042764c7e026b1234c Reviewed-on: https://go-review.googlesource.com/9781Reviewed-by: Minux Ma <minux@golang.org>
-
Nigel Tao authored
isn't (0, 0). Also fix a s/b.Min.X/b.Max.X/ typo in bounds checking. Fixes #10676 Change-Id: Ie5ff7ec20ca30367a8e65d32061959a2d8e089e9 Reviewed-on: https://go-review.googlesource.com/9712Reviewed-by: Rob Pike <r@golang.org>
-
Michael Hudson-Doyle authored
My last update to https://golang.org/cl/9710 missed this. Change-Id: Ie042032ca307e1065fcf6c402a166f9ff74027e7 Reviewed-on: https://go-review.googlesource.com/9771Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Mikio Hara authored
Change-Id: I0e1519d429a295faa70013687d6faf2f5ce0be24 Reviewed-on: https://go-review.googlesource.com/9713Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Mikio Hara authored
Fixes #10703. Change-Id: I55c0f07625a0847fb27defa9891af6db6eb21f82 Reviewed-on: https://go-review.googlesource.com/9714Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Michael Hudson-Doyle authored
An ELF linker handles a PC-relative reference to an STT_FUNC defined in a shared library by building a PLT entry and referring to that, so do the same in 6l. Fixes #10690 Change-Id: I061a96fd4400d957e301d0ac86760ce256910e1d Reviewed-on: https://go-review.googlesource.com/9711 Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
Fixes #9987 Change-Id: Ibebd105a2bcdc1741f3b41aa78cb986f3f518b53 Reviewed-on: https://go-review.googlesource.com/9638Reviewed-by: Andrew Gerrand <adg@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
-
- 05 May, 2015 20 commits
-
-
Didier Spezia authored
Catch some malformed pipelines at parsing time. The current code accepts pipelines such as: {{12|.}} {{"hello"|print|false}} {{.|"blah blah"}} Such pipelines generate panic in html/template at execution time. Add an extra check to verify all the commands of the pipeline are executable (except for the first one). Fixes #10610 Change-Id: Id72236ba8f76a59fa284fe3d4c2cb073e50b51f1 Reviewed-on: https://go-review.googlesource.com/9626Reviewed-by: Rob Pike <r@golang.org>
-
Michael Hudson-Doyle authored
This makes the intermediate object file a little bigger but it doesn't waste any space in the final shared library. Fixes #10691 Change-Id: Ic51a571d60291f1ac2dad1b50dba4679643168ae Reviewed-on: https://go-review.googlesource.com/9710Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Michael Hudson-Doyle authored
This changes the action graph when shared libraries are involved to always have an action for the shared library (which does nothing when the shared library is up to date). Change-Id: Ibbc70fd01cbb3f4e8c0ef96e62a151002d446144 Reviewed-on: https://go-review.googlesource.com/8934Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Dave Cheney authored
Fixes #10660 Fix the clang only builder by passing -extld down to the linker when needed. The build passed on most hosts because gcc is almost always present. The bug was verified by symlinking bin/false in place of gcc in my $PATH and running the build. Also, resolve a TODO and move the support logic into its own function. Tested manually env CC=clang-3.5 ./all.bash # linux/amd64 env CC=gcc-4.8 ./all.bash # linux/amd64 ./all.bash # linux/amd64 ./all.bash # darwin/amd64 Change-Id: I4e27a1119356e295500a0d19ad7a4ec14207bf10 Reviewed-on: https://go-review.googlesource.com/9526 Run-TryBot: Dave Cheney <dave@cheney.net> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Fabrizio (Misto) Milo authored
Fixes #10675 Change-Id: Ia057427ce3e81d35f1ba6c354868a0ad6cc9abf2 Reviewed-on: https://go-review.googlesource.com/9636Reviewed-by: Rob Pike <r@golang.org>
-
Rob Pike authored
Fixes #9676. Change-Id: I32fe474cdfa09aff91daa4b10ac4df28ffdaa649 Reviewed-on: https://go-review.googlesource.com/9741Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Burcu Dogan authored
Change-Id: Ida727edb592e77918ca5511b41456786d57c97b2 Reviewed-on: https://go-review.googlesource.com/9634Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Minux Ma authored
I just submitted the real fix for #10641. This reverts commit 3120adc2. Change-Id: I55051515f697e27ca887ed21c2ac985f0b9b062b Reviewed-on: https://go-review.googlesource.com/9720Reviewed-by: Joel Sing <jsing@google.com>
-
Rob Pike authored
No semantic change. Fixes #8708. Change-Id: Ieda04a86a19bb69bfc2519d381a2f025e7cb8279 Reviewed-on: https://go-review.googlesource.com/9740Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
I forgot there is already a ptrSize constant. Rename field to avoid some confusion. Change-Id: I098fdcc8afc947d6c02c41c6e6de24624cc1c8ff Reviewed-on: https://go-review.googlesource.com/9700Reviewed-by: Austin Clements <austin@google.com>
-
Rob Pike authored
The old one was inferior. Fixes #10695. Change-Id: Ia7fb88c9ceb1b10197b77a54f729865385288d98 Reviewed-on: https://go-review.googlesource.com/9709Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
-
Rob Pike authored
When a parse error occurred, the lexing goroutine would lay idle. It's not likely a problem but if the program is for some reason accepting badly formed data repeatedly, it's wasteful. The solution is easy: Just drain the input on error. We know this will succeed because the input is always a string and is therefore guaranteed finite. With debugging prints in the package tests I've shown this is effective, shutting down 79 goroutines that would otherwise linger, out of 123 total. Fixes #10574. Change-Id: I8aa536e327b219189a7e7f604a116fa562ae1c39 Reviewed-on: https://go-review.googlesource.com/9658Reviewed-by: Russ Cox <rsc@golang.org>
-
Keith Randall authored
Freezetheworld still has stuff to do when gomaxprocs=1. In particular, signals can come in on other Ms (like the GC M, say) and the single user M is still running. Fixes #10546 Change-Id: I2f07f17d1c81e93cf905df2cb087112d436ca7e7 Reviewed-on: https://go-review.googlesource.com/9551Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
-
Mikio Hara authored
These a series of changes fix inconsistent errors on the package net APIs. Now almost all the APIs return OpError as a common error type except Lookup, Resolve and Parse APIs. The Lookup, Resolve and Parse APIs return more specific errors such as DNSError, AddrError or ParseError. An OpError may contain nested error information. For example, Dial may return an OpError containing a DNSError, AddrError, unexposed type/value or other package's type/value like the following: OpError{/* dial info */, Err: &DNSError{}} OpError{/* dial info */, Err: &AddrError{}} OpError{/* dial info */, Err: <unexposed type or value>} OpError{/* dial info */, Err: <other package's type or value>} and Read and Write may return an OpError containing other OpError when an application uses io.Copy or similar: OpError{/* for io.Reader */, Err: &OpError{/* for io.Writer */}} When an endpoint is created for connection-oriented byte-stream protocols, Read may return an io.EOF when the connection is closed by remote endpoint. Fixes #4856. A series of changes: - net: fix inconsistent error values on Dial, Listen partially https://go.googlesource.com/go/+/89b7c66d0d14462fd7893be4290bdfe5f9063ae1 - net: fix inconsistent error values on Read https://go.googlesource.com/go/+/ec1144423f45e010c72363fe59291d43214b6e31 - net: fix inconsistent error values on Write https://go.googlesource.com/go/+/11b5f98bf0d5eb8854f735cc332c912725070214 - net: fix inconsistent error values on Close https://go.googlesource.com/go/+/310db63c5bc121e7bfccb494c01a6b91a257e7fc - net: fix inconsistent error values on Accept https://go.googlesource.com/go/+/4540e162b1aefda8157372764ad3d290a414ef1d - net: fix inconsistent error values on File https://go.googlesource.com/go/+/885111365ba0a74421059bfbd18f4c57c1e70332 - net: fix inconsistent error values on setters https://go.googlesource.com/go/+/2173a27903897c481b0a0daf3ca3e0a0685701db - net: fix inconsistent error values on Interface https://go.googlesource.com/go/+/456cf0f22c93e1a6654980f4a48a564555f6c8a2 - net: fix inconsistent error values on Lookup https://go.googlesource.com/go/+/0fc582e87942b2e52bed751b6c56660ba99e9a7d - net: add Source field to OpError https://go.googlesource.com/go/+/afd2d2b6df3ebfe99faf347030f15adfdf422fa0 Change-Id: Id678e369088dc9fbe9073cfe7ff8a8754a57d61f Reviewed-on: https://go-review.googlesource.com/9236Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Mikio Hara authored
Change-Id: If84edfaec361ca2fbb75707c4ad30e4ce64f7013 Reviewed-on: https://go-review.googlesource.com/9664Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Shenghou Ma authored
When emulating ARM FSQRT instruction, the sqrt function itself should not use any floating point arithmetics, otherwise it will clobber the user software FP registers. Fortunately, the sqrt function only uses floating point instructions to test for corner cases, so it's easy to make that function does all it job using pure integer arithmetic only. I've verified that after this change, runtime.stepflt and runtime.sqrt doesn't contain any call to _sfloat. (Perhaps we should add //go:nosfloat to make the compiler enforce this?) Fixes #10641. Change-Id: Ida4742c49000fae4fea4649f28afde630ce4c576 Signed-off-by: Shenghou Ma <minux@golang.org> Reviewed-on: https://go-review.googlesource.com/9570Reviewed-by: Dave Cheney <dave@cheney.net> Reviewed-by: Keith Randall <khr@golang.org>
-
Nigel Tao authored
The spec at http://www.w3.org/Graphics/GIF/spec-gif89a.txt always says "color table" and not "color map". Change-Id: I4c172e3ade15618cbd616629822ce7d109a200af Reviewed-on: https://go-review.googlesource.com/9668Reviewed-by: Rob Pike <r@golang.org>
-
Joel Sing authored
OSQRT currently produces incorrect results when used on arm with softfloat. Disable it on GOARM=5 until the actual problem is found and fixed. Updates #10641 Change-Id: Ia6f6879fbbb05cb24399c2feee93c1be21113e73 Reviewed-on: https://go-review.googlesource.com/9524Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Dave Cheney <dave@cheney.net>
-
Shenghou Ma authored
Whenever we introduce a new GOARCH, older Go releases won't recognize them and this causes trouble for both our users and us (we need to add unnecessary build tags). Go 1.5 has introduced three new GOARCHes so far: arm64 ppc64 ppc64le, we can take the time to introduce GOARCHes for all common architectures that Go might support in the future to avoid the problem. Fixes #10165. Change-Id: Ida4f9112897cfb1e85b06538db79125955ad0f4c Reviewed-on: https://go-review.googlesource.com/9644Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Keith Randall authored
Fixes #10638 Change-Id: I7bbaad7e5a599aa94d1d158e903596231c7e9897 Reviewed-on: https://go-review.googlesource.com/9535Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
- 04 May, 2015 1 commit
-
-
Dave Cheney authored
Update #10652 This proposal deletes cmd/internal/ld.Biobuf and replaces all uses with cmd/internal/obj.Biobuf. As cmd/internal/ld already imported cmd/internal/obj there are no additional dependencies created. Notes: - ld.Boffset included more checks, so it was merged into obj.Boffset - obj.Bflush was removed in 8d16253c, so replaced all calls to ld.Bflush, with obj.Biobuf.Flush. - Almost all of this change was prepared with sed. Change-Id: I814854d52f5729a5a40c523c8188e465246b88da Reviewed-on: https://go-review.googlesource.com/9660Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Dave Cheney <dave@cheney.net>
-