summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Reinauer <reinauer@chromium.org>2012-05-14 13:21:08 -0700
committerPatrick Georgi <patrick@georgi-clan.de>2012-05-25 08:00:44 +0200
commit0e740d3952c978babe7f6b7b8110113170b02c08 (patch)
tree95b14b2e4ae655f518fac9ebc0b6d9a768dc56ef
parent1b1309f289d6fc9f6ec348686665d25218535030 (diff)
Fix size_t for certain versions of GCC
When compiling coreboot with the latest ChromeOS toolchain, GCC complains that some printk calls use %zu in connection with size_t types since it resolves the typedefs to long unsigned int. The problem is solved by using the GCC built-in __SIZE_TYPE__ if it exists and define __SIZE_TYPE__ to long unsigned int otherwise. Change-Id: I449c3d385b5633a05e57204704e981de6e017b86 Signed-off-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: http://review.coreboot.org/1040 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
-rw-r--r--src/arch/x86/include/stddef.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/arch/x86/include/stddef.h b/src/arch/x86/include/stddef.h
index e4fc019c87..a6c3fc6e15 100644
--- a/src/arch/x86/include/stddef.h
+++ b/src/arch/x86/include/stddef.h
@@ -2,7 +2,10 @@
#define I386_STDDEF_H
typedef long ptrdiff_t;
-typedef unsigned long size_t;
+#ifndef __SIZE_TYPE__
+#define __SIZE_TYPE__ unsigned long
+#endif
+typedef __SIZE_TYPE__ size_t;
typedef long ssize_t;
typedef int wchar_t;