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

Geert Uytterhoeven
2011-06-30T06:59:35Z

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.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds