b1e83c0513
Currently, in most cases the compiler generates a func value symbol when it is referenced, except when building a shared object it generates the func value symbol when the function is declared. The comment says this was necessary because we cannot deduplicate DUPOK symbols across DSO boundaries. But the dynamic linker is just fine to resolve symbols with the same name across DSO boundaries. Another problem may be that the address of the PLT stub may be used. When such a func value is deferred, when the runtime needs to scan its arguments, it cannot look up the PC to find the function and therefore cannot find its stack map. This is not a problem now as deferred functions always have no arguments. Remove the special case for shared linkage. Change-Id: Id7df0b0ada6d3d7f85741a9ab09581975509516c Reviewed-on: https://go-review.googlesource.com/c/go/+/396534 Trust: Cherry Mui <cherryyz@google.com> Reviewed-by: Than McIntosh <thanm@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> |
||
---|---|---|
.github | ||
api | ||
doc | ||
lib/time | ||
misc | ||
src | ||
test | ||
.gitattributes | ||
.gitignore | ||
AUTHORS | ||
codereview.cfg | ||
CONTRIBUTING.md | ||
CONTRIBUTORS | ||
LICENSE | ||
PATENTS | ||
README.md | ||
SECURITY.md |
The Go Programming Language
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Gopher image by Renee French, licensed under Creative Commons 3.0 Attributions license.
Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
Download and Install
Binary Distributions
Official binary distributions are available at https://go.dev/dl/.
After downloading a binary release, visit https://go.dev/doc/install for installation instructions.
Install From Source
If a binary distribution is not available for your combination of operating system and architecture, visit https://go.dev/doc/install/source for source installation instructions.
Contributing
Go is the work of thousands of contributors. We appreciate your help!
To contribute, please read the contribution guidelines at https://go.dev/doc/contribute.
Note that the Go project uses the issue tracker for bug reports and proposals only. See https://golang.org/wiki/Questions for a list of places to ask questions about the Go language.