diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2015-12-23 13:38:31 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2015-12-23 13:38:31 +0100 |
| commit | e253cbc79fc20b65ce9dd965c6fe3adddac817ca (patch) | |
| tree | 3a64c5a18d8b0a020c3cee24abbfe32fc468fc86 /tools | |
| parent | 071ad4e91f95f115236a639e934181c7e596f337 (diff) | |
csource: new package
Move C source generation into a separate package.
Prog is too bloated already.
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/syz-prog2c/prog2c.go | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/tools/syz-prog2c/prog2c.go b/tools/syz-prog2c/prog2c.go index 9b8e58efa..4b01fea3a 100644 --- a/tools/syz-prog2c/prog2c.go +++ b/tools/syz-prog2c/prog2c.go @@ -4,19 +4,27 @@ package main import ( + "flag" "fmt" "io/ioutil" "os" + "github.com/google/syzkaller/csource" "github.com/google/syzkaller/prog" ) +var ( + flagThreaded = flag.Bool("threaded", false, "create threaded program") + flagCollide = flag.Bool("collide", false, "create collide program") +) + func main() { - if len(os.Args) != 2 { - fmt.Fprintf(os.Stderr, "usage: prog2c prog_file\n") + flag.Parse() + if len(flag.Args()) != 1 { + fmt.Fprintf(os.Stderr, "usage: prog2c [-threaded [-collide]] prog_file\n") os.Exit(1) } - data, err := ioutil.ReadFile(os.Args[1]) + data, err := ioutil.ReadFile(flag.Args()[0]) if err != nil { fmt.Fprintf(os.Stderr, "failed to read prog file: %v\n", err) os.Exit(1) @@ -26,6 +34,10 @@ func main() { fmt.Fprintf(os.Stderr, "failed to deserialize the program: %v\n", err) os.Exit(1) } - src := p.WriteCSource() + opts := csource.Options{ + Threaded: *flagThreaded, + Collide: *flagCollide, + } + src := csource.Write(p, opts) os.Stdout.Write(src) } |
