]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/link: mangle function name with ABI on XCOFF
authorCherry Mui <cherryyz@google.com>
Tue, 5 Oct 2021 14:48:24 +0000 (10:48 -0400)
committerCherry Mui <cherryyz@google.com>
Tue, 5 Oct 2021 15:58:05 +0000 (15:58 +0000)
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>
src/cmd/link/internal/ld/xcoff.go

index b57ccb4fe08fd821bf5c75baf8e3eac557228a58..aba6138c834adca7c09bb56d2f40cb94aba0edb1 100644 (file)
@@ -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,