summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <pekka@mysql.com>2004-11-04 12:14:19 +0100
committerunknown <pekka@mysql.com>2004-11-04 12:14:19 +0100
commit6aeb3468203e8a95804dd7f4826c5af01c83eba9 (patch)
tree7d74d38da297965a3b9bdfad0e944d187e8eba34
parent35ded492637a44584dafda0a7b76dd209b6e8c69 (diff)
downloadmariadb-git-6aeb3468203e8a95804dd7f4826c5af01c83eba9.tar.gz
DbaccMain.cpp:
ugly fix for 'quadita2' ia64 icc -O1 ndb/src/kernel/blocks/dbacc/DbaccMain.cpp: ugly fix for 'quadita2' ia64 icc -O1
-rw-r--r--ndb/src/kernel/blocks/dbacc/DbaccMain.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp b/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp
index 9a1bbd86562..c275e5382f7 100644
--- a/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp
+++ b/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp
@@ -4501,6 +4501,17 @@ void Dbacc::getdirindex(Signal* signal)
/* BUCKET, AND SERCH FOR ELEMENT.THE PRIMARY KEYS WHICH IS SAVED */
/* IN THE OPERATION REC ARE THE CHECK ITEMS IN THE SEARCHING. */
/* --------------------------------------------------------------------------------- */
+
+#if __ia64 == 1
+#if __INTEL_COMPILER == 810
+int ndb_acc_ia64_icc810_dummy_var = 0;
+void ndb_acc_ia64_icc810_dummy_func()
+{
+ ndb_acc_ia64_icc810_dummy_var++;
+}
+#endif
+#endif
+
void Dbacc::getElement(Signal* signal)
{
DirRangePtr geOverflowrangeptr;
@@ -4595,6 +4606,12 @@ void Dbacc::getElement(Signal* signal)
/* WE HAVE FOUND THE ELEMENT. GET THE LOCK INDICATOR AND RETURN FOUND. */
/* --------------------------------------------------------------------------------- */
jam();
+#if __ia64 == 1
+#if __INTEL_COMPILER == 810
+ // prevents SIGSEGV under icc -O1
+ ndb_acc_ia64_icc810_dummy_func();
+#endif
+#endif
tgeLocked = ElementHeader::getLocked(gePageptr.p->word32[tgeElementptr]);
tgeResult = ZTRUE;
TdataIndex = tgeElementptr + tgeForward;