Re: [RFC PATCH v2 00/11] objtool/klp: DWARF-based cross-build symbol correlation
From: Josh Poimboeuf
Date: Thu Nov 12 2026 - 23:09:03 EST
On Wed, Nov 04, 2026 at 09:31:46PM +0800, Longjun Luo wrote:
> Responses to v1 Review (Guide)
> ------------------------------
>
> Thanks to Josh for reviewing v1. v2 responds as follows:
>
> 1. `CONFIG_DEBUG_INFO` and split/reduced DWARF: as suggested, `klp-build`
> now requires `CONFIG_DEBUG_INFO` and uses Kbuild's debug flags
> (Patch 6). Reduced and split DWARF are supported (Patch 5). See
> "Compatibility Limits and Build Requirements".
>
> 2. Repeated macro statics and the one-line test: building on the
> referencing-function idea, unchanged-function references resolve
> repeated statics (Patch 9). The tree-wide test reduces v1's
> `no correlation` warnings from 682/764 to zero (GCC/Clang). See
> "Evaluation and Performance Overhead".
>
> 3. Upgrading `no correlation` to an error and explicit annotations:
> following this direction, v2 rejects ambiguous data references and
> allows verified new data (Patch 10). See Case D for the
> state-inheritance boundary, its kernel-wide impact, and proposed
> annotations.
>
> 4. Referencing functions, ThinLTO naming flags, and Full LTO: in ELF, the
> referencing function only approximates the defining scope, and
> `STT_FILE` and `.llvm.<hash>` suffixes only approximate the defining
> TU. Definition identity distinguishes inlined helpers' state and
> survives LTO renaming and `STT_FILE` merging; see Cases A-B.
>
> 5. Toolchain reliability and performance: v2 cross-checks DWARF against
> ELF and measures checksum/diff costs, including a separate memory
> prototype. See "Design Overview", "Evaluation and Performance
> Overhead", and "Open Questions and Next Steps".
Going forward, please reply directly to the review comments (including
sashiko reviews), as threaded emails are much easier to follow/discuss
than a summary like the above.
--
Josh