[tip: objtool/core] objtool/klp: Create empty checksum sections for function-less object files

From: tip-bot2 for Josh Poimboeuf

Date: Tue May 05 2026 - 07:08:49 EST


The following commit has been merged into the objtool/core branch of tip:

Commit-ID: 9e4512d7de5ab27c1b0c3891f7a0e9202a5a2eef
Gitweb: https://git.kernel.org/tip/9e4512d7de5ab27c1b0c3891f7a0e9202a5a2eef
Author: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
AuthorDate: Mon, 30 Mar 2026 21:50:46 -07:00
Committer: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
CommitterDate: Mon, 04 May 2026 21:16:04 -07:00

objtool/klp: Create empty checksum sections for function-less object files

If an object file has no functions, objtool has nothing to checksum, so
it doesn't create the .discard.sym_checksum symbol.

Then when 'objtool klp diff' reads symbol checksums, it errors out due
to the missing .discard.sym_checksum section.

Instead, just create an empty checksum section to signal to
read_sym_checksums() that the file has been processed.

Acked-by: Song Liu <song@xxxxxxxxxx>
Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
---
tools/objtool/check.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index e7579c4..f020f21 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -1044,9 +1044,6 @@ static int create_sym_checksum_section(struct objtool_file *file)
if (sym->csum.checksum)
idx++;

- if (!idx)
- return 0;
-
sec = elf_create_section_pair(file->elf, ".discard.sym_checksum", entsize,
idx, idx);
if (!sec)