diff options
-rw-r--r-- | src/cmd/link/internal/ld/data.go | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cmd/link/internal/ld/data.go b/src/cmd/link/internal/ld/data.go index aca8973a85..2e5db616cd 100644 --- a/src/cmd/link/internal/ld/data.go +++ b/src/cmd/link/internal/ld/data.go @@ -1836,6 +1836,11 @@ func (ctxt *Link) dodata() { datsize = Rnd(datsize, int64(sect.Align)) sect.Vaddr = uint64(datsize) for _, s := range dwarfp[i:] { + // Syms can (incorrectly) appear twice on the list. Ignore repeats. + // See golang.org/issue/21566. + if s.Type == obj.SRODATA { + continue + } if s.Type != obj.SDWARFINFO { break } |