aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/link
diff options
context:
space:
mode:
authorCherry Mui <cherryyz@google.com>2021-10-05 10:48:24 -0400
committerCherry Mui <cherryyz@google.com>2021-10-05 15:58:05 +0000
commitf1f626de5382220f3b34fd3f5616d5c0868b3561 (patch)
treefb9d67257e9bad71f33ac1700bcf7ceff7f7b8af /src/cmd/link
parent017ffcd10d980e7fe6ca101e253a12c9326fba37 (diff)
downloadgo-f1f626de5382220f3b34fd3f5616d5c0868b3561.tar.gz
go-f1f626de5382220f3b34fd3f5616d5c0868b3561.zip
cmd/link: mangle function name with ABI on XCOFF
This is like CL 304432 and CL 307229, for XCOFF. With this, GOEXPERIMENT=regabi works on AIX/PPC64. Change-Id: I8cf00681df5c93f397913febd78f38099d91e7c8 Reviewed-on: https://go-review.googlesource.com/c/go/+/353972 Trust: Cherry Mui <cherryyz@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>
Diffstat (limited to 'src/cmd/link')
-rw-r--r--src/cmd/link/internal/ld/xcoff.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cmd/link/internal/ld/xcoff.go b/src/cmd/link/internal/ld/xcoff.go
index b57ccb4fe0..aba6138c83 100644
--- a/src/cmd/link/internal/ld/xcoff.go
+++ b/src/cmd/link/internal/ld/xcoff.go
@@ -822,9 +822,12 @@ func (f *xcoffFile) writeSymbolFunc(ctxt *Link, x loader.Sym) []xcoffSym {
}
}
+ name = ldr.SymExtname(x)
+ name = mangleABIName(ctxt, ldr, x, name)
+
s := &XcoffSymEnt64{
Nsclass: C_EXT,
- Noffset: uint32(xfile.stringTable.add(ldr.SymExtname(x))),
+ Noffset: uint32(xfile.stringTable.add(name)),
Nvalue: uint64(ldr.SymValue(x)),
Nscnum: f.getXCOFFscnum(ldr.SymSect(x)),
Ntype: SYM_TYPE_FUNC,