From af98efc545476cea052881e0a6e623f7219d5e97 Mon Sep 17 00:00:00 2001 From: Cherry Zhang Date: Tue, 28 Jan 2020 16:38:38 -0500 Subject: [PATCH] [dev.link] cmd/link: correct overwrite logic 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 Reviewed-by: Jeremy Faller --- src/cmd/link/internal/loader/loader.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cmd/link/internal/loader/loader.go b/src/cmd/link/internal/loader/loader.go index 47393a9584..3eea1fd8cd 100644 --- a/src/cmd/link/internal/loader/loader.go +++ b/src/cmd/link/internal/loader/loader.go @@ -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 -- 2.48.1