* h...@zytor.com <h...@zytor.com> wrote: > On February 1, 2017 11:16:00 PM PST, Ingo Molnar <mi...@kernel.org> wrote: > > > >* Nicolas Iooss <nicolas.iooss_li...@m4x.org> 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