* libitm_i.h (_Unwind_DeleteException): Declare weak.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Jan 2012 03:16:07 +0000 (03:16 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Jan 2012 03:16:07 +0000 (03:16 +0000)
* eh_cpp.cc (_Unwind_DeleteException): Define for
!HAVE_ELF_STYLE_WEAKREF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183049 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 0931fcd..fa12e8c 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 6f302cd..352a313 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 f922d22..c00389d 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 {