From 199575a119d909b98afb044a94f43249883c1062 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Wed, 14 Apr 2021 19:53:43 -0400 Subject: [PATCH] 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 --- src/cmd/link/internal/ld/pe.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) 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 { -- 2.50.0