openwrt/package/libs/uclibc++/patches/006-eabi_fix.patch

39 lines
1.2 KiB
Diff

--- a/include/typeinfo
+++ b/include/typeinfo
@@ -44,6 +44,7 @@ namespace __cxxabiv1
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 @@ namespace __cxxabiv1
// On platforms that support weak symbols, typeinfo names are merged.
#define __GXX_MERGED_TYPEINFO_NAMES 1
#endif
+#endif
namespace std
{
--- a/include/unwind-cxx.h
+++ b/include/unwind-cxx.h
@@ -173,6 +173,7 @@ extern std::unexpected_handler __unexpec
// 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')
@@ -181,6 +182,9 @@ const _Unwind_Exception_Class __gxx_exce
<< 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