]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.link] cmd/link: correct overwrite logic
authorCherry Zhang <cherryyz@google.com>
Tue, 28 Jan 2020 21:38:38 +0000 (16:38 -0500)
committerCherry Zhang <cherryyz@google.com>
Fri, 31 Jan 2020 17:40:47 +0000 (17:40 +0000)
This was mistakenly changed during the refactor in  CL 201728.
Restore the old behavior.

Change-Id: I9991859e7587f5f567bbe86ae19dede904b3a399
Reviewed-on: https://go-review.googlesource.com/c/go/+/217062
Run-TryBot: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Jeremy Faller <jeremy@golang.org>
src/cmd/link/internal/loader/loader.go

index 47393a95843cbcb1a15e6ac6e46739ac90761657..3eea1fd8cd2c22ba8bedfe9b7f86865f4674a0fa 100644 (file)
@@ -322,7 +322,7 @@ func (l *Loader) AddSym(name string, ver int, i Sym, r *oReader, dupok bool, typ
                if overwrite {
                        // new symbol overwrites old symbol.
                        oldtyp := sym.AbiSymKindToSymKind[objabi.SymKind(oldsym.Type)]
-                       if !oldtyp.IsData() && r.DataSize(li) == 0 {
+                       if !(oldtyp.IsData() && oldr.DataSize(li) == 0) {
                                log.Fatalf("duplicated definition of symbol " + name)
                        }
                        l.overwrite[oldi] = i