commit | 2f8798ed071072dbb6801c5dbc5a4368cb5984e9 | [log] [tgz] |
---|---|---|
author | diaxu01 <dianhong.xu@arm.com> | Fri Sep 06 09:55:54 2019 +0000 |
committer | Cherry Zhang <cherryyz@google.com> | Wed Mar 25 14:28:26 2020 +0000 |
tree | 8cc6b2278d6dca0c4677e4dc3ac20e7b87f82073 | |
parent | 91b8b130dda2c3a5933baee439e3fed1098e8318 [diff] |
cmd/internal/obj/arm64: add support of PCALIGN directive Recently, we get requirements of instructions and functions alignment from the gVisor project. To fit the alignment requirement of interrupt table, they require an instruction's address to be aligned 128 bytes and a function's entry address to be aligned 2K bytes. Thus we add support for PCALIGN directive first. Below is a discussion about this topic. https://groups.google.com/forum/m/#!topic/golang-dev/RPj90l5x86I Functions in Go are aligned to 16 bytes on arm64, thus now we only support 8 and 16 bytes alignment. This patch adds support for PCALIGN directive. This directive can be used within Go asm to align instruction by padding NOOP directives. This patch also adds a test to verify the correnctness of the PCALIGN directive. The test is contributed by Fannie Zhang <Fannie.Zhang@arm.com>. Change-Id: I709e6b94847fe9e1824f42f4155355f90c63d523 Reviewed-on: https://go-review.googlesource.com/c/go/+/207117 Reviewed-by: eric fang <eric.fang@arm.com> Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
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.
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.
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.
Go is the work of thousands of contributors. We appreciate your help!
To contribute, please read the contribution guidelines: https://golang.org/doc/contribute.html
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.