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]>

