Conversation
|
@gemini-cli /review |
|
@gemini-cli /review |
|
@gemini-cli /review |
|
🤖 Hi @tarasmadan, I've received your request, and I'm working on it now! You can track my progress in the logs for more details. |
There was a problem hiding this comment.
This PR introduces a Just-In-Time (JIT) summarization system using Clang AST parsing and LLM-based semantic analysis for the Linux kernel. The implementation is well-structured and makes good use of libclang to minimize the context sent to the LLM, though there are a few critical issues around slice modification and environment-specific artifacts that need to be resolved.
🔍 General Feedback
- Slices and Pointers: Be cautious when taking pointers to elements of a slice that is subsequently modified (e.g., via
slices.DeleteFunc), as this can lead to memory corruption or unexpected zero values. - Environment Artifacts: Several absolute symlinks to
.sofiles for LLVM 19 were checked into the repository (e.g.,libclang-cpp.so,libclang.so). These should be removed, as they will break on machines where LLVM is installed in a different directory. Ensure the build scripts or Makefile correctly link againstlibclanginstead. - Cleanups: There are some leftover debug print statements (
llvm::errs()andecho "DEBUG: ...") that should be removed to reduce noise during normal execution.
| var templateCmd *compileCommand | ||
| if len(cmds) > 0 { | ||
| templateCmd = &cmds[0] | ||
| } |
There was a problem hiding this comment.
| var templateCmd *compileCommand | |
| if len(cmds) > 0 { | |
| templateCmd = &cmds[0] | |
| } | |
| var templateCmd *compileCommand | |
| if len(cmds) > 0 { | |
| cmdCopy := cmds[0] | |
| templateCmd = &cmdCopy | |
| } |
| echo "DEBUG: PRE DOCKER RUN" | ||
| if [ -t 0 ]; then | ||
| DOCKERARGS="$DOCKERARGS -it" | ||
| fi | ||
| echo "DEBUG: CI: '$CI'" |
There was a problem hiding this comment.
| echo "DEBUG: PRE DOCKER RUN" | |
| if [ -t 0 ]; then | |
| DOCKERARGS="$DOCKERARGS -it" | |
| fi | |
| echo "DEBUG: CI: '$CI'" |
| CharSourceRange FilenameRange, OptionalFileEntryRef File, StringRef SearchPath, | ||
| StringRef RelativePath, const Module* SuggestedModule, bool ModuleImported, | ||
| SrcMgr::CharacteristicKind FileType) override { | ||
| llvm::errs() << "DEBUG: InclusionDirective: " << FileName << " InMain: " << SM.isInMainFile(HashLoc) << "\n"; |
There was a problem hiding this comment.
| llvm::errs() << "DEBUG: InclusionDirective: " << FileName << " InMain: " << SM.isInMainFile(HashLoc) << "\n"; |
| @@ -0,0 +1 @@ | |||
| /usr/lib/llvm-19/lib/libLLVM.so.19.1 No newline at end of file | |||
There was a problem hiding this comment.
|
@gemini-cli /approve |
|
🤖 Hi @tarasmadan, I've received your request, and I'm working on it now! You can track my progress in the logs for more details. |
|
I could not find an approved "AI Assistant: Plan of Action" in the issue comments. Please provide or approve a plan of action so I can proceed. |
Before sending a pull request, please review Contribution Guidelines:
https://github.com/google/syzkaller/blob/master/docs/contributing.md