diff options
| author | Alessandro Arzilli <alessandro.arzilli@gmail.com> | 2021-09-03 17:00:41 +0200 |
|---|---|---|
| committer | Than McIntosh <thanm@google.com> | 2021-09-20 18:31:54 +0000 |
| commit | 6268468e024ce7fa063611b98a2f11f17fd4bad8 (patch) | |
| tree | 222fe3712e895b087fb934de1afca70c5feae623 /src/cmd/link/internal/loader/loader.go | |
| parent | 6acac8b6856b2531f4ac7ee0eb37048d588d98c7 (diff) | |
| download | go-6268468e024ce7fa063611b98a2f11f17fd4bad8.tar.xz | |
cmd/link: generate DIE for types referenced only through dictionaries
Generate debug_info entries for types that are only referenced through
dictionaries.
Change-Id: Ic36c2e6d9588ec6746793bb213c2dc0e17a8a850
Reviewed-on: https://go-review.googlesource.com/c/go/+/350532
Run-TryBot: Alessandro Arzilli <alessandro.arzilli@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dan Scales <danscales@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
Trust: Dan Scales <danscales@google.com>
Trust: David Chase <drchase@google.com>
Diffstat (limited to 'src/cmd/link/internal/loader/loader.go')
| -rw-r--r-- | src/cmd/link/internal/loader/loader.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/cmd/link/internal/loader/loader.go b/src/cmd/link/internal/loader/loader.go index f144e00f37..b9a1da6f45 100644 --- a/src/cmd/link/internal/loader/loader.go +++ b/src/cmd/link/internal/loader/loader.go @@ -1209,6 +1209,15 @@ func (l *Loader) IsItab(i Sym) bool { return r.Sym(li).IsItab() } +// Returns whether this symbol is a dictionary symbol. +func (l *Loader) IsDict(i Sym) bool { + if l.IsExternal(i) { + return false + } + r, li := l.toLocal(i) + return r.Sym(li).IsDict() +} + // Return whether this is a trampoline of a deferreturn call. func (l *Loader) IsDeferReturnTramp(i Sym) bool { return l.deferReturnTramp[i] |
