libitm_i.h (_Unwind_DeleteException): Declare weak.
authorRichard Henderson <rth@redhat.com>
Tue, 10 Jan 2012 03:16:07 +0000 (19:16 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 10 Jan 2012 03:16:07 +0000 (19:16 -0800)
* libitm_i.h (_Unwind_DeleteException): Declare weak.
* eh_cpp.cc (_Unwind_DeleteException): Define for
!HAVE_ELF_STYLE_WEAKREF.

From-SVN: r183049

libitm/ChangeLog
libitm/eh_cpp.cc
libitm/libitm_i.h

index 0931fcda5c8d50e643f35a467d6af64b368e603f..fa12e8c0fa626abcf63fa46458cdbc56fd4297be 100644 (file)
@@ -1,3 +1,9 @@
+2012-01-10  Richard Henderson  <rth@redhat.com>
+
+       * libitm_i.h (_Unwind_DeleteException): Declare weak.
+       * eh_cpp.cc (_Unwind_DeleteException): Define for
+       !HAVE_ELF_STYLE_WEAKREF.
+
 2012-01-08  Torvald Riegel  <triegel@redhat.com>
 
        * local.cc (GTM_LB): Use GTM::gtm_undolog.
index 6f302cdc4aee1939afa3c5fbe1ffb37383ea5f79..352a313bee686918ded93fa1a0485d32ce8ef73e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2009, 2011, 2012 Free Software Foundation, Inc.
    Contributed by Richard Henderson <rth@redhat.com>.
 
    This file is part of the GNU Transactional Memory Library (libitm).
@@ -45,6 +45,7 @@ void __cxa_throw (void *, void *, void *) { return; }
 void *__cxa_begin_catch (void *) { return NULL; }
 void *__cxa_end_catch (void) { return NULL; }
 void __cxa_tm_cleanup (void *, void *, unsigned int) { return; }
+void _Unwind_DeleteException (_Unwind_Exception *) { return; }
 #endif /* HAVE_ELF_STYLE_WEAKREF */
 
 }
index f922d22d89f1993f8441c9f36d61276c49805e09..c00389d5115099ef95f702083f7b56eb3e22ff85 100644 (file)
 #include "local_type_traits"
 #include "local_atomic"
 
+/* Don't require libgcc_s.so for exceptions.  */
+extern void _Unwind_DeleteException (_Unwind_Exception*) __attribute__((weak));
+
+
 #include "common.h"
 
 namespace GTM HIDDEN {