diff options
| author | Space Meyer <meyerpatrick@google.com> | 2022-07-30 12:16:05 +0000 |
|---|---|---|
| committer | Aleksandr Nogikh <wp32pw@gmail.com> | 2022-09-01 10:42:40 +0200 |
| commit | d8e6f911090ec0020f34e094005284b5c8ac1e7f (patch) | |
| tree | a66996629b5aa75ac0a06a58af547dafa73f94a7 /pkg/bisect/bisect.go | |
| parent | 3f79a9101d6ae91acf7edde3727992988bb01ae1 (diff) | |
pkg/bisect: support clang for crash bisection
Before we hardcoded bisection to use gcc, now the compiler family can
be configured in the bisection config.
Diffstat (limited to 'pkg/bisect/bisect.go')
| -rw-r--r-- | pkg/bisect/bisect.go | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/pkg/bisect/bisect.go b/pkg/bisect/bisect.go index 0948bc653..1813abaa5 100644 --- a/pkg/bisect/bisect.go +++ b/pkg/bisect/bisect.go @@ -19,15 +19,16 @@ import ( ) type Config struct { - Trace debugtracer.DebugTracer - Fix bool - BinDir string - Ccache string - Timeout time.Duration - Kernel KernelConfig - Syzkaller SyzkallerConfig - Repro ReproConfig - Manager *mgrconfig.Config + Trace debugtracer.DebugTracer + Fix bool + BisectCompiler string + BinDir string + Ccache string + Timeout time.Duration + Kernel KernelConfig + Syzkaller SyzkallerConfig + Repro ReproConfig + Manager *mgrconfig.Config } type KernelConfig struct { @@ -375,7 +376,7 @@ func (env *env) commitRangeForFix() (*vcs.Commit, *vcs.Commit, *report.Report, [ func (env *env) commitRangeForBug() (*vcs.Commit, *vcs.Commit, *report.Report, []*testResult, error) { cfg := env.cfg - tags, err := env.bisecter.PreviousReleaseTags(cfg.Kernel.Commit) + tags, err := env.bisecter.PreviousReleaseTags(cfg.Kernel.Commit, cfg.BisectCompiler) if err != nil { return nil, nil, nil, nil, err } @@ -420,11 +421,11 @@ func (env *env) build() (*vcs.Commit, string, error) { return nil, "", err } - bisectEnv, err := env.bisecter.EnvForCommit(env.cfg.BinDir, current.Hash, env.kernelConfig) + bisectEnv, err := env.bisecter.EnvForCommit(env.cfg.BisectCompiler, env.cfg.BinDir, current.Hash, env.kernelConfig) if err != nil { return current, "", err } - env.log("testing commit %v", current.Hash) + env.log("testing commit %v %v", current.Hash, env.cfg.BisectCompiler) buildStart := time.Now() mgr := env.cfg.Manager if err := build.Clean(mgr.TargetOS, mgr.TargetVMArch, mgr.Type, mgr.KernelSrc); err != nil { |
