5e1dcb7a04
Given an inlinable method M in package P: func (r *MyStruct) M(...) { When M is compiled within its home package, the source position that the compiler records for 'r' (receiver parameter variable) is accurate, whereas if M is built as part of the compilation of some other package (body read from export data), the declaration line assigned to 'r' will be the line number of the 'import' directive, not the source line from M's source file. This inconsistency can cause differences in the size of abstract parameter DIEs (due to variable-length encoding), which can then in turn result in bad abstract origin offsets, which in turn triggers build failures on iOS (dsymutil crashes when it encounters an incorrect abstract origin reference). Work around the problem by removing the "declaration line number" attribute within the abstract parameter abbreviation table entry. The decl line attribute doesn't contribute a whole lot to the debugging experience, and it gets rid of the inconsistencies that trigger the dsymutil crashes. Updates #23374. Change-Id: I0fdc8e19a48db0ccd938ceadf85103936f89ce9f Reviewed-on: https://go-review.googlesource.com/87055 Run-TryBot: Than McIntosh <thanm@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Heschi Kreinick <heschi@google.com> |
||
---|---|---|
.github | ||
api | ||
doc | ||
lib/time | ||
misc | ||
src | ||
test | ||
.gitattributes | ||
.gitignore | ||
AUTHORS | ||
CONTRIBUTING.md | ||
CONTRIBUTORS | ||
favicon.ico | ||
LICENSE | ||
PATENTS | ||
README.md | ||
robots.txt |
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://golang.org/dl/.
After downloading a binary release, visit https://golang.org/doc/install or load doc/install.html in your web browser for installation instructions.
Install From Source
If a binary distribution is not available for your combination of operating system and architecture, visit https://golang.org/doc/install/source or load doc/install-source.html in your web browser for source installation instructions.
Contributing
Go is the work of hundreds of contributors. We appreciate your help!
To contribute, please read the contribution guidelines: https://golang.org/doc/contribute.html
Note that the Go project does not use GitHub pull requests, and that we use 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.