On Mon, Feb 2, 2026 at 10:01 AM Josh Poimboeuf <[email protected]> wrote:
>
> When compiling with CONFIG_LTO_CLANG_THIN, vmlinux.o has
> __irf_[start|end] before the first FILE entry:
>
>   $ readelf -sW vmlinux.o
>   Symbol table '.symtab' contains 597706 entries:
>      Num:    Value          Size Type    Bind   Vis      Ndx Name
>        0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
>        1: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT   18 __irf_start
>        2: 0000000000000200     0 NOTYPE  LOCAL  DEFAULT   18 __irf_end
>        3: 0000000000000000     0 SECTION LOCAL  DEFAULT   17 .text
>        4: 0000000000000000     0 SECTION LOCAL  DEFAULT   18 .init.ramfs
>
> This causes klp-build warnings like:
>
>   vmlinux.o: warning: objtool: no correlation: __irf_start
>   vmlinux.o: warning: objtool: no correlation: __irf_end
>
> The problem is that Clang LTO is stripping the initramfs_data.o FILE
> symbol, causing those two symbols to be orphaned and not noticed by
> klp-diff's correlation logic.  Add a loop to correlate any symbols found
> before the first FILE symbol.
>
> Fixes: dd590d4d57eb ("objtool/klp: Introduce klp diff subcommand for diffing 
> object files")
> Reported-by: Song Liu <[email protected]>
> Signed-off-by: Josh Poimboeuf <[email protected]>

Acked-by: Song Liu <[email protected]>

Reply via email to