aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/link/internal/loader/loader.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2021-04-14 12:44:04 -0400
committerRuss Cox <rsc@golang.org>2021-04-23 21:43:02 +0000
commit59ceb985c7f78ca5dba6b83ff126d97d86267d7c (patch)
tree5fc469a7f2c6cfcd7cfad2b8c4f6af6158911e0a /src/cmd/link/internal/loader/loader.go
parent199575a119d909b98afb044a94f43249883c1062 (diff)
downloadgo-59ceb985c7f78ca5dba6b83ff126d97d86267d7c.tar.xz
cmd/link: make Loader.SymName not crash
Even if not presented with a valid symbol, recover gracefully, so that debug prints do not crash. Change-Id: I06bbe4bec5f90b79b4830e772a7fc3d7c919df1b Reviewed-on: https://go-review.googlesource.com/c/go/+/312036 Trust: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/cmd/link/internal/loader/loader.go')
-rw-r--r--src/cmd/link/internal/loader/loader.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cmd/link/internal/loader/loader.go b/src/cmd/link/internal/loader/loader.go
index 141dd0ac68..d5331b3fef 100644
--- a/src/cmd/link/internal/loader/loader.go
+++ b/src/cmd/link/internal/loader/loader.go
@@ -771,6 +771,9 @@ func (l *Loader) SymName(i Sym) string {
return pp.name
}
r, li := l.toLocal(i)
+ if r == nil {
+ return "?"
+ }
name := r.Sym(li).Name(r.Reader)
if !r.NeedNameExpansion() {
return name