aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Egorenkov <eaibmz@gmail.com>2025-06-25 15:25:05 +0200
committerAleksandr Nogikh <nogikh@google.com>2025-06-30 15:01:13 +0000
commitefea65fd7f4d72e186688ba3f58ae5b752611647 (patch)
treea8cb652389dff04a3bc002c21babb30cde498f0a
parentfc9d8ee542c85682943812ee52a252cbc934118d (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.go5
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)