[dev.link] cmd/link: move asmb2 aix from ppc64 to generic code

Removes last vestiges all but wasm's asmb2.

Change-Id: Ia06efc3ded7bfc657b5dd20a9549fd48d1355e52
Reviewed-on: https://go-review.googlesource.com/c/go/+/234892
Reviewed-by: Than McIntosh <thanm@google.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
diff --git a/src/cmd/link/internal/ld/asmb.go b/src/cmd/link/internal/ld/asmb.go
index b6237d3..1668dd1 100644
--- a/src/cmd/link/internal/ld/asmb.go
+++ b/src/cmd/link/internal/ld/asmb.go
@@ -75,7 +75,7 @@
 //  - writing out the architecture specific pieces.
 // This function handles the second part.
 func asmb2(ctxt *Link) bool {
-	if ctxt.IsAIX() || ctxt.IsWasm() {
+	if ctxt.IsWasm() {
 		return false
 	}
 
@@ -125,6 +125,13 @@
 		WritePlan9Header(ctxt.Out, thearch.Plan9Magic, Entryvalue(ctxt), thearch.Plan9_64Bit)
 	}
 
+	if ctxt.IsAIX() {
+		ctxt.Out.SeekSet(0)
+		fileoff := uint32(Segdwarf.Fileoff + Segdwarf.Filelen)
+		fileoff = uint32(Rnd(int64(fileoff), int64(*FlagRound)))
+		Asmbxcoff(ctxt, int64(fileoff))
+	}
+
 	if *FlagC {
 		fmt.Printf("textsize=%d\n", Segtext.Filelen)
 		fmt.Printf("datsize=%d\n", Segdata.Filelen)
diff --git a/src/cmd/link/internal/ppc64/asm.go b/src/cmd/link/internal/ppc64/asm.go
index 317c3dd..d26a501 100644
--- a/src/cmd/link/internal/ppc64/asm.go
+++ b/src/cmd/link/internal/ppc64/asm.go
@@ -1079,31 +1079,3 @@
 
 	return glink
 }
-
-func asmb2(ctxt *ld.Link, _ *loader.Loader) {
-	if ctxt.IsElf() {
-		panic("elf should be generic")
-	}
-
-	/* output symbol table */
-	ld.Symsize = 0
-	ld.Lcsize = 0
-	ctxt.Out.SeekSet(0)
-	switch ctxt.HeadType {
-	default:
-
-	case objabi.Haix:
-		fileoff := uint32(ld.Segdwarf.Fileoff + ld.Segdwarf.Filelen)
-		fileoff = uint32(ld.Rnd(int64(fileoff), int64(*ld.FlagRound)))
-		ld.Asmbxcoff(ctxt, int64(fileoff))
-	}
-
-	if *ld.FlagC {
-		fmt.Printf("textsize=%d\n", ld.Segtext.Filelen)
-		fmt.Printf("datsize=%d\n", ld.Segdata.Filelen)
-		fmt.Printf("bsssize=%d\n", ld.Segdata.Length-ld.Segdata.Filelen)
-		fmt.Printf("symsize=%d\n", ld.Symsize)
-		fmt.Printf("lcsize=%d\n", ld.Lcsize)
-		fmt.Printf("total=%d\n", ld.Segtext.Filelen+ld.Segdata.Length+uint64(ld.Symsize)+uint64(ld.Lcsize))
-	}
-}
diff --git a/src/cmd/link/internal/ppc64/obj.go b/src/cmd/link/internal/ppc64/obj.go
index ae291f8..2b04f25 100644
--- a/src/cmd/link/internal/ppc64/obj.go
+++ b/src/cmd/link/internal/ppc64/obj.go
@@ -54,7 +54,6 @@
 		Archinit:         archinit,
 		Archreloc:        archreloc,
 		Archrelocvariant: archrelocvariant,
-		Asmb2:            asmb2,
 		Elfreloc1:        elfreloc1,
 		Elfsetupplt:      elfsetupplt,
 		Gentext:          gentext,