aboutsummaryrefslogtreecommitdiffstats
path: root/tools/execprog/execprog.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2015-11-06 23:15:40 +0100
committerDmitry Vyukov <dvyukov@google.com>2015-11-06 23:15:40 +0100
commita44473e4a4de4d1c3a192c87a41e7a2234898987 (patch)
treebfb3cb009a299ff6ba13786091d85f4f2dbb7f45 /tools/execprog/execprog.go
parent1334407ba4285066efb24d80374e40d803be370b (diff)
add collide mode to executor
In this mode we execute pairs of syscalls concurrently to provoke data races in kernel.
Diffstat (limited to 'tools/execprog/execprog.go')
-rw-r--r--tools/execprog/execprog.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/execprog/execprog.go b/tools/execprog/execprog.go
index 234130710..eb915af87 100644
--- a/tools/execprog/execprog.go
+++ b/tools/execprog/execprog.go
@@ -23,6 +23,7 @@ var (
flagExecutor = flag.String("executor", "", "path to executor binary")
flagProg = flag.String("prog", "", "file with a program to execute")
flagThreaded = flag.Bool("threaded", false, "use threaded mode in executor")
+ flagCollide = flag.Bool("collide", false, "collide syscalls to provoke data races")
flagDebug = flag.Bool("debug", true, "debug output from executor")
flagStrace = flag.Bool("strace", false, "run executor under strace")
flagCover = flag.String("cover", "", "collect coverage and write to the file")
@@ -47,6 +48,9 @@ func main() {
if *flagThreaded {
flags |= ipc.FlagThreaded
}
+ if *flagCollide {
+ flags |= ipc.FlagCollide
+ }
if *flagDebug {
flags |= ipc.FlagDebug
}