Messages in this thread | | | From | Andreas Schwab <> | Subject | Re: [PATCH] openrisc: Define __kernel_size_t to suppress compiler warnings | Date | Tue, 20 Dec 2016 23:44:43 +0100 |
| |
On Dez 20 2016, Geert Uytterhoeven <geert@linux-m68k.org> 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@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."
| |