mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-23 19:03:59 +08:00
libitm port to Tru64 UNIX
* config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use .hidden. (.note.GNU-stack): Only use if __linux__. * alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function. * testsuite/libitm.c/notx.c: Use dg-options "-pthread". * testsuite/libitm.c/reentrant.c: Likewise. * testsuite/libitm.c/simple-2.c: Likewise. * testsuite/libitm.c/txrelease.c: Likewise. * testsuite/libitm.c++/static_ctor.C: Likewise. From-SVN: r181262
This commit is contained in:
parent
d4b179020b
commit
8851b42977
@ -1,3 +1,15 @@
|
||||
2011-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use
|
||||
.hidden.
|
||||
(.note.GNU-stack): Only use if __linux__.
|
||||
* alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function.
|
||||
* testsuite/libitm.c/notx.c: Use dg-options "-pthread".
|
||||
* testsuite/libitm.c/reentrant.c: Likewise.
|
||||
* testsuite/libitm.c/simple-2.c: Likewise.
|
||||
* testsuite/libitm.c/txrelease.c: Likewise.
|
||||
* testsuite/libitm.c++/static_ctor.C: Likewise.
|
||||
|
||||
2011-11-10 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* config/x86/x86_avx.cc: Remove #undef __AVX__ hack. Tidy comments.
|
||||
|
@ -60,6 +60,14 @@ extern void _ZdlPvRKSt9nothrow_t (void *, c_nothrow_p) __attribute__((weak));
|
||||
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>
|
||||
|
Loading…
Reference in New Issue
Block a user