diff options
author | Khem Raj <raj.khem@gmail.com> | 2009-08-07 13:13:52 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2009-08-07 13:13:52 -0700 |
commit | 1305db95fec0d644b0dcdd701a8ca16c10629d2b (patch) | |
tree | b5d30000133d769862aaf34871af95b9d6a3cfc2 | |
parent | 694adec0bf859565b37eae2c8a131167841312a0 (diff) |
gcc-4.4.1.inc: Make gcc 4.1.1 compilable for uclibc targets.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r-- | recipes/gcc/gcc-4.4.1/gcc-uclibc-locale-ctype_touplow_t.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/recipes/gcc/gcc-4.4.1/gcc-uclibc-locale-ctype_touplow_t.patch b/recipes/gcc/gcc-4.4.1/gcc-uclibc-locale-ctype_touplow_t.patch new file mode 100644 index 0000000000..ffb37d2976 --- /dev/null +++ b/recipes/gcc/gcc-4.4.1/gcc-uclibc-locale-ctype_touplow_t.patch @@ -0,0 +1,52 @@ +Index: gcc-4.4.1/libstdc++-v3/config/locale/generic/c_locale.h +=================================================================== +--- gcc-4.4.1.orig/libstdc++-v3/config/locale/generic/c_locale.h 2009-08-06 23:38:32.398265633 -0700 ++++ gcc-4.4.1/libstdc++-v3/config/locale/generic/c_locale.h 2009-08-06 23:41:09.778242281 -0700 +@@ -41,12 +41,17 @@ + + #include <clocale> + #include <cstddef> ++#include <features.h> ++#include <ctype.h> + + #define _GLIBCXX_NUM_CATEGORIES 0 + + _GLIBCXX_BEGIN_NAMESPACE(std) +- +- typedef int* __c_locale; ++#ifdef __UCLIBC__ ++ typedef __ctype_touplow_t* __c_locale; ++#else ++ typedef int* __c_locale; ++#endif + + // Convert numeric value of type double and long double to string and + // return length of string. If vsnprintf is available use it, otherwise +Index: gcc-4.4.1/libstdc++-v3/config/os/gnu-linux/ctype_base.h +=================================================================== +--- gcc-4.4.1.orig/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2009-08-06 23:42:27.402242608 -0700 ++++ gcc-4.4.1/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2009-08-06 23:43:44.842241959 -0700 +@@ -33,14 +33,21 @@ + */ + + // Information as gleaned from /usr/include/ctype.h +- ++ ++#include <features.h> ++#include <ctype.h> ++ + _GLIBCXX_BEGIN_NAMESPACE(std) + + /// @brief Base class for ctype. + struct ctype_base + { + // Non-standard typedefs. +- typedef const int* __to_type; ++#ifdef __UCLIBC__ ++ typedef const __ctype_touplow_t* __to_type; ++#else ++ typedef const int* __to_type; ++#endif + + // NB: Offsets into ctype<char>::_M_table force a particular size + // on the mask type. Because of this, we don't use an enum. |