Re: [PATCH] openrisc: Define __kernel_size_t to suppress compiler warnings

From: Andreas Schwab
Date: Tue Dec 20 2016 - 17:44:55 EST


On Dez 20 2016, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:

> When I saw this patch, I was already a bit skeptical about it, but I noticed
> other architectures (e.g. avr32) are doing the same, so I didn't reply.
>
> In my experience, "format '%zu' expects argument of type 'size_t', but
> argument 3 has type 'unsigned int'" happens when using a compiler that
> was not configured to use the correct type (should be unsigned long) for
> size_t. Typically this happens when using a compiler not configured for
> a Linux target.

32-bit targets typically use unsigned int for size_t. It is part of the
ABI, so all compilers must agree. Since or32 is a out-of-tree port, and
gcc defaults to unsigned long for size_t, mismatches can happen if
people are using incomplete patches.

Andreas.

--
Andreas Schwab, schwab@xxxxxxxxxxxxxx
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."