diff options
| author | Alexander Egorenkov <eaibmz@gmail.com> | 2025-06-25 15:25:05 +0200 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2025-06-30 15:01:13 +0000 |
| commit | efea65fd7f4d72e186688ba3f58ae5b752611647 (patch) | |
| tree | a8cb652389dff04a3bc002c21babb30cde498f0a | |
| parent | fc9d8ee542c85682943812ee52a252cbc934118d (diff) | |
pkg/cover: fix coverage point pc for core kernel
objdump prints absolute addresses for coverage points of core kernel.
Signed-off-by: Alexander Egorenkov <eaibmz@gmail.com>
| -rw-r--r-- | pkg/cover/backend/dwarf.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/pkg/cover/backend/dwarf.go b/pkg/cover/backend/dwarf.go index dc0911a1e..a11c23c78 100644 --- a/pkg/cover/backend/dwarf.go +++ b/pkg/cover/backend/dwarf.go @@ -719,7 +719,10 @@ func objdump(target *targets.Target, mod *vminfo.KernelModule) ([2][]uint64, err callInsns, traceFuncs := archCallInsn(target) for s.Scan() { if pc := parseLine(callInsns, traceFuncs, s.Bytes()); pc != 0 { - pcs[0] = append(pcs[0], pc+mod.Addr) + if mod.Name != "" { + pc = pc + mod.Addr + } + pcs[0] = append(pcs[0], pc) } } stderrOut, _ := io.ReadAll(stderr) |
