From: Jeremy Faller Date: Fri, 22 May 2020 00:42:17 +0000 (-0400) Subject: [dev.link] cmd/link: move asmb2 aix from ppc64 to generic code X-Git-Tag: go1.16beta1~1378^2~103 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=c7ade964baab645bf89e92eb797a958e877fafc2;p=gostls13.git [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 Reviewed-by: Cherry Zhang --- diff --git a/src/cmd/link/internal/ld/asmb.go b/src/cmd/link/internal/ld/asmb.go index b6237d35c3..1668dd11f6 100644 --- a/src/cmd/link/internal/ld/asmb.go +++ b/src/cmd/link/internal/ld/asmb.go @@ -75,7 +75,7 @@ func asmb(ctxt *Link, ldr *loader.Loader) { // - 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 @@ func asmb2(ctxt *Link) bool { 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 317c3dd0fe..d26a501d4f 100644 --- a/src/cmd/link/internal/ppc64/asm.go +++ b/src/cmd/link/internal/ppc64/asm.go @@ -1079,31 +1079,3 @@ func ensureglinkresolver(ctxt *ld.Link, ldr *loader.Loader) *loader.SymbolBuilde 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 ae291f87fc..2b04f25951 100644 --- a/src/cmd/link/internal/ppc64/obj.go +++ b/src/cmd/link/internal/ppc64/obj.go @@ -54,7 +54,6 @@ func Init() (*sys.Arch, ld.Arch) { Archinit: archinit, Archreloc: archreloc, Archrelocvariant: archrelocvariant, - Asmb2: asmb2, Elfreloc1: elfreloc1, Elfsetupplt: elfsetupplt, Gentext: gentext,