summaryrefslogtreecommitdiff
path: root/package/uclibc++/patches/006-eabi_fix.patch
blob: 1f5ebcb9d070e3bf66903451220f131b5e652254 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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 @@
 
 // This is the exception class we report -- "GNUCC++\0".
 const _Unwind_Exception_Class __gxx_exception_class
+#ifndef __ARM_EABI_UNWINDER__
 = ((((((((_Unwind_Exception_Class) 'G' 
 	 << 8 | (_Unwind_Exception_Class) 'N')
 	<< 8 | (_Unwind_Exception_Class) 'U')
@@ -143,6 +144,9 @@
      << 8 | (_Unwind_Exception_Class) '+')
     << 8 | (_Unwind_Exception_Class) '+')
    << 8 | (_Unwind_Exception_Class) '\0');
+#else
+= "GNUC++";
+#endif
 
 // GNU C++ personality routine, Version 0.
 extern "C" _Unwind_Reason_Code __gxx_personality_v0