diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2025-11-17 11:17:23 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2025-11-20 10:10:05 +0000 |
| commit | 280ea308c321115445df610f1a75b05bbadca5f3 (patch) | |
| tree | c195c76723c4a08986d74edbfc9e15a4f07fa6c1 /pkg/clangtool | |
| parent | 94d1e3f8b1838e8a04074464a957e979a5c5e36b (diff) | |
pkg/codesearch: add skeleton for code searching tool
Add a clang tool that is used for code indexing (tools/clang/codesearch/).
It follows conventions and build procedure of the declextract tool.
Add pkg/codesearch package that aggregates the info exposed by the clang tools,
and allows doing simple queries:
- show source code of an entity (function, struct, etc)
- show entity comment
- show all entities defined in a source file
Add tools/syz-codesearch wrapper tool that allows to create index for a kernel build,
and then run code queries on it.
Diffstat (limited to 'pkg/clangtool')
| -rw-r--r-- | pkg/clangtool/clangtool.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/pkg/clangtool/clangtool.go b/pkg/clangtool/clangtool.go index 4e3914cf8..8711b5411 100644 --- a/pkg/clangtool/clangtool.go +++ b/pkg/clangtool/clangtool.go @@ -155,7 +155,10 @@ func runTool[Output any, OutputPtr OutputDataPtr[Output]](cfg *Config, dbFile, f cfg.KernelSrc), cfg.KernelObj), "/") // Suppress warning since we may build the tool on a different clang // version that produces more warnings. - data, err := exec.Command(cfg.ToolBin, "-p", dbFile, "--extra-arg=-w", file).Output() + // Comments are needed for codesearch tool, but may be useful for declextract + // in the future if we try to parse them with LLMs. + data, err := exec.Command(cfg.ToolBin, "-p", dbFile, + "--extra-arg=-w", "--extra-arg=-fparse-all-comments", file).Output() if err != nil { var exitErr *exec.ExitError if errors.As(err, &exitErr) { |
