aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorJoey Jiao <joeyjiaojg@qq.com>2023-06-26 14:08:09 +0800
committerAleksandr Nogikh <nogikh@google.com>2023-07-04 16:43:58 +0000
commitdb33bc12e4f969af9479eb1c55d6a5ed2050b9b5 (patch)
tree146bfea72ad2ccb0a493625ddf9ac2fad3dd9507 /tools
parent1e521165c861b79aaaa34ecbf6c12132b10824bf (diff)
tools/syz-cover: use all pcs in Symbols if no rawcover
Change-Id: Ic29ce246932c26a9834a51e143fb0f15f6ba69c6
Diffstat (limited to 'tools')
-rw-r--r--tools/syz-cover/syz-cover.go25
1 files changed, 15 insertions, 10 deletions
diff --git a/tools/syz-cover/syz-cover.go b/tools/syz-cover/syz-cover.go
index 72cd2a7a4..76283b5fd 100644
--- a/tools/syz-cover/syz-cover.go
+++ b/tools/syz-cover/syz-cover.go
@@ -14,6 +14,10 @@
// Usage:
//
// syz-cover -config config_file rawcover.file*
+//
+// or use all pcs in rg.Symbols
+//
+// syz-cover -config config_file
package main
import (
@@ -21,7 +25,6 @@ import (
"bytes"
"encoding/json"
"flag"
- "fmt"
"os"
"os/exec"
"strconv"
@@ -44,19 +47,10 @@ func main() {
)
defer tool.Init()()
- if len(flag.Args()) == 0 {
- fmt.Fprintf(os.Stderr, "usage: syz-cover [flags] rawcover.file\n")
- flag.PrintDefaults()
- os.Exit(1)
- }
cfg, err := mgrconfig.LoadFile(*flagConfig)
if err != nil {
tool.Fail(err)
}
- pcs, err := readPCs(flag.Args())
- if err != nil {
- tool.Fail(err)
- }
var modules []host.KernelModule
if *flagModules != "" {
m, err := loadModules(*flagModules)
@@ -69,6 +63,17 @@ func main() {
if err != nil {
tool.Fail(err)
}
+ var pcs []uint64
+ if len(flag.Args()) == 0 {
+ for _, s := range rg.Symbols {
+ pcs = append(pcs, s.PCs...)
+ }
+ } else {
+ pcs, err = readPCs(flag.Args())
+ if err != nil {
+ tool.Fail(err)
+ }
+ }
progs := []cover.Prog{{PCs: pcs}}
buf := new(bytes.Buffer)
if *flagExportCSV != "" {