summaryrefslogtreecommitdiff
path: root/libitm/beginend.cc
diff options
context:
space:
mode:
authorkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>2016-03-03 09:31:57 +0000
committerkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>2016-03-03 09:31:57 +0000
commit85c3de9e0a81060c68d411c6b4f9de73082d77c8 (patch)
tree37478a7bb9920e476231d5fa32ad25f1babd343e /libitm/beginend.cc
parent5dd12e436a086895d97036e63c5f9fd33fd226f5 (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.cc6
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)
{