]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
objtool: Fix failure when being compiled on x32 system
authorMikulas Patocka <mpatocka@redhat.com>
Mon, 20 Oct 2025 12:23:58 +0000 (14:23 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 22 Oct 2025 13:21:55 +0000 (15:21 +0200)
Fix compilation failure when compiling the kernel with the x32 toolchain.

In file included from check.c:16:
check.c: In function ¡check_abs_references¢:
/usr/src/git/linux-2.6/tools/objtool/include/objtool/warn.h:47:17: error: format ¡%lx¢ expects argument of type ¡long unsigned int¢, but argument 7 has type ¡u64¢ {aka ¡long
long unsigned int¢} [-Werror=format=]
   47 |                 "%s%s%s: objtool" extra ": " format "\n",               \
      |                 ^~~~~~~~~~~~~~~~~
/usr/src/git/linux-2.6/tools/objtool/include/objtool/warn.h:54:9: note: in expansion of macro ¡___WARN¢
   54 |         ___WARN(severity, "", format, ##__VA_ARGS__)
      |         ^~~~~~~
/usr/src/git/linux-2.6/tools/objtool/include/objtool/warn.h:74:27: note: in expansion of macro ¡__WARN¢
   74 | #define WARN(format, ...) __WARN(WARN_STR, format, ##__VA_ARGS__)
      |                           ^~~~~~
check.c:4713:33: note: in expansion of macro ¡WARN¢
 4713 |                                 WARN("section %s has absolute relocation at offset 0x%lx",
      |                                 ^~~~

Fixes: 0d6e4563fc03 ("objtool: Add action to check for absence of absolute relocations")
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://patch.msgid.link/1ac32fff-2e67-5155-f570-69aad5bf5412@redhat.com
tools/objtool/check.c

index 3c7ab910b189638cc521d7a03d4cd1436725a54c..620854fdaaf6333b9ceb6e64bf1ba52d4f1cc47b 100644 (file)
@@ -4711,8 +4711,8 @@ static int check_abs_references(struct objtool_file *file)
 
                for_each_reloc(sec->rsec, reloc) {
                        if (arch_absolute_reloc(file->elf, reloc)) {
-                               WARN("section %s has absolute relocation at offset 0x%lx",
-                                    sec->name, reloc_offset(reloc));
+                               WARN("section %s has absolute relocation at offset 0x%llx",
+                                    sec->name, (unsigned long long)reloc_offset(reloc));
                                ret++;
                        }
                }