* [email protected] <[email protected]> wrote:
> On February 1, 2017 11:16:00 PM PST, Ingo Molnar <[email protected]> wrote:
> >
> >* Nicolas Iooss <[email protected]> wrote:
> >
> >> With %Ld, my compiler (gcc 6.3.1 on x86_64) complains:
> >>
> >> arch/x86/tools/relocs.c:400:7: error: format ‘%Ld’ expects argument
> >of
> >> type ‘long long int’, but argument 2 has type ‘Elf64_Off {aka long
> >> unsigned int}’ [-Werror=format=]
> >
> >How did it pick up that type as an 'unsigned long'? We have:
> >
> > include/uapi/linux/elf.h:typedef __u64 Elf64_Off;
> >
> >Even user-space has it as a pure 64-bit type:
> >
> > /usr/include/elf.h:typedef uint64_t Elf64_Off;
> >
> >Thanks,
> >
> > Ingo
>
> uint64_t is unsigned long on x86-64.
Sight, which is a big, lame mistake, because it forces such crap like "PRIu64"
uglies...
Thanks,
Ingo