diff options
author | Dominik Vogt <vogt@linux.vnet.ibm.com> | 2016-03-03 09:31:57 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2016-03-03 09:31:57 +0000 |
commit | edcbda7e2ce5fd3411402fbd117d3900443f8451 (patch) | |
tree | 37478a7bb9920e476231d5fa32ad25f1babd343e /libitm/config | |
parent | a75f5e30cc27568bbc2bc0629425598e89bf9059 (diff) | |
download | gcc-edcbda7e2ce5fd3411402fbd117d3900443f8451.zip gcc-edcbda7e2ce5fd3411402fbd117d3900443f8451.tar.gz gcc-edcbda7e2ce5fd3411402fbd117d3900443f8451.tar.bz2 |
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.
From-SVN: r233929
Diffstat (limited to 'libitm/config')
-rw-r--r-- | libitm/config/s390/target.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libitm/config/s390/target.h b/libitm/config/s390/target.h index 44819a4..c9d5203 100644 --- a/libitm/config/s390/target.h +++ b/libitm/config/s390/target.h @@ -69,6 +69,9 @@ cpu_relax (void) /* Number of retries for transient failures. */ #define _HTM_ITM_RETRIES 10 #define USE_HTM_FASTPATH +#define TARGET_BEGIN_TRANSACTION_ATTRIBUTE \ + __attribute__ ((target("soft-float"))) + static inline bool htm_available () |