From 4c470097be7b403c8b424c703144b03a88f22b3b Mon Sep 17 00:00:00 2001 From: Andreas Tobler Date: Fri, 9 Jan 2015 15:22:19 +0100 Subject: [PATCH] unwind-arm-common.h: Revert previous commit. gcc: * ginclude/unwind-arm-common.h: Revert previous commit. libstdc++-v3: * libsupc++/unwind-cxx.h: Revert previous commit. From-SVN: r219392 --- gcc/ChangeLog | 4 ++++ gcc/ginclude/unwind-arm-common.h | 8 ------- libstdc++-v3/ChangeLog | 4 ++++ libstdc++-v3/libsupc++/unwind-cxx.h | 37 +++++++---------------------- 4 files changed, 16 insertions(+), 37 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f442a306524..a22c073f58a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2015-01-09 Andreas Tobler + + * ginclude/unwind-arm-common.h: Revert previous commit. + 2015-01-09 Andreas Tobler * config.gcc (arm*-*-freebsd*): New configuration. diff --git a/gcc/ginclude/unwind-arm-common.h b/gcc/ginclude/unwind-arm-common.h index 52118c72967..833786f01b3 100644 --- a/gcc/ginclude/unwind-arm-common.h +++ b/gcc/ginclude/unwind-arm-common.h @@ -82,11 +82,7 @@ extern "C" { struct _Unwind_Control_Block { -#ifdef __FreeBSD__ - unsigned exception_class __attribute__((__mode__(__DI__))); -#else char exception_class[8]; -#endif void (*exception_cleanup)(_Unwind_Reason_Code, _Unwind_Control_Block *); /* Unwinder cache, private fields for the unwinder's use */ struct @@ -185,11 +181,7 @@ extern "C" { /* Support functions for the PR. */ #define _Unwind_Exception _Unwind_Control_Block -#ifdef __FreeBSD__ - typedef unsigned _Unwind_Exception_Class __attribute__((__mode__(__DI__))); -#else typedef char _Unwind_Exception_Class[8]; -#endif void * _Unwind_GetLanguageSpecificData (_Unwind_Context *); _Unwind_Ptr _Unwind_GetRegionStart (_Unwind_Context *); diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index c6184fda434..83c1add18a5 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,7 @@ +2015-01-09 Andreas Tobler + + * libsupc++/unwind-cxx.h: Revert previous commit. + 2015-01-09 Andreas Tobler * configure.host: Add arm*-*-freebsd* port_specific_symbol_files. diff --git a/libstdc++-v3/libsupc++/unwind-cxx.h b/libstdc++-v3/libsupc++/unwind-cxx.h index 70f14b4d1b5..e6015964390 100644 --- a/libstdc++-v3/libsupc++/unwind-cxx.h +++ b/libstdc++-v3/libsupc++/unwind-cxx.h @@ -235,7 +235,7 @@ __get_dependent_exception_from_ue (_Unwind_Exception *exc) return reinterpret_cast<__cxa_dependent_exception *>(exc + 1) - 1; } -#if defined (__ARM_EABI_UNWINDER__) && !defined (__FreeBSD__) +#ifdef __ARM_EABI_UNWINDER__ static inline bool __is_gxx_exception_class(_Unwind_Exception_Class c) { @@ -309,7 +309,13 @@ __GXX_INIT_FORCED_UNWIND_CLASS(_Unwind_Exception_Class c) c[6] = 'R'; c[7] = '\0'; } -#else // !__ARM_EABI_UNWINDER__ || __FreeBSD__ + +static inline void* +__gxx_caught_object(_Unwind_Exception* eo) +{ + return (void*)eo->barrier_cache.bitpattern[0]; +} +#else // !__ARM_EABI_UNWINDER__ // This is the primary exception class we report -- "GNUCC++\0". const _Unwind_Exception_Class __gxx_primary_exception_class = ((((((((_Unwind_Exception_Class) 'G' @@ -333,16 +339,6 @@ const _Unwind_Exception_Class __gxx_dependent_exception_class << 8 | (_Unwind_Exception_Class) '+') << 8 | (_Unwind_Exception_Class) '\x01'); -const _Unwind_Exception_Class __gxx_forced_unwind_class -= ((((((((_Unwind_Exception_Class) 'G' - << 8 | (_Unwind_Exception_Class) 'N') - << 8 | (_Unwind_Exception_Class) 'U') - << 8 | (_Unwind_Exception_Class) 'C') - << 8 | (_Unwind_Exception_Class) 'F') - << 8 | (_Unwind_Exception_Class) 'O') - << 8 | (_Unwind_Exception_Class) 'R') - << 8 | (_Unwind_Exception_Class) '\0'); - static inline bool __is_gxx_exception_class(_Unwind_Exception_Class c) { @@ -350,12 +346,6 @@ __is_gxx_exception_class(_Unwind_Exception_Class c) || c == __gxx_dependent_exception_class; } -static inline bool -__is_gxx_forced_unwind_class(_Unwind_Exception_Class c) -{ - return c == __gxx_forced_unwind_class; -} - // Only checks for primary or dependent, but not that it is a C++ exception at // all. static inline bool @@ -367,17 +357,6 @@ __is_dependent_exception(_Unwind_Exception_Class c) #define __GXX_INIT_PRIMARY_EXCEPTION_CLASS(c) c = __gxx_primary_exception_class #define __GXX_INIT_DEPENDENT_EXCEPTION_CLASS(c) \ c = __gxx_dependent_exception_class -#define __GXX_INIT_FORCED_UNWIND_CLASS(c) c = __gxx_forced_unwind_class -#endif // __ARM_EABI_UNWINDER__ && !__FreeBSD__ - -#ifdef __ARM_EABI_UNWINDER__ -static inline void* -__gxx_caught_object(_Unwind_Exception* eo) -{ - return (void*)eo->barrier_cache.bitpattern[0]; -} - -#else // !__ARM_EABI_UNWINDER__ // GNU C++ personality routine, Version 0. extern "C" _Unwind_Reason_Code __gxx_personality_v0 -- 2.30.2