diff options
Diffstat (limited to 'newlib/patches/08-new-newlib-libc-include-inttypes-h.patch')
-rw-r--r-- | newlib/patches/08-new-newlib-libc-include-inttypes-h.patch | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/newlib/patches/08-new-newlib-libc-include-inttypes-h.patch b/newlib/patches/08-new-newlib-libc-include-inttypes-h.patch new file mode 100644 index 0000000..9f3810c --- /dev/null +++ b/newlib/patches/08-new-newlib-libc-include-inttypes-h.patch @@ -0,0 +1,97 @@ +#! /bin/sh +patch -p1 -f $* < $0 +exit $? + +Bug fix. Wrong printf format specifier for standard types on systems +with 64-bit longs and long longs. + +diff -c newlib/newlib/libc/include/inttypes.h.orig newlib/newlib/libc/include/inttypes.h +--- newlib/newlib/libc/include/inttypes.h.orig 2009-01-17 21:26:49.000000000 +0100 ++++ newlib/newlib/libc/include/inttypes.h 2009-01-17 21:41:31.000000000 +0100 +@@ -163,12 +163,12 @@ + + + /* 64-bit types */ +-#if __have_longlong64 +-#define __PRI64(x) __STRINGIFY(ll##x) +-#define __SCN64(x) __STRINGIFY(ll##x) +-#elif __have_long64 ++#if __have_long64 + #define __PRI64(x) __STRINGIFY(l##x) + #define __SCN64(x) __STRINGIFY(l##x) ++#elif __have_longlong64 ++#define __PRI64(x) __STRINGIFY(ll##x) ++#define __SCN64(x) __STRINGIFY(ll##x) + #else + #define __PRI64(x) __STRINGIFY(x) + #define __SCN64(x) __STRINGIFY(x) +@@ -217,12 +217,12 @@ + #endif + + /* max-bit types */ +-#if __have_longlong64 +-#define __PRIMAX(x) __STRINGIFY(ll##x) +-#define __SCNMAX(x) __STRINGIFY(ll##x) +-#elif __have_long64 ++#if __have_long64 + #define __PRIMAX(x) __STRINGIFY(l##x) + #define __SCNMAX(x) __STRINGIFY(l##x) ++#elif __have_longlong64 ++#define __PRIMAX(x) __STRINGIFY(ll##x) ++#define __SCNMAX(x) __STRINGIFY(ll##x) + #else + #define __PRIMAX(x) __STRINGIFY(x) + #define __SCNMAX(x) __STRINGIFY(x) +@@ -242,12 +242,12 @@ + #define SCNxMAX __SCNMAX(x) + + /* ptr types */ +-#if __have_longlong64 +-#define __PRIPTR(x) __STRINGIFY(ll##x) +-#define __SCNPTR(x) __STRINGIFY(ll##x) +-#elif __have_long64 ++#if __have_long64 + #define __PRIPTR(x) __STRINGIFY(l##x) + #define __SCNPTR(x) __STRINGIFY(l##x) ++#elif __have_longlong64 ++#define __PRIPTR(x) __STRINGIFY(ll##x) ++#define __SCNPTR(x) __STRINGIFY(ll##x) + #else + #define __PRIPTR(x) __STRINGIFY(x) + #define __SCNPTR(x) __STRINGIFY(x) + + +diff -c newlib/newlib/libc/include/stdint.h newlib/newlib/libc/include/stdint.h.orig +--- newlib/newlib/libc/include/stdint.h.orig 2006-08-16 23:39:43.000000000 +0200 ++++ newlib/newlib/libc/include/stdint.h 2009-01-17 22:20:26.000000000 +0100 +@@ -375,22 +375,22 @@ + #endif + + #if __int64_t_defined +-#if __have_longlong64 +-#define INT64_C(x) x##LL +-#define UINT64_C(x) x##ULL +-#else ++#if __have_long64 + #define INT64_C(x) x##L + #define UINT64_C(x) x##UL ++#else ++#define INT64_C(x) x##LL ++#define UINT64_C(x) x##ULL + #endif + #endif + + /** Macros for greatest-width integer constant expression */ +-#if __have_longlong64 +-#define INTMAX_C(x) x##LL +-#define UINTMAX_C(x) x##ULL +-#else ++#if __have_long64 + #define INTMAX_C(x) x##L + #define UINTMAX_C(x) x##UL ++#else ++#define INTMAX_C(x) x##LL ++#define UINTMAX_C(x) x##ULL + #endif + + |