summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-01-10 03:16:07 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-01-10 03:16:07 +0000
commitb2abbcafff02c0bbc41e66a1ef7da55f04577e94 (patch)
tree2b6da3942f1c48f565c007d91cedb45472610c29
parentca8c55ac37838c8896ee2a274061b46012e3e1a0 (diff)
downloadgcc-b2abbcafff02c0bbc41e66a1ef7da55f04577e94.tar.gz
* libitm_i.h (_Unwind_DeleteException): Declare weak.
* 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
-rw-r--r--libitm/ChangeLog6
-rw-r--r--libitm/eh_cpp.cc3
-rw-r--r--libitm/libitm_i.h4
3 files changed, 12 insertions, 1 deletions
diff --git a/libitm/ChangeLog b/libitm/ChangeLog
index 0931fcda5c8..fa12e8c0fa6 100644
--- a/libitm/ChangeLog
+++ b/libitm/ChangeLog
@@ -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.
diff --git a/libitm/eh_cpp.cc b/libitm/eh_cpp.cc
index 6f302cdc4ae..352a313bee6 100644
--- a/libitm/eh_cpp.cc
+++ b/libitm/eh_cpp.cc
@@ -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 */
}
diff --git a/libitm/libitm_i.h b/libitm/libitm_i.h
index f922d22d89f..c00389d5115 100644
--- a/libitm/libitm_i.h
+++ b/libitm/libitm_i.h
@@ -39,6 +39,10 @@
#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 {