| Index: src/base/macros.h | 
| diff --git a/src/base/macros.h b/src/base/macros.h | 
| index 382c30bd221b11fb7f2f3c9801157a33ccc20e49..3f09b2b9ce8af8939d64f85418a2e64a98387ad0 100644 | 
| --- a/src/base/macros.h | 
| +++ b/src/base/macros.h | 
| @@ -5,8 +5,13 @@ | 
| #ifndef V8_BASE_MACROS_H_ | 
| #define V8_BASE_MACROS_H_ | 
|  | 
| +#include <stddef.h> | 
| +#include <stdint.h> | 
| + | 
| +#include <cstring> | 
| + | 
| +#include "src/base/build_config.h" | 
| #include "src/base/compiler-specific.h" | 
| -#include "src/base/format-macros.h" | 
| #include "src/base/logging.h" | 
|  | 
|  | 
| @@ -269,25 +274,21 @@ | 
| #define V8PRIdPTR V8_PTR_PREFIX "d" | 
| #define V8PRIuPTR V8_PTR_PREFIX "u" | 
|  | 
| -// ptrdiff_t is 't' according to the standard, but MSVC uses 'I'. | 
| -#if V8_CC_MSVC | 
| -#define V8PRIxPTRDIFF "Ix" | 
| -#define V8PRIdPTRDIFF "Id" | 
| -#define V8PRIuPTRDIFF "Iu" | 
| -#else | 
| -#define V8PRIxPTRDIFF "tx" | 
| -#define V8PRIdPTRDIFF "td" | 
| -#define V8PRIuPTRDIFF "tu" | 
| -#endif | 
| - | 
| // Fix for Mac OS X defining uintptr_t as "unsigned long": | 
| #if V8_OS_MACOSX | 
| #undef V8PRIxPTR | 
| #define V8PRIxPTR "lx" | 
| -#undef V8PRIdPTR | 
| -#define V8PRIdPTR "ld" | 
| #undef V8PRIuPTR | 
| #define V8PRIuPTR "lxu" | 
| +#endif | 
| + | 
| +// GCC on S390 31-bit expands 'size_t' to 'long unsigned int' | 
| +// instead of 'int', resulting in compilation errors with %d. | 
| +// The printf format specifier needs to be %zd instead. | 
| +#if V8_HOST_ARCH_S390 && !V8_HOST_ARCH_64_BIT | 
| +#define V8_SIZET_PREFIX "z" | 
| +#else | 
| +#define V8_SIZET_PREFIX "" | 
| #endif | 
|  | 
| // The following macro works on both 32 and 64-bit platforms. | 
|  |