Re: [PATCH] objtool: fix failure when being compiled on x32 system
From: Josh Poimboeuf
Date: Wed Oct 15 2025 - 11:56:22 EST
On Tue, Oct 14, 2025 at 09:33:08AM +0200, Ard Biesheuvel wrote:
> (cc lkml)
Can you resend the patch and copy lkml?
> On Mon, 13 Oct 2025 at 22:21, Mikulas Patocka <mpatocka@xxxxxxxxxx> wrote:
> >
> > 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",
> > | ^~~~
> >
> > Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx>
> > Fixes: 0d6e4563fc03 ("objtool: Add action to check for absence of absolute relocations")
> >
> > ---
> > tools/objtool/check.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > Index: linux-2.6/tools/objtool/check.c
> > ===================================================================
> > --- linux-2.6.orig/tools/objtool/check.c 2025-10-13 21:42:48.000000000 +0200
> > +++ linux-2.6/tools/objtool/check.c 2025-10-13 21:48:33.000000000 +0200
> > @@ -4710,8 +4710,8 @@ static int check_abs_references(struct o
> >
> > 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++;
> > }
> > }
>
> Acked-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
--
Josh