aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal/obj
diff options
context:
space:
mode:
authorCherry Zhang <cherryyz@google.com>2020-05-21 14:08:32 -0400
committerCherry Zhang <cherryyz@google.com>2020-05-21 14:08:32 -0400
commit6097f7cf7a9a9bf877f6f49112ffcc2d0f0e7e75 (patch)
treec42265e0cfb4ac2bbcf4a9ed9432748997d2362a /src/cmd/internal/obj
parent8e4ab9cb4c28649be36f82a02d04eb1cb31d02c9 (diff)
parentc847589ad06a1acfcceaac7b230c0d5a826caab8 (diff)
downloadgo-6097f7cf7a9a9bf877f6f49112ffcc2d0f0e7e75.tar.xz
[dev.link] all: merge branch 'master' into dev.link
Change-Id: I85b653b621ad8cb2ef27886210ea2c4b7409b60d
Diffstat (limited to 'src/cmd/internal/obj')
-rw-r--r--src/cmd/internal/obj/objfile.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/cmd/internal/obj/objfile.go b/src/cmd/internal/obj/objfile.go
index 6701b9bfba..5e7018eb6e 100644
--- a/src/cmd/internal/obj/objfile.go
+++ b/src/cmd/internal/obj/objfile.go
@@ -425,6 +425,14 @@ func (ft *DwarfFixupTable) SetPrecursorFunc(s *LSym, fn interface{}) {
absfn.Type = objabi.SDWARFINFO
ft.ctxt.Data = append(ft.ctxt.Data, absfn)
+ // In the case of "late" inlining (inlines that happen during
+ // wrapper generation as opposed to the main inlining phase) it's
+ // possible that we didn't cache the abstract function sym for the
+ // text symbol -- do so now if needed. See issue 38068.
+ if s.Func != nil && s.Func.dwarfAbsFnSym == nil {
+ s.Func.dwarfAbsFnSym = absfn
+ }
+
ft.precursor[s] = fnState{precursor: fn, absfn: absfn}
}