diff options
| author | Space Meyer <spm@google.com> | 2022-09-13 15:24:23 +0000 |
|---|---|---|
| committer | Space Meyer <git@the-space.agency> | 2022-10-07 11:11:53 +0200 |
| commit | 79a5963585ac032cd3f390a37b5d276f7f9d0b5c (patch) | |
| tree | 593a2ad8c17be76a25b04654429f1604a565a0a2 /syz-ci | |
| parent | 8a2121976b8020f2006c1a953766af912ba709dd (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 'syz-ci')
| -rw-r--r-- | syz-ci/jobs.go | 11 | ||||
| -rw-r--r-- | syz-ci/syz-ci.go | 16 |
2 files changed, 14 insertions, 13 deletions
diff --git a/syz-ci/jobs.go b/syz-ci/jobs.go index a49b9a7f6..588c3df2b 100644 --- a/syz-ci/jobs.go +++ b/syz-ci/jobs.go @@ -412,11 +412,12 @@ func (jp *JobProcessor) bisect(job *Job, mgrcfg *mgrconfig.Config) error { // compete with patch testing jobs (it's bad delaying patch testing). // When/if bisection jobs don't compete with patch testing, // it makes sense to increase this to 12-24h. - Timeout: 8 * time.Hour, - Fix: req.Type == dashapi.JobBisectFix, - BisectCompiler: mgr.mgrcfg.BisectCompiler, - BinDir: jp.cfg.BisectBinDir, - Ccache: jp.cfg.Ccache, + Timeout: 8 * time.Hour, + Fix: req.Type == dashapi.JobBisectFix, + DefaultCompiler: mgr.mgrcfg.Compiler, + CompilerType: mgr.mgrcfg.CompilerType, + BinDir: jp.cfg.BisectBinDir, + Ccache: jp.cfg.Ccache, Kernel: bisect.KernelConfig{ Repo: mgr.mgrcfg.Repo, Branch: mgr.mgrcfg.Branch, diff --git a/syz-ci/syz-ci.go b/syz-ci/syz-ci.go index 944c0c745..4abbe21c0 100644 --- a/syz-ci/syz-ci.go +++ b/syz-ci/syz-ci.go @@ -153,14 +153,14 @@ type ManagerConfig struct { Repo string `json:"repo"` // Short name of the repo (e.g. "linux-next"), used only for reporting. RepoAlias string `json:"repo_alias"` + Branch string `json:"branch"` // Defaults to "master". // Currently either 'gcc' or 'clang'. Note that pkg/bisect requires // explicit plumbing for every os/compiler combination. - BisectCompiler string `json:"bisect_compiler"` // Defaults to "gcc" - Branch string `json:"branch"` // Defaults to "master". - Compiler string `json:"compiler"` - Ccache string `json:"ccache"` - Userspace string `json:"userspace"` - KernelConfig string `json:"kernel_config"` + CompilerType string `json:"compiler_type"` // Defaults to "gcc" + Compiler string `json:"compiler"` + Ccache string `json:"ccache"` + Userspace string `json:"userspace"` + KernelConfig string `json:"kernel_config"` // Baseline config for bisection, see pkg/bisect.KernelConfig.BaselineConfig. KernelBaselineConfig string `json:"kernel_baseline_config"` // File with kernel cmdline values (optional). @@ -386,8 +386,8 @@ func loadManagerConfig(cfg *Config, mgr *ManagerConfig) error { if !managerNameRe.MatchString(mgr.Name) { return fmt.Errorf("param 'managers.name' has bad value: %q", mgr.Name) } - if mgr.BisectCompiler == "" { - mgr.BisectCompiler = "gcc" + if mgr.CompilerType == "" { + mgr.CompilerType = "gcc" } if mgr.Branch == "" { mgr.Branch = "master" |
