From 8377e5e5461f7370489eb849e8af4cde4a75831f Mon Sep 17 00:00:00 2001 From: Richard Henderson <rth@redhat.com> Date: Mon, 9 Jan 2012 19:16:07 -0800 Subject: [PATCH] libitm_i.h (_Unwind_DeleteException): Declare weak. * libitm_i.h (_Unwind_DeleteException): Declare weak. * eh_cpp.cc (_Unwind_DeleteException): Define for !HAVE_ELF_STYLE_WEAKREF. From-SVN: r183049 --- libitm/ChangeLog | 6 ++++++ libitm/eh_cpp.cc | 3 ++- libitm/libitm_i.h | 4 ++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/libitm/ChangeLog b/libitm/ChangeLog index 0931fcda5c8d..fa12e8c0fa62 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 6f302cdc4aee..352a313bee68 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 f922d22d89f1..c00389d51150 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 { -- GitLab