aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2021-03-16 16:47:30 +0100
committerDmitry Vyukov <dvyukov@google.com>2021-03-18 09:17:51 +0100
commit9c04290738141669bf76cc2d861ffd633c90c73c (patch)
treea55e4e66ddb914ce25c13b7a6c4e9cfb70723d91 /pkg
parent6831d51038f80994e7c47a0550abcab3dab96249 (diff)
pkg/cover/backend: rename KernelModule to Module
We don't have any other modules. Move definition below Impl, KernelModule is not the most important thing.
Diffstat (limited to 'pkg')
-rw-r--r--pkg/cover/backend/backend.go16
-rw-r--r--pkg/cover/backend/elf.go22
-rw-r--r--pkg/cover/backend/gvisor.go2
-rw-r--r--pkg/cover/report.go4
4 files changed, 22 insertions, 22 deletions
diff --git a/pkg/cover/backend/backend.go b/pkg/cover/backend/backend.go
index 659a37a60..1ccb10755 100644
--- a/pkg/cover/backend/backend.go
+++ b/pkg/cover/backend/backend.go
@@ -7,12 +7,6 @@ import (
"github.com/google/syzkaller/sys/targets"
)
-type KernelModule struct {
- Name string
- Path string
- Addr uint64
-}
-
type Impl struct {
Units []*CompileUnit
Symbols []*Symbol
@@ -21,6 +15,12 @@ type Impl struct {
RestorePC func(pc uint32) uint64
}
+type Module struct {
+ Name string
+ Path string
+ Addr uint64
+}
+
type CompileUnit struct {
ObjectUnit
Path string
@@ -42,7 +42,7 @@ type ObjectUnit struct {
}
type Frame struct {
- Module *KernelModule
+ Module *Module
PC uint64
Name string
Path string
@@ -59,7 +59,7 @@ type Range struct {
const LineEnd = 1 << 30
func Make(target *targets.Target, vm, srcDir, buildDir string,
- moduleObj []string, modules []*KernelModule) (*Impl, error) {
+ moduleObj []string, modules []*Module) (*Impl, error) {
if vm == "gvisor" {
return makeGvisor(target, srcDir, buildDir, modules)
}
diff --git a/pkg/cover/backend/elf.go b/pkg/cover/backend/elf.go
index 03e209bcb..ddc024f75 100644
--- a/pkg/cover/backend/elf.go
+++ b/pkg/cover/backend/elf.go
@@ -26,14 +26,14 @@ import (
)
func makeELF(target *targets.Target, srcDir, buildDir string,
- moduleObj []string, modules []*KernelModule) (*Impl, error) {
+ moduleObj []string, modules []*Module) (*Impl, error) {
var allCoverPoints [2][]uint64
var allSymbols []*Symbol
var allRanges []pcRange
var allUnits []*CompileUnit
if target.OS == targets.Linux {
- getKernelModules(moduleObj, modules)
+ getModules(moduleObj, modules)
}
for _, module := range modules {
if module.Path == "" {
@@ -141,8 +141,8 @@ func makeELF(target *targets.Target, srcDir, buildDir string,
return impl, nil
}
-func getKernelModules(dirs []string, modules []*KernelModule) {
- byName := make(map[string]*KernelModule)
+func getModules(dirs []string, modules []*Module) {
+ byName := make(map[string]*Module)
for _, mod := range modules {
byName[mod.Name] = mod
}
@@ -311,7 +311,7 @@ func buildSymbols(symbols []*Symbol, ranges []pcRange, coverPoints [2][]uint64)
return symbols
}
-func readSymbols(file *elf.File, module *KernelModule) ([]*Symbol, uint64, uint64, map[uint64]bool, error) {
+func readSymbols(file *elf.File, module *Module) ([]*Symbol, uint64, uint64, map[uint64]bool, error) {
text := file.Section(".text")
if text == nil {
return nil, 0, 0, nil, fmt.Errorf("no .text section in the object file")
@@ -355,7 +355,7 @@ func readSymbols(file *elf.File, module *KernelModule) ([]*Symbol, uint64, uint6
return symbols, text.Addr, tracePC, traceCmp, nil
}
-func readTextRanges(file *elf.File, module *KernelModule) ([]pcRange, []*CompileUnit, error) {
+func readTextRanges(file *elf.File, module *Module) ([]pcRange, []*CompileUnit, error) {
text := file.Section(".text")
if text == nil {
return nil, nil, fmt.Errorf("no .text section in the object file")
@@ -426,10 +426,10 @@ func readTextRanges(file *elf.File, module *KernelModule) ([]pcRange, []*Compile
return ranges, units, nil
}
-func symbolize(target *targets.Target, srcDir, buildDir string, modules []*KernelModule, pcs []uint64) (
+func symbolize(target *targets.Target, srcDir, buildDir string, modules []*Module, pcs []uint64) (
[]Frame, error) {
- groupPCs := make(map[*KernelModule][]uint64)
- smodules := append([]*KernelModule{}, modules...)
+ groupPCs := make(map[*Module][]uint64)
+ smodules := append([]*Module{}, modules...)
sort.Slice(smodules, func(i, j int) bool {
return smodules[i].Addr > smodules[j].Addr
})
@@ -463,7 +463,7 @@ func symbolize(target *targets.Target, srcDir, buildDir string, modules []*Kerne
return frames, nil
}
-func symbolizeModule(target *targets.Target, objDir, srcDir, buildDir string, mod *KernelModule, pcs []uint64) (
+func symbolizeModule(target *targets.Target, objDir, srcDir, buildDir string, mod *Module, pcs []uint64) (
[]Frame, error) {
procs := runtime.GOMAXPROCS(0) / 2
if need := len(pcs) / 1000; procs > need {
@@ -590,7 +590,7 @@ func getRelSymbolName(file *elf.File, index uint32) (string, error) {
// Currently it is amd64-specific: looks for e8 opcode and correct offset.
// Running objdump on the whole object file is too slow.
func readCoverPoints(file *elf.File, tracePC uint64, traceCmp map[uint64]bool,
- module *KernelModule) ([2][]uint64, error) {
+ module *Module) ([2][]uint64, error) {
var pcs [2][]uint64
const callLen = 5
if module.Name == "" {
diff --git a/pkg/cover/backend/gvisor.go b/pkg/cover/backend/gvisor.go
index e4170ffb6..22f07a88b 100644
--- a/pkg/cover/backend/gvisor.go
+++ b/pkg/cover/backend/gvisor.go
@@ -14,7 +14,7 @@ import (
"github.com/google/syzkaller/sys/targets"
)
-func makeGvisor(target *targets.Target, srcDir, buildDir string, modules []*KernelModule) (*Impl, error) {
+func makeGvisor(target *targets.Target, srcDir, buildDir string, modules []*Module) (*Impl, error) {
if len(modules) != 1 {
return nil, fmt.Errorf("gvisor coverage does not support modules")
}
diff --git a/pkg/cover/report.go b/pkg/cover/report.go
index feb5069cf..651bc62f2 100644
--- a/pkg/cover/report.go
+++ b/pkg/cover/report.go
@@ -35,13 +35,13 @@ func MakeReportGenerator(target *targets.Target, vm, objDir, srcDir, buildDir st
return nil, fmt.Errorf("kernel obj directory is not specified")
}
moduleObj = append([]string{objDir}, moduleObj...)
- modules := []*backend.KernelModule{
+ modules := []*backend.Module{
{
Path: filepath.Join(objDir, target.KernelObject),
},
}
for _, mod := range hostModules {
- modules = append(modules, &backend.KernelModule{
+ modules = append(modules, &backend.Module{
Name: mod.Name,
Addr: mod.Addr,
})