]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/internal/obj: drop Filesym from DwarfAbstractFunc
authorMichael Pratt <mpratt@google.com>
Fri, 16 Dec 2022 18:43:16 +0000 (13:43 -0500)
committerGopher Robot <gobot@golang.org>
Mon, 30 Jan 2023 16:41:53 +0000 (16:41 +0000)
PutAbstractFunc doesn't use FnState.Filesym, so it isn't needed, but
more importantly it is misleading. DwarfAbstractFunc is frequently used
on inlined functions from outside the current compilation unit. For
those function, ctxt.fileSymbol returns nil, meaning it probably isn't
safe to use if the original compilation unit could also generate an
abstract func with the correct file symbol.

Change-Id: I0e6c76e41d75ac9ca07e0f775e49d791249e1c5d
Reviewed-on: https://go-review.googlesource.com/c/go/+/458198
Reviewed-by: Than McIntosh <thanm@google.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Pratt <mpratt@google.com>

src/cmd/internal/obj/dwarf.go

index 121a9f6ee96e2afb95f59cf27e3c16aa8d58d3f9..3f4c6e8ef3bcc2e7f0d03a306a3690d86f07a31b 100644 (file)
@@ -433,15 +433,10 @@ func (ctxt *Link) DwarfAbstractFunc(curfn interface{}, s *LSym, myimportpath str
        scopes, _, startPos := ctxt.DebugInfo(s, absfn, curfn)
        _, startLine := ctxt.getFileSymbolAndLine(startPos)
        dwctxt := dwCtxt{ctxt}
-       // TODO(prattmic): this returns nil for symbols outside of the current
-       // package because s.Func() is empty. This doesn't matter because
-       // PutAbstractFunc doesn't use Filesym. Use startPos or remove.
-       filesym := ctxt.fileSymbol(s)
        fnstate := dwarf.FnState{
                Name:          s.Name,
                Importpath:    myimportpath,
                Info:          absfn,
-               Filesym:       filesym,
                Absfn:         absfn,
                StartLine:     startLine,
                External:      !s.Static(),