aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal/obj/link.go
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2018-10-22 10:10:23 -0400
committerAustin Clements <austin@google.com>2018-11-12 20:46:37 +0000
commit97e4010fd4b8094aa0b4498ad751e4c07ea8a1aa (patch)
treef34429877d9d991cdeda36c1124c4fc88ef1f817 /src/cmd/internal/obj/link.go
parentba2e8a629b36e43cc27b23470b631a1dfee0900f (diff)
downloadgo-97e4010fd4b8094aa0b4498ad751e4c07ea8a1aa.tar.xz
cmd/compile: accept and parse symabis
This doesn't yet do anything with this information. For #27539. Change-Id: Ia12c905812aa1ed425eedd6ab2f55ec75d81c0ce Reviewed-on: https://go-review.googlesource.com/c/147099 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/cmd/internal/obj/link.go')
-rw-r--r--src/cmd/internal/obj/link.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/cmd/internal/obj/link.go b/src/cmd/internal/obj/link.go
index d924cbc214..d3721dd023 100644
--- a/src/cmd/internal/obj/link.go
+++ b/src/cmd/internal/obj/link.go
@@ -409,6 +409,28 @@ type FuncInfo struct {
StackObjects *LSym
}
+//go:generate stringer -type ABI
+
+// ABI is the calling convention of a text symbol.
+type ABI uint8
+
+const (
+ // ABI0 is the stable stack-based ABI. It's important that the
+ // value of this is "0": we can't distinguish between
+ // references to data and ABI0 text symbols in assembly code,
+ // and hence this doesn't distinguish between symbols without
+ // an ABI and text symbols with ABI0.
+ ABI0 ABI = iota
+
+ // ABIInternal is the internal ABI that may change between Go
+ // versions. All Go functions use the internal ABI and the
+ // compiler generates wrappers for calls to and from other
+ // ABIs.
+ ABIInternal
+
+ ABICount
+)
+
// Attribute is a set of symbol attributes.
type Attribute int16