[oe-commits] Khem Raj : gcc-4.4.1.inc: Make gcc 4.1.1 compilable for uclibc targets.

git version control git at git.openembedded.org
Fri Aug 7 20:14:56 UTC 2009


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 1305db95fec0d644b0dcdd701a8ca16c10629d2b
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=1305db95fec0d644b0dcdd701a8ca16c10629d2b

Author: Khem Raj <raj.khem at gmail.com>
Date:   Fri Aug  7 13:13:52 2009 -0700

gcc-4.4.1.inc: Make gcc 4.1.1 compilable for uclibc targets.

Signed-off-by: Khem Raj <raj.khem at gmail.com>

---

 .../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 0000000..ffb37d2
--- /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.





More information about the Openembedded-commits mailing list