Re: [PATCH] lpfc: use %zd format string for size_t

From: Arnd Bergmann
Date: Fri Oct 28 2016 - 18:04:21 EST


On Friday, October 28, 2016 2:58:33 PM CEST Vineet Gupta wrote:
> On 10/28/2016 02:52 PM, Vineet Gupta wrote:
> > On 10/28/2016 02:44 PM, Vineet Gupta wrote:
> >> This is configuration specific, and something caused your compiler to
> >>> be built assuming that size_t is unsigned long, while the kernel
> >>> headers are assuming it should be unsigned int.
> >
> > So yes this seems to be target specific gcc thing
> >
> > for ARC 4.8
> >
> > #define PTRDIFF_TYPE "int"
> >
> > ARM
> >
> > #ifndef PTRDIFF_TYPE
> > #define PTRDIFF_TYPE (TARGET_AAPCS_BASED ? "int" : "long int")
> > #endif
> >
> > ARC gcc 6.2
> >
> > #undef PTRDIFF_TYPE
> > #define PTRDIFF_TYPE "long int"
>
> Actually we need to adjust SIZE_TYPE (unsigned int) and PTRDIFF_TYPE (int) in the
> gcc 6.x to fix this issue. And that is exactly what ARC gcc 4.8 have.

What compiler versions are most commonly used these days?

You should probably stay with the version that most people have
and then update either the compiler or the kernel, whichever
diverges from it.

I see in the gcc git log that the version that had "int" got removed
at some point, and the version that had "unsigned int" was added
later.

Arnd