From 7560c338195f496658c4daabfa503ae6115b82f9 Mon Sep 17 00:00:00 2001 From: chainhelen Date: Tue, 25 Feb 2020 23:01:37 -0600 Subject: [PATCH] pkg,service: Use PCToFunc instead of PCToLine if it only needs func (#1894) --- pkg/proc/arm64_arch.go | 2 +- pkg/proc/proc_test.go | 2 +- service/debugger/debugger.go | 2 +- service/debugger/locations.go | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/proc/arm64_arch.go b/pkg/proc/arm64_arch.go index 5ab22f0f..cdfd4b66 100644 --- a/pkg/proc/arm64_arch.go +++ b/pkg/proc/arm64_arch.go @@ -213,7 +213,7 @@ func (a *ARM64) SwitchStack(it *stackIterator, callFrameRegs *op.DwarfRegisters) } } - _, _, fn := it.bi.PCToLine(it.frame.Ret) + fn := it.bi.PCToFunc(it.frame.Ret) if fn == nil { return false } diff --git a/pkg/proc/proc_test.go b/pkg/proc/proc_test.go index 5ce4bba5..dd15e580 100644 --- a/pkg/proc/proc_test.go +++ b/pkg/proc/proc_test.go @@ -4027,7 +4027,7 @@ func TestReadDefer(t *testing.T) { if d.Unreadable != nil { t.Fatalf("expected %q as %s of frame %d, got unreadable defer: %v", tgt, deferName, frameIdx, d.Unreadable) } - _, _, dfn := p.BinInfo().PCToLine(d.DeferredPC) + dfn := p.BinInfo().PCToFunc(d.DeferredPC) if dfn == nil { t.Fatalf("expected %q as %s of frame %d, got %#x", tgt, deferName, frameIdx, d.DeferredPC) } diff --git a/service/debugger/debugger.go b/service/debugger/debugger.go index 797a0589..7b54a1ee 100644 --- a/service/debugger/debugger.go +++ b/service/debugger/debugger.go @@ -1287,7 +1287,7 @@ func (d *Debugger) Disassemble(goroutineID int, addr1, addr2 uint64, flavour api } if addr2 == 0 { - _, _, fn := d.target.BinInfo().PCToLine(addr1) + fn := d.target.BinInfo().PCToFunc(addr1) if fn == nil { return nil, fmt.Errorf("address %#x does not belong to any function", addr1) } diff --git a/service/debugger/locations.go b/service/debugger/locations.go index 16171aeb..355b0fa8 100644 --- a/service/debugger/locations.go +++ b/service/debugger/locations.go @@ -287,7 +287,7 @@ func (loc *AddrLocationSpec) Find(d *Debugger, scope *proc.EvalScope, locStr str addr, _ := constant.Uint64Val(v.Value) return []api.Location{{PC: addr}}, nil case reflect.Func: - _, _, fn := d.target.BinInfo().PCToLine(uint64(v.Base)) + fn := d.target.BinInfo().PCToFunc(uint64(v.Base)) pc, err := proc.FirstPCAfterPrologue(d.target, fn, false) if err != nil { return nil, err