diff options
author | Cherry Mui <cherryyz@google.com> | 2021-10-05 10:48:24 -0400 |
---|---|---|
committer | Cherry Mui <cherryyz@google.com> | 2021-10-05 15:58:05 +0000 |
commit | f1f626de5382220f3b34fd3f5616d5c0868b3561 (patch) | |
tree | fb9d67257e9bad71f33ac1700bcf7ceff7f7b8af /src/cmd/link | |
parent | 017ffcd10d980e7fe6ca101e253a12c9326fba37 (diff) | |
download | go-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.go | 5 |
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, |