From: Lynn Boger Date: Tue, 13 Oct 2020 13:15:52 +0000 (-0400) Subject: cmd/link: update plt size appropriately on ppc64 X-Git-Tag: go1.16beta1~756 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=a15ec3895b99cd6b49576a6c1a739b46f8afeaf4;p=gostls13.git cmd/link: update plt size appropriately on ppc64 When attempting to enable internal linking with cgo on ppc64 it was discovered that the plt size was not being updated after adding entries to it, which resulted in this error: .plt: initialize bounds (16 < 24) This changes fixes that problem. Updates #21961 Change-Id: Ie17539c329f5a4802e5defd93852dcdde19ded8c Reviewed-on: https://go-review.googlesource.com/c/go/+/261837 Trust: Lynn Boger Run-TryBot: Lynn Boger TryBot-Result: Go Bot Reviewed-by: Cherry Zhang --- diff --git a/src/cmd/link/internal/ppc64/asm.go b/src/cmd/link/internal/ppc64/asm.go index dc522e6a38..e58bf7370e 100644 --- a/src/cmd/link/internal/ppc64/asm.go +++ b/src/cmd/link/internal/ppc64/asm.go @@ -994,6 +994,7 @@ func addpltsym(ctxt *ld.Link, ldr *loader.Loader, s loader.Sym) { ldr.SetPlt(s, int32(plt.Size())) plt.Grow(plt.Size() + 8) + plt.SetSize(plt.Size() + 8) rela.AddAddrPlus(ctxt.Arch, plt.Sym(), int64(ldr.SymPlt(s))) rela.AddUint64(ctxt.Arch, ld.ELF64_R_INFO(uint32(ldr.SymDynid(s)), uint32(elf.R_PPC64_JMP_SLOT)))