aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Tobler <andreast@gcc.gnu.org>2015-01-09 15:22:19 +0100
committerAndreas Tobler <andreast@gcc.gnu.org>2015-01-09 15:22:19 +0100
commit4c470097be7b403c8b424c703144b03a88f22b3b (patch)
tree369ffc00ab216799703aae584754898634fa45fc
parent82a19768cb55aa06dc6aac858012cf40125a3d9f (diff)
downloadgcc-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/ChangeLog4
-rw-r--r--gcc/ginclude/unwind-arm-common.h8
-rw-r--r--libstdc++-v3/ChangeLog4
-rw-r--r--libstdc++-v3/libsupc++/unwind-cxx.h37
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