diff options
author | krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-03-03 09:31:57 +0000 |
---|---|---|
committer | krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-03-03 09:31:57 +0000 |
commit | 85c3de9e0a81060c68d411c6b4f9de73082d77c8 (patch) | |
tree | 37478a7bb9920e476231d5fa32ad25f1babd343e /libitm/beginend.cc | |
parent | 5dd12e436a086895d97036e63c5f9fd33fd226f5 (diff) |
libitm: Introduce target macro TARGET_BEGIN_TRANSACTION_ATTRIBUTE.
The attached patch adds the a target specific attribute via the
new target macro TARGET_BEGIN_TRANSACTION_ATTRIBUTE to the
function begin_transaction(). S/390 uses this to set the
soft-float target attribute which is needed to fix a crash with
-m31.
As there seems to be no place in libitm to document internal macros like
USE_HTM_FASTPATH or the new macro, I've put the documentation in a
comment where the macro is used.
2016-03-03 Dominik Vogt <vogt@linux.vnet.ibm.com>
* config/s390/target.h (TARGET_BEGIN_TRANSACTION_ATTRIBUTE): Define
function attribute to disable floating point in begin_transaction() on
S/390.
* beginend.cc (begin_transaction): Use
TARGET_BEGIN_TRANSACTION_ATTRIBUTE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233929 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libitm/beginend.cc')
-rw-r--r-- | libitm/beginend.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libitm/beginend.cc b/libitm/beginend.cc index 1a258ad7965e..20b5547c30d8 100644 --- a/libitm/beginend.cc +++ b/libitm/beginend.cc @@ -149,6 +149,12 @@ choose_code_path(uint32_t prop, abi_dispatch *disp) return a_runInstrumentedCode; } +#ifdef TARGET_BEGIN_TRANSACTION_ATTRIBUTE +/* This macro can be used to define target specific attributes for this + function. For example, S/390 requires floating point to be disabled in + begin_transaction. */ +TARGET_BEGIN_TRANSACTION_ATTRIBUTE +#endif uint32_t GTM::gtm_thread::begin_transaction (uint32_t prop, const gtm_jmpbuf *jb) { |