Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

cris: use "int" for ssize_t to match size_t

On cris-linux-gcc, __SIZE_TYPE__ expands to "unsigned int", as
gcc-4.6.3-nolibc/cris-linux/lib/gcc/cris-linux/4.6.3/plugin/include/config/cris/linux.h
has

#define SIZE_TYPE "unsigned int"

Hence __kernel_size_t is also "unsigned int". But __kernel_ssize_t is
"long", which has a different base type, causing compiler warnings like:

fs/quota/quota_tree.c:372:4: warning: format '%zd' expects argument of type 'signed size_t', but argument 4 has type 'ssize_t' [-Wformat]

To fix this, __kernel_ssize_t should be changed to "int". Hence cris can
just use the generic 32-bit versions from include/asm-generic/posix_types.h
for all size-related types.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Mikael Starvik <starvik@axis.com>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
Cc: Hans-Peter Nilsson <hans-peter.nilsson@axis.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Geert Uytterhoeven and committed by
Linus Torvalds
ddfe9b35 3b639183

-5
-5
arch/cris/include/uapi/asm/posix_types.h
··· 22 22 typedef unsigned short __kernel_gid_t; 23 23 #define __kernel_uid_t __kernel_uid_t 24 24 25 - typedef __SIZE_TYPE__ __kernel_size_t; 26 - typedef long __kernel_ssize_t; 27 - typedef int __kernel_ptrdiff_t; 28 - #define __kernel_size_t __kernel_size_t 29 - 30 25 typedef unsigned short __kernel_old_dev_t; 31 26 #define __kernel_old_dev_t __kernel_old_dev_t 32 27