@@ -60,6 +60,14 @@ extern void _ZdlPvRKSt9nothrow_t (void *
extern void *_ZnaXRKSt9nothrow_t (size_t, c_nothrow_p) __attribute__((weak));
extern void _ZdaPvRKSt9nothrow_t (void *, c_nothrow_p) __attribute__((weak));
+#ifdef __osf__ /* Really: !HAVE_WEAKDEF */
+void *
+_ZnaXRKSt9nothrow_t (size_t, c_nothrow_p)
+{
+ return NULL;
+}
+#endif /* __osf__ */
+
/* Wrap the delete nothrow symbols for usage with a single argument.
Perhaps should have a configure type check for this, because the
std::nothrow_t reference argument is unused (empty class), and most
@@ -74,7 +74,9 @@ _ITM_beginTransaction:
.align 4
.globl GTM_longjmp
+#ifdef __ELF__
.hidden GTM_longjmp
+#endif
.ent GTM_longjmp
GTM_longjmp:
@@ -105,4 +107,6 @@ GTM_longjmp:
ret
.end GTM_longjmp
+#ifdef __linux__
.section .note.GNU-stack, "", @progbits
+#endif
@@ -1,4 +1,5 @@
/* { dg-do run } */
+/* { dg-options "-pthread" } */
/* { dg-xfail-if "" { *-*-* } { "*" } { "" } } */
/* Tests static constructors inside of transactional code. */
@@ -1,5 +1,8 @@
/* These tests all check whether initialization happens properly even if no
transaction has been used in the current thread yet. */
+
+/* { dg-options "-pthread" } */
+
#include <stdlib.h>
#include <pthread.h>
#include <libitm.h>
@@ -1,4 +1,5 @@
/* { dg-do run { xfail *-*-* } }
+/* { dg-options "-pthread" } */
/* Tests that new transactions can be started from both transaction_pure and
transaction_unsafe code. This also requires proper handling of reentrant
@@ -1,5 +1,7 @@
/* Simplest test involving real threads. Verify we get the correct answer. */
+/* { dg-options "-pthread" } */
+
#include <stdlib.h>
#include <pthread.h>
@@ -2,6 +2,8 @@
transaction data when a thread exists, potentially repeatedly. However,
we currently cannot check whether the data has indeed been released. */
+/* { dg-options "-pthread" } */
+
#include <stddef.h>
#include <stdlib.h>
#include <pthread.h>