commit | 9b1b0a46dd3c9704a49a5ba1950212c6fff7917d | [log] [tgz] |
---|---|---|
author | Austin Clements <austin@google.com> | Thu Dec 18 11:40:48 2014 -0500 |
committer | Austin Clements <austin@google.com> | Thu Dec 18 22:32:18 2014 +0000 |
tree | d5fd9a5657ed8e5332e226498038fa33bf354d3e | |
parent | 15c67e21daee0a5055c8fc0144e7efe0345d1929 [diff] |
liblink: fail for too-large register offset constants Previously, liblink would silently truncate register offset constants to 32 bits. For example, MOVD $0x200000004(R2),R3 would assemble to addis r31,r2,0 addi r3,r31,4 To fix this, limit C_LACON to 32 bit (signed) offsets and introduce a new C_DACON operand type for larger register offsets. We don't implement this currently, but at least liblink will now give an error if it encounters an address like this. Change-Id: I8e87def8cc4cc5b75498b0fb543ac7666cf2964e Reviewed-on: https://go-review.googlesource.com/1758 Reviewed-by: Minux Ma <minux@golang.org>
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
For documentation about how to install and use Go, visit https://golang.org/ or load doc/install-source.html in your web browser.
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.)
Please report issues here: https://golang.org/issue/new
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
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
If you have just untarred a binary Go distribution, you need to set the environment variable $GOROOT to the full path of the go directory (the one containing this file). You can omit the variable if you unpack it into /usr/local/go, or if you rebuild from sources by running all.bash (see doc/install-source.html). You should also add the Go binary directory $GOROOT/bin to your shell's path.
For example, if you extracted the tar file into $HOME/go, you might put the following in your .profile:
export GOROOT=$HOME/go export PATH=$PATH:$GOROOT/bin
See https://golang.org/doc/install or doc/install.html for more details.