add uclibc++ (from packages)
[openwrt.git] / package / uclibc++ / patches / 006-eabi_fix.patch
diff --git a/package/uclibc++/patches/006-eabi_fix.patch b/package/uclibc++/patches/006-eabi_fix.patch
new file mode 100644 (file)
index 0000000..bc970a7
--- /dev/null
@@ -0,0 +1,42 @@
+Index: uClibc++-0.2.2/include/typeinfo
+===================================================================
+--- uClibc++-0.2.2.orig/include/typeinfo       2008-02-13 00:37:04.000000000 +0100
++++ uClibc++-0.2.2/include/typeinfo    2008-02-13 00:37:34.000000000 +0100
+@@ -44,6 +44,7 @@
+   class __class_type_info;
+ } // namespace __cxxabiv1
++#ifndef __GXX_MERGED_TYPEINFO_NAMES
+ #if !__GXX_WEAK__
+   // If weak symbols are not supported, typeinfo names are not merged.
+   #define __GXX_MERGED_TYPEINFO_NAMES 0
+@@ -51,6 +52,7 @@
+   // On platforms that support weak symbols, typeinfo names are merged.
+   #define __GXX_MERGED_TYPEINFO_NAMES 1
+ #endif
++#endif
+ namespace std 
+ {
+Index: uClibc++-0.2.2/include/unwind-cxx.h
+===================================================================
+--- uClibc++-0.2.2.orig/include/unwind-cxx.h   2008-02-13 00:38:04.000000000 +0100
++++ uClibc++-0.2.2/include/unwind-cxx.h        2008-02-13 00:40:32.000000000 +0100
+@@ -135,6 +135,7 @@
\r
+ // This is the exception class we report -- "GNUCC++\0".\r
+ const _Unwind_Exception_Class __gxx_exception_class\r
++#ifndef __ARM_EABI_UNWINDER__\r
+ = ((((((((_Unwind_Exception_Class) 'G' \r
+        << 8 | (_Unwind_Exception_Class) 'N')\r
+       << 8 | (_Unwind_Exception_Class) 'U')\r
+@@ -143,6 +144,9 @@
+      << 8 | (_Unwind_Exception_Class) '+')\r
+     << 8 | (_Unwind_Exception_Class) '+')\r
+    << 8 | (_Unwind_Exception_Class) '\0');\r
++#else\r
++= "GNUC++";\r
++#endif\r
\r
+ // GNU C++ personality routine, Version 0.\r
+ extern "C" _Unwind_Reason_Code __gxx_personality_v0\r