Re: Build regressions/improvements in v3.0-rc5 (ssize_t ???)

Randy Dunlap
2011-06-30T16:12:28Z

On Thu, 30 Jun 2011 08:59:28 +0200 Geert Uytterhoeven wrote:

> On Wed, Jun 29, 2011 at 23:06, Randy Dunlap <rdunlap@xenotime.net> wrote:
> > On Wed, 29 Jun 2011 10:13:17 +0200 (CEST) Geert Uytterhoeven wrote:
> >
> >> *** WARNINGS ***
> >>
> >> 358 regressions:
> >
> >>   + drivers/net/wimax/i2400m/usb-fw.c: warning: format '%zd' expects type 'signed size_t', but argument 4 has type 'ssize_t':  => 210
> >>   + drivers/net/wimax/i2400m/usb-fw.c: warning: format '%zd' expects type 'signed size_t', but argument 8 has type 'ssize_t':  => 222
> >
> >>   + drivers/staging/bcm/Bcmchar.c: warning: format '%zd' expects type 'signed size_t', but argument 2 has type 'ssize_t':  => 146
> >>   + drivers/staging/bcm/Bcmchar.c: warning: format '%zd' expects type 'signed size_t', but argument 3 has type 'ssize_t':  => 146
> >
> >>   + net/sunrpc/auth_gss/auth_gss.c: warning: format '%Zd' expects type 'signed size_t', but argument 2 has type 'ssize_t':  => 708
> >>   + net/sunrpc/auth_gss/auth_gss.c: warning: format '%zd' expects type 'signed size_t', but argument 3 has type 'ssize_t':  => 690
> >
> >
> > Can someone explain these warnings, please?  (signed size_t vs. ssize_t)
> >
> > Is gcc confused?
> > Looks like a compiler issue to me.
>
> Nope. Also only happens on cris, which has in
> arch/cris/include/asm/posix_types.h:
>
> typedef long __kernel_ssize_t;
>
> The "long" should be "int".
> But probably it should just include <asm-generic/posix_types.h> instead.

Thanks for pointing that out.

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***