From: Clément Chigot Date: Wed, 23 Jan 2019 08:01:37 +0000 (+0100) Subject: cmd/link: fix -a with external linker X-Git-Tag: go1.13beta1~1314 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=9f9c5fa8c7b8ad4d6a691aa3f1b557a9216d838f;p=gostls13.git cmd/link: fix -a with external linker This commit fixes a panic when -a was used with external linkmode. Fixes #29807 Change-Id: I8cd42775f2953cec620cbc9ab345421c2694c9a2 Reviewed-on: https://go-review.googlesource.com/c/158998 Reviewed-by: Matthew Dempsky Run-TryBot: Matthew Dempsky TryBot-Result: Gobot Gobot --- diff --git a/src/cmd/link/internal/ld/data.go b/src/cmd/link/internal/ld/data.go index e0fad1acfd..0bd7d82b54 100644 --- a/src/cmd/link/internal/ld/data.go +++ b/src/cmd/link/internal/ld/data.go @@ -824,8 +824,10 @@ func Datblk(ctxt *Link, addr int64, size int64) { for i := range sym.R { r := &sym.R[i] // Copying sym.Reloc has measurable impact on performance rsname := "" + rsval := int64(0) if r.Sym != nil { rsname = r.Sym.Name + rsval = r.Sym.Value } typ := "?" switch r.Type { @@ -836,7 +838,7 @@ func Datblk(ctxt *Link, addr int64, size int64) { case objabi.R_CALL: typ = "call" } - ctxt.Logf("\treloc %.8x/%d %s %s+%#x [%#x]\n", uint(sym.Value+int64(r.Off)), r.Siz, typ, rsname, r.Add, r.Sym.Value+r.Add) + ctxt.Logf("\treloc %.8x/%d %s %s+%#x [%#x]\n", uint(sym.Value+int64(r.Off)), r.Siz, typ, rsname, r.Add, rsval+r.Add) } }