From: Russ Cox Date: Wed, 14 Apr 2021 23:53:43 +0000 (-0400) Subject: cmd/link: count relocations better X-Git-Tag: go1.17beta1~468 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=199575a119;p=gostls13.git cmd/link: count relocations better Change-Id: Ie188abeb0194bf266d38c9bd0dda4b8f48934697 Reviewed-on: https://go-review.googlesource.com/c/go/+/312035 Trust: Russ Cox Run-TryBot: Russ Cox TryBot-Result: Go Bot Reviewed-by: Cherry Zhang --- diff --git a/src/cmd/link/internal/ld/pe.go b/src/cmd/link/internal/ld/pe.go index b70c0693e8..9643f9690c 100644 --- a/src/cmd/link/internal/ld/pe.go +++ b/src/cmd/link/internal/ld/pe.go @@ -524,7 +524,6 @@ func (f *peFile) emitRelocations(ctxt *Link) { if sect.Vaddr >= sect.Seg.Vaddr+sect.Seg.Filelen { return 0 } - nrelocs := 0 sect.Reloff = uint64(ctxt.Out.Offset()) for i, s := range syms { if !ldr.AttrReachable(s) { @@ -562,11 +561,11 @@ func (f *peFile) emitRelocations(ctxt *Link) { if !thearch.PEreloc1(ctxt.Arch, ctxt.Out, ldr, s, rr, int64(uint64(ldr.SymValue(s)+int64(r.Off()))-base)) { ctxt.Errorf(s, "unsupported obj reloc %d/%d to %s", r.Type(), r.Siz(), ldr.SymName(r.Sym())) } - nrelocs++ } } sect.Rellen = uint64(ctxt.Out.Offset()) - sect.Reloff - return nrelocs + const relocLen = 4 + 4 + 2 + return int(sect.Rellen / relocLen) } sects := []struct {