diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2020-12-06 10:08:26 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-12-13 18:56:36 +0100 |
| commit | 3e671cc5ce6612d8a67495a107df5ff8091113ea (patch) | |
| tree | 2cd9b52eb5a63d3672ae5276c8456492430d687f /pkg/cover/backend/backend.go | |
| parent | bca53db974f570410921f59b8c2c59a3d263cb44 (diff) | |
pkg/cover: split into ELF-dependent/independent parts
Diffstat (limited to 'pkg/cover/backend/backend.go')
| -rw-r--r-- | pkg/cover/backend/backend.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/pkg/cover/backend/backend.go b/pkg/cover/backend/backend.go new file mode 100644 index 000000000..c99e40893 --- /dev/null +++ b/pkg/cover/backend/backend.go @@ -0,0 +1,35 @@ +// Copyright 2020 syzkaller project authors. All rights reserved. +// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +package backend + +import ( + "github.com/google/syzkaller/pkg/symbolizer" + "github.com/google/syzkaller/sys/targets" +) + +type Impl struct { + Units []*CompileUnit + Symbols []*Symbol + Frames []symbolizer.Frame + Symbolize func(pcs []uint64) ([]symbolizer.Frame, error) +} + +type CompileUnit struct { + Name string + Path string + PCs []uint64 +} + +type Symbol struct { + Unit *CompileUnit + Name string + Start uint64 + End uint64 + PCs []uint64 + Symbolized bool +} + +func Make(target *targets.Target, kernelObject, srcDir, buildDir string) (*Impl, error) { + return makeELF(target, kernelObject, srcDir, buildDir) +} |
