From a736f2e8e6fca86c3e060bc3d83062cfdc6c391c Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 29 Jun 2018 09:22:42 +0200 Subject: tools/syz-prog2c: allow to test build of the resulting program --- tools/syz-prog2c/prog2c.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/syz-prog2c/prog2c.go b/tools/syz-prog2c/prog2c.go index b7f13f971..371eccaa2 100644 --- a/tools/syz-prog2c/prog2c.go +++ b/tools/syz-prog2c/prog2c.go @@ -18,6 +18,7 @@ import ( var ( flagOS = flag.String("os", runtime.GOOS, "target os") flagArch = flag.String("arch", runtime.GOARCH, "target arch") + flagBuild = flag.Bool("build", false, "also build the generated program") flagThreaded = flag.Bool("threaded", false, "create threaded program") flagCollide = flag.Bool("collide", false, "create collide program") flagRepeat = flag.Bool("repeat", false, "repeat program infinitely or not") @@ -87,4 +88,14 @@ func main() { src = formatted } os.Stdout.Write(src) + if !*flagBuild { + return + } + bin, err := csource.Build(target, src) + if err != nil { + fmt.Fprintf(os.Stderr, "failed to build C source: %v\n", err) + os.Exit(1) + } + os.Remove(bin) + fmt.Fprintf(os.Stderr, "binary build OK\n") } -- cgit mrf-deployment