aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorSpace Meyer <spm@google.com>2022-09-13 15:24:23 +0000
committerSpace Meyer <git@the-space.agency>2022-10-07 11:11:53 +0200
commit79a5963585ac032cd3f390a37b5d276f7f9d0b5c (patch)
tree593a2ad8c17be76a25b04654429f1604a565a0a2 /tools
parent8a2121976b8020f2006c1a953766af912ba709dd (diff)
pkg/bisect: use default compiler during bisection where possible
This allows us to bisect at least recently introduced bugs, where the manager that found the bug uses a non standard compiler. This is usefull during development of a new sanitizer for which a compiler with non-upstreamed patches is required.
Diffstat (limited to 'tools')
-rw-r--r--tools/syz-bisect/bisect.go12
-rw-r--r--tools/syz-testbuild/testbuild.go3
2 files changed, 9 insertions, 6 deletions
diff --git a/tools/syz-bisect/bisect.go b/tools/syz-bisect/bisect.go
index c4548de35..7fa17c25d 100644
--- a/tools/syz-bisect/bisect.go
+++ b/tools/syz-bisect/bisect.go
@@ -44,9 +44,10 @@ var (
)
type Config struct {
+ Compiler string `json:"compiler"`
// Currently either 'gcc' or 'clang'. Note that pkg/bisect requires
// explicit plumbing for every os/compiler combination.
- BisectCompiler string `json:"bisect_compiler"`
+ CompilerType string `json:"compiler_type"`
// BinDir must point to a dir that contains compilers required to build
// older versions of the kernel. For linux, it needs to include several
// compiler versions.
@@ -97,10 +98,11 @@ func main() {
TraceWriter: os.Stdout,
OutDir: *flagCrash,
},
- Fix: *flagFix,
- BisectCompiler: mycfg.BisectCompiler,
- BinDir: mycfg.BinDir,
- Ccache: mycfg.Ccache,
+ Fix: *flagFix,
+ DefaultCompiler: mycfg.Compiler,
+ CompilerType: mycfg.CompilerType,
+ BinDir: mycfg.BinDir,
+ Ccache: mycfg.Ccache,
Kernel: bisect.KernelConfig{
Repo: mycfg.KernelRepo,
Branch: mycfg.KernelBranch,
diff --git a/tools/syz-testbuild/testbuild.go b/tools/syz-testbuild/testbuild.go
index be2718b3a..6b68b44fc 100644
--- a/tools/syz-testbuild/testbuild.go
+++ b/tools/syz-testbuild/testbuild.go
@@ -125,7 +125,8 @@ func main() {
}
func test(repo vcs.Repo, bisecter vcs.Bisecter, kernelConfig []byte, env instance.Env, com *vcs.Commit) {
- bisectEnv, err := bisecter.EnvForCommit("gcc", *flagBisectBin, com.Hash, kernelConfig)
+ compiler, compilerType := "gcc", "gcc"
+ bisectEnv, err := bisecter.EnvForCommit(compiler, compilerType, *flagBisectBin, com.Hash, kernelConfig)
if err != nil {
tool.Fail(err)
}