]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
objtool: fix compilation failure with the x32 toolchain
authorMikulas Patocka <mpatocka@redhat.com>
Tue, 6 Jan 2026 11:13:15 +0000 (12:13 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 13 Jan 2026 10:37:50 +0000 (11:37 +0100)
When using the x32 toolchain, compilation fails because the printf
specifier "%lx" (long), doesn't match the type of the "checksum" variable
(long long). Fix this by changing the printf specifier to "%llx" and
casting "checksum" to unsigned long long.

Fixes: a3493b33384a ("objtool/klp: Add --debug-checksum=<funcs> to show per-instruction checksums")
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/a1158c99-fe0e-a218-4b5b-ffac212489f6@redhat.com
tools/objtool/include/objtool/warn.h

index 25ff7942b4d54d845bac459a0c3e220afd1143c0..2b27b54096b86a24404f4c677bcbf0dcde0b5e2a 100644 (file)
@@ -152,8 +152,8 @@ static inline void unindent(int *unused) { indent--; }
        if (unlikely(insn->sym && insn->sym->pfunc &&                   \
                     insn->sym->pfunc->debug_checksum)) {               \
                char *insn_off = offstr(insn->sec, insn->offset);       \
-               __dbg("checksum: %s %s %016lx",                         \
-                     func->name, insn_off, checksum);                  \
+               __dbg("checksum: %s %s %016llx",                        \
+                     func->name, insn_off, (unsigned long long)checksum);\
                free(insn_off);                                         \
        }                                                               \
 })