aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/link
diff options
context:
space:
mode:
authorCherry Zhang <cherryyz@google.com>2021-04-30 20:53:14 -0400
committerCherry Zhang <cherryyz@google.com>2021-05-01 19:17:47 +0000
commit053fe2f485fa1fd191f079cdc4a32f33761e38e4 (patch)
tree597194f7b185b3cd57fdd774972f6e3c5fff5b3b /src/cmd/link
parentd7473fd9076a978352d3bb29c13464c3c17d46c3 (diff)
downloadgo-053fe2f485fa1fd191f079cdc4a32f33761e38e4.tar.gz
go-053fe2f485fa1fd191f079cdc4a32f33761e38e4.zip
cmd/link: emit better error for duplicated definition
Print the packages where the duplicates come from. Change-Id: Ib3dc9aa0a3f5ddd97b03744be6d01d4bfcb33996 Reviewed-on: https://go-review.googlesource.com/c/go/+/315949 Trust: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>
Diffstat (limited to 'src/cmd/link')
-rw-r--r--src/cmd/link/internal/loader/loader.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cmd/link/internal/loader/loader.go b/src/cmd/link/internal/loader/loader.go
index 1bfcfe435a..1b71a66c6f 100644
--- a/src/cmd/link/internal/loader/loader.go
+++ b/src/cmd/link/internal/loader/loader.go
@@ -471,14 +471,14 @@ func (st *loadState) addSym(name string, ver int, r *oReader, li uint32, kind in
// new symbol overwrites old symbol.
oldtyp := sym.AbiSymKindToSymKind[objabi.SymKind(oldsym.Type())]
if !(oldtyp.IsData() && oldr.DataSize(oldli) == 0) {
- log.Fatalf("duplicated definition of symbol " + name)
+ log.Fatalf("duplicated definition of symbol %s, from %s and %s", name, r.unit.Lib.Pkg, oldr.unit.Lib.Pkg)
}
l.objSyms[oldi] = objSym{r.objidx, li}
} else {
// old symbol overwrites new symbol.
typ := sym.AbiSymKindToSymKind[objabi.SymKind(oldsym.Type())]
if !typ.IsData() { // only allow overwriting data symbol
- log.Fatalf("duplicated definition of symbol " + name)
+ log.Fatalf("duplicated definition of symbol %s, from %s and %s", name, r.unit.Lib.Pkg, oldr.unit.Lib.Pkg)
}
}
return oldi