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.

Signed-off-by: Josh Poimboeuf <[email protected]>
---
 tools/objtool/check.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index f14212a8c179..54ceac857979 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)
-- 
2.53.0


Reply via email to