]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/link: don't overwrite text sections on PPC64
authorCherry Zhang <cherryyz@google.com>
Wed, 6 May 2020 22:57:58 +0000 (18:57 -0400)
committerCherry Zhang <cherryyz@google.com>
Thu, 7 May 2020 14:26:51 +0000 (14:26 +0000)
The code writes text sections twice, one with Codeblk, one with
Datblk. The second write shouldn't be there.

May fix #38898.

Change-Id: I4ec70294059ec9aa0fc4cc69a3cd824f5843287b
Reviewed-on: https://go-review.googlesource.com/c/go/+/232661
Run-TryBot: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
Reviewed-by: Jeremy Faller <jeremy@golang.org>
src/cmd/link/internal/ppc64/asm.go

index 4dc50eab79aeb4124ab3348ff4c6b9f31394e450..bd4827ecb54bf4e441e48fe131bb2b5d42d69b2b 100644 (file)
@@ -1098,11 +1098,6 @@ func asmb(ctxt *ld.Link, _ *loader.Loader) {
                }
        }
 
-       for _, sect := range ld.Segtext.Sections[1:] {
-               offset := sect.Vaddr - ld.Segtext.Vaddr + ld.Segtext.Fileoff
-               ld.WriteParallel(&wg, ld.Datblk, ctxt, offset, sect.Vaddr, sect.Length)
-       }
-
        if ld.Segrodata.Filelen > 0 {
                ld.WriteParallel(&wg, ld.Datblk, ctxt, ld.Segrodata.Fileoff, ld.Segrodata.Vaddr, ld.Segrodata.Filelen)
        }