gcc 4.9 build warnings (was: Re: arm-soc build: 2917 warnings 0 failures (arm-soc/v3.18-rc1-20-g06c0773))
Arnd Bergmann
arnd at arndb.de
Fri Oct 24 03:49:50 PDT 2014
On Friday 24 October 2014 03:30:06 Olof's autobuilder wrote:
> Here are the build results from automated periodic testing.
>
> The tree being built was arm-soc, found at:
>
> http://git.kernel.org/cgit/linux/kernel/git/arm/arm-soc.git (for-next or to-build branch)
>
> Topmost commit:
>
> 06c0773 [EXPERIMENTAL] try to get Linux to build with bare-metal toolchain
This appears to have fixed one problem but not the other:
> Build logs (stderr only) can be found at the following link (experimental):
>
> http://arm-soc.lixom.net/buildlogs/arm-soc/v3.18-rc1-20-g06c0773/
>
>
> Runtime: 57m 11s
>
> Passed: 129
> Failed: 0
>
> Warnings: 2917
>
> Section mismatches: 0
>
> -------------------------------------------------------------------------------
>
> Failed defconfigs:
>
> -------------------------------------------------------------------------------
>
> Errors:
All build errors are gone now, after passing -D__linux__. That is good.
> 1 drivers/video/fbdev/sm501fb.c:245:2: warning: format '%zd' expects argument of type 'signed size_t', but argument 8 has type 'size_t' [-Wformat=]
> 1 mm/percpu.c:895:3: warning: format '%zu' expects argument of type 'size_t', but argument 2 has type 'unsigned int' [-Wformat=]
> 1 mm/percpu.c:895:3: warning: format '%zu' expects argument of type 'size_t', but argument 3 has type 'unsigned int' [-Wformat=]
The warnings are completely unchanged, still 249 unique warnings involving size_t,
using this patch:
diff --git a/arch/arm/include/asm/types.h b/arch/arm/include/asm/types.h
index a53cdb8f068c..baaa8739b0bf 100644
--- a/arch/arm/include/asm/types.h
+++ b/arch/arm/include/asm/types.h
@@ -16,7 +16,7 @@
* types, so 'linux/types.h' and 'stdint.h' can be safely included from the same
* source file (provided that -ffreestanding is used).
*
- * int32_t uint32_t uintptr_t
+ * int32_t uint32_t/size_t uintptr_t
* bare metal GCC long unsigned long unsigned int
* glibc GCC int unsigned int unsigned int
* kernel int unsigned int unsigned long
@@ -29,7 +29,12 @@
#ifdef __UINT32_TYPE__
#undef __UINT32_TYPE__
-#define __UINT32_TYPE__ unsigned int
+#define __UINT32_TYPE__ unsigned int
+#endif
+
+#ifdef __SIZE_TYPE__
+#undef __SIZE_TYPE__
+#define __SIZE_TYPE__ unsigned int
#endif
#ifdef __UINTPTR_TYPE__
Arnd
More information about the linux-arm-kernel
mailing list