mirror of
https://github.com/reactos/syzkaller.git
synced 2024-11-24 11:59:58 +00:00
29b0fd90e6
Currently getting a complete report requires a complex, multi-step dance (including getting information that external users are not interested in -- guilty file). Simplify interface down to 2 functions: Parse and Symbolize. Parse does what it did before, Symbolize symbolizes report and fills in maintainers. This simplifies both implementations of Reporter interface and all users of the interface. Potentially we could get this down to 1 function Parse that does everything. However, (1) Symbolize can fail, while Parse cannot, (2) usually we want to ignore (log) Symbolize errors, but otherwise proceed with the report, (3) repro does not need symbolization for all but the last report.
41 lines
891 B
Go
41 lines
891 B
Go
// Copyright 2017 syzkaller project authors. All rights reserved.
|
|
// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
|
|
|
|
package report
|
|
|
|
import (
|
|
"regexp"
|
|
|
|
"github.com/google/syzkaller/pkg/symbolizer"
|
|
)
|
|
|
|
type fuchsia struct {
|
|
kernelSrc string
|
|
kernelObj string
|
|
symbols map[string][]symbolizer.Symbol
|
|
ignores []*regexp.Regexp
|
|
}
|
|
|
|
func ctorFuchsia(kernelSrc, kernelObj string, symbols map[string][]symbolizer.Symbol,
|
|
ignores []*regexp.Regexp) (Reporter, error) {
|
|
ctx := &fuchsia{
|
|
kernelSrc: kernelSrc,
|
|
kernelObj: kernelObj,
|
|
symbols: symbols,
|
|
ignores: ignores,
|
|
}
|
|
return ctx, nil
|
|
}
|
|
|
|
func (ctx *fuchsia) ContainsCrash(output []byte) bool {
|
|
panic("not implemented")
|
|
}
|
|
|
|
func (ctx *fuchsia) Parse(output []byte) *Report {
|
|
panic("not implemented")
|
|
}
|
|
|
|
func (ctx *fuchsia) Symbolize(rep *Report) error {
|
|
panic("not implemented")
|
|
}
|