diff options
author | Khem Raj <raj.khem@gmail.com> | 2011-04-19 21:27:09 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-04-28 09:52:05 +0100 |
commit | 26858099bc104efc3b3d15d9298018285c551b9a (patch) | |
tree | fa4b6a0cfa82b1c9347800be312b6fe7f165f65e /meta/recipes-devtools/gcc/gcc-4.6.0/204-uclibc-locale-wchar_fix.patch | |
parent | fd2485ab15ed82cb3dc84b8408e516a932de1bd1 (diff) | |
download | openembedded-core-26858099bc104efc3b3d15d9298018285c551b9a.tar.gz openembedded-core-26858099bc104efc3b3d15d9298018285c551b9a.tar.bz2 openembedded-core-26858099bc104efc3b3d15d9298018285c551b9a.zip |
gcc: Add recipes for 4.6.0
This is initial set of patches for testing them out
The patches need documentation is pending
Some patches especially uclibc related are not
needed they must be dropped.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.6.0/204-uclibc-locale-wchar_fix.patch')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.6.0/204-uclibc-locale-wchar_fix.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/204-uclibc-locale-wchar_fix.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/204-uclibc-locale-wchar_fix.patch new file mode 100644 index 0000000000..2d8d70ae59 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.6.0/204-uclibc-locale-wchar_fix.patch @@ -0,0 +1,52 @@ +Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc +=================================================================== +--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc ++++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc +@@ -401,7 +401,7 @@ namespace std + # ifdef __UCLIBC_HAS_XLOCALE__ + _M_data->_M_decimal_point = __cloc->decimal_point_wc; + _M_data->_M_thousands_sep = __cloc->thousands_sep_wc; +-# else ++# elif defined __UCLIBC_HAS_LOCALE__ + _M_data->_M_decimal_point = __global_locale->decimal_point_wc; + _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc; + # endif +@@ -556,7 +556,7 @@ namespace std + # ifdef __UCLIBC_HAS_XLOCALE__ + _M_data->_M_decimal_point = __cloc->decimal_point_wc; + _M_data->_M_thousands_sep = __cloc->thousands_sep_wc; +-# else ++# elif defined __UCLIBC_HAS_LOCALE__ + _M_data->_M_decimal_point = __global_locale->decimal_point_wc; + _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc; + # endif +Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc +=================================================================== +--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc ++++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc +@@ -127,12 +127,25 @@ namespace std + { + // Named locale. + // NB: In the GNU model wchar_t is always 32 bit wide. ++#ifdef __UCLIBC_MJN3_ONLY__ ++#warning fix this... should be numeric ++#endif ++#ifdef __UCLIBC__ ++# ifdef __UCLIBC_HAS_XLOCALE__ ++ _M_data->_M_decimal_point = __cloc->decimal_point_wc; ++ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc; ++# elif defined __UCLIBC_HAS_LOCALE__ ++ _M_data->_M_decimal_point = __global_locale->decimal_point_wc; ++ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc; ++# endif ++#else + union { char *__s; wchar_t __w; } __u; + __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc); + _M_data->_M_decimal_point = __u.__w; + + __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc); + _M_data->_M_thousands_sep = __u.__w; ++#endif + + if (_M_data->_M_thousands_sep == L'\0') + _M_data->_M_grouping = ""; |