]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/link: fix number-of-files entry in gopclntab
authorCherry Zhang <cherryyz@google.com>
Thu, 15 Sep 2016 23:52:40 +0000 (19:52 -0400)
committerCherry Zhang <cherryyz@google.com>
Fri, 16 Sep 2016 01:41:56 +0000 (01:41 +0000)
According to golang.org/s/go12symtab, for N files, it should put N+1
there.

Fixes #17132.

Change-Id: I0c84136855c6436be72b9d3c407bf10d4c81a099
Reviewed-on: https://go-review.googlesource.com/29275
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Crawshaw <crawshaw@golang.org>
src/cmd/link/internal/ld/pcln.go

index 6025f38f96cca25d7346a44a81931973f617e464..41c83bef378dd93f60716d372a325d2adb08ea7b 100644 (file)
@@ -358,7 +358,7 @@ func (ctxt *Link) pclntab() {
        setuint32(ctxt, ftab, 8+int64(SysArch.PtrSize)+int64(nfunc)*2*int64(SysArch.PtrSize)+int64(SysArch.PtrSize), uint32(start))
 
        Symgrow(ctxt, ftab, int64(start)+(int64(len(ctxt.Filesyms))+1)*4)
-       setuint32(ctxt, ftab, int64(start), uint32(len(ctxt.Filesyms)))
+       setuint32(ctxt, ftab, int64(start), uint32(len(ctxt.Filesyms)+1))
        for i := len(ctxt.Filesyms) - 1; i >= 0; i-- {
                s := ctxt.Filesyms[i]
                setuint32(ctxt, ftab, int64(start)+s.Value*4, uint32(ftabaddstring(ctxt, ftab, s.Name)))