Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2903
-gerrit
commit 562acde7f29ad17c3c2d35e708960fa1ffd9644e Author: Stefan Reinauer reinauer@chromium.org Date: Mon Mar 25 15:03:41 2013 -0700
libpayload: Fix type issues
There were a number of type issues in libpayload that sneaked in with 903f8e0.
- size_t and ssize_t were conflicting with gcc builtins - some stdint types were used in libpayload but not defined in our stdint.h
With this patch it's possible to compile libpayload with the reference toolchain again.
Change-Id: Idd5ccfdd9f3536b36bceca2d101e7405883b10bc Signed-off-by: Stefan Reinauer reinauer@google.com --- payloads/libpayload/include/armv7/arch/types.h | 4 ++-- payloads/libpayload/include/stdint.h | 8 ++++++++ payloads/libpayload/include/x86/arch/types.h | 4 ++-- 3 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/payloads/libpayload/include/armv7/arch/types.h b/payloads/libpayload/include/armv7/arch/types.h index d6f4aa8..bb40257 100644 --- a/payloads/libpayload/include/armv7/arch/types.h +++ b/payloads/libpayload/include/armv7/arch/types.h @@ -53,8 +53,8 @@ typedef signed long long s64; typedef long time_t; typedef long suseconds_t;
-typedef unsigned int size_t; -typedef int ssize_t; +typedef unsigned long size_t; +typedef long ssize_t;
#ifndef NULL #define NULL ((void *)0) diff --git a/payloads/libpayload/include/stdint.h b/payloads/libpayload/include/stdint.h index dd7439d..966a1ed 100644 --- a/payloads/libpayload/include/stdint.h +++ b/payloads/libpayload/include/stdint.h @@ -29,8 +29,16 @@
#ifndef __STDINT_H #define __STDINT_H + #include <arch/types.h>
+typedef long long int intmax_t; +typedef unsigned long long uintmax_t; + typedef unsigned long uintptr_t; typedef long intptr_t; + +#define UINT32_MAX (4294967295U) +#define UINT64_MAX (18446744073709551615ULL) + #endif diff --git a/payloads/libpayload/include/x86/arch/types.h b/payloads/libpayload/include/x86/arch/types.h index d6f4aa8..bb40257 100644 --- a/payloads/libpayload/include/x86/arch/types.h +++ b/payloads/libpayload/include/x86/arch/types.h @@ -53,8 +53,8 @@ typedef signed long long s64; typedef long time_t; typedef long suseconds_t;
-typedef unsigned int size_t; -typedef int ssize_t; +typedef unsigned long size_t; +typedef long ssize_t;
#ifndef NULL #define NULL ((void *)0)