On 01/04/2012 11:27 PM, Rainer Orth wrote:
> [libgfortran, libitm] Link with -shared-libgcc
>
http://gcc.gnu.org/ml/gcc-patches/2011-12/msg01382.html>
> This will need a fortran resp. libitm maintainer.
Does the following alleviate the need for -shared-libgcc for libitm?
r~
diff --git a/libitm/eh_cpp.cc b/libitm/eh_cpp.cc
index 6f302cd..a6a1851 100644
--- a/libitm/eh_cpp.cc
+++ b/libitm/eh_cpp.cc
@@ -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 b53792a..959d802 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 {