diff options
author | Andreas Tobler <andreast@gcc.gnu.org> | 2015-01-09 15:22:19 +0100 |
---|---|---|
committer | Andreas Tobler <andreast@gcc.gnu.org> | 2015-01-09 15:22:19 +0100 |
commit | 4c470097be7b403c8b424c703144b03a88f22b3b (patch) | |
tree | 369ffc00ab216799703aae584754898634fa45fc | |
parent | 82a19768cb55aa06dc6aac858012cf40125a3d9f (diff) | |
download | gcc-4c470097be7b403c8b424c703144b03a88f22b3b.zip gcc-4c470097be7b403c8b424c703144b03a88f22b3b.tar.gz gcc-4c470097be7b403c8b424c703144b03a88f22b3b.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/ginclude/unwind-arm-common.h | 8 | ||||
-rw-r--r-- | libstdc++-v3/ChangeLog | 4 | ||||
-rw-r--r-- | libstdc++-v3/libsupc++/unwind-cxx.h | 37 |
4 files changed, 16 insertions, 37 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f442a30..a22c073 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> + * ginclude/unwind-arm-common.h: Revert previous commit. + +2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> + * config.gcc (arm*-*-freebsd*): New configuration. * config/arm/freebsd.h: New file. * config.host: Add extra components for arm*-*-freebsd*. diff --git a/gcc/ginclude/unwind-arm-common.h b/gcc/ginclude/unwind-arm-common.h index 52118c7..833786f 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 c6184fd..83c1add 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,9 @@ 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> + * libsupc++/unwind-cxx.h: Revert previous commit. + +2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> + * configure.host: Add arm*-*-freebsd* port_specific_symbol_files. 2015-01-09 Tim Shen <timshen@google.com> diff --git a/libstdc++-v3/libsupc++/unwind-cxx.h b/libstdc++-v3/libsupc++/unwind-cxx.h index 70f14b4..e601596 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 |