summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <msvensson@neptunus.(none)>2005-09-01 14:07:45 +0200
committerunknown <msvensson@neptunus.(none)>2005-09-01 14:07:45 +0200
commite4cfbaed518f98b2ee3f5a9e0a4edef485240221 (patch)
treec355f0df41c7985515415a20f2bd5fc025868090
parentef5cafdf6dc42051a3eb51851fe969f4507a92ab (diff)
downloadmariadb-git-e4cfbaed518f98b2ee3f5a9e0a4edef485240221.tar.gz
Bug #12717 yassl: Crashes in "integer.cpp" when compiled with icc
- Temporary fix, disable x86 assembler. BUILD/compile-pentium-icc: Cleanup build script for icc extra/yassl/taocrypt/include/misc.hpp: Disable x86 assembler when compiling with icc BUILD/compile-pentium-icc-yassl: New BitKeeper file ``BUILD/compile-pentium-icc-yassl''
-rwxr-xr-xBUILD/compile-pentium-icc27
-rw-r--r--BUILD/compile-pentium-icc-yassl24
-rw-r--r--extra/yassl/taocrypt/include/misc.hpp7
3 files changed, 38 insertions, 20 deletions
diff --git a/BUILD/compile-pentium-icc b/BUILD/compile-pentium-icc
index eee8b6c9d90..bf550a4b574 100755
--- a/BUILD/compile-pentium-icc
+++ b/BUILD/compile-pentium-icc
@@ -8,29 +8,16 @@ path=`dirname $0`
CC=icc
CXX=icpc
CXXLD="$CXX -static-libcxa"
-export CC CXX
-
-
-extra_flags="$pentium_cflags $debug_cflags $max_cflags -USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_purify -DMYSQL_SERVER_SUFFIX=-valgrind-max"
-
-# Disable following warnings as these are generated by header files:
-# 161 unrecognized pragma
-# 444 destructor for base class xxx is not virtual
-# 279 controlling expression is constant
-# 810 conversion from ulonglong to ulong with cast
-# 981 operands are evaluated in unspecified order
-# 1292 warning for unknown 'attribute' options
-# 1469 "xxx" clobber ignored
-# 1572 floating-point equality and inequality comparisons are unreliable
-
-# In C++
-# 869 parameter "xxx" was never referenced
-# (Problem with virtual functions)
-# 874 support for placement delete is disabled
+export CC CXX CXXLD
c_warnings=""
cxx_warnings=""
-extra_flags="-O3 -unroll2 -ip -mp -no-gcc -restrict"
+extra_flags="$fast_cflags -unroll2 -ip -mp -restrict"
+
+# Use -no-ipo if you get this error
+# IPO link: can not find "-lstdc++_shared"
+# icpc: error: problem during multi-file optimization compilation (code 1)
+extra_flags="$extra_flags -no-ipo"
base_cxxflags="-fno-exceptions -fno-rtti"
extra_configs="$pentium_configs $static_link"
diff --git a/BUILD/compile-pentium-icc-yassl b/BUILD/compile-pentium-icc-yassl
new file mode 100644
index 00000000000..53b191e4db3
--- /dev/null
+++ b/BUILD/compile-pentium-icc-yassl
@@ -0,0 +1,24 @@
+#! /bin/sh
+
+path=`dirname $0`
+. "$path/SETUP.sh"
+
+# Note that we can't use ccache with icc as the generated .deps file will
+# then contain wrong information
+CC=icc
+CXX=icpc
+CXXLD="$CXX -static-libcxa"
+export CC CXX CXXLD
+
+c_warnings=""
+cxx_warnings=""
+extra_flags="$fast_cflags -unroll2 -ip -mp -restrict"
+
+# Use -no-ipo if you get this error
+# IPO link: can not find "-lstdc++_shared"
+# icpc: error: problem during multi-file optimization compilation (code 1)
+extra_flags="$extra_flags -no-ipo"
+base_cxxflags="-fno-exceptions -fno-rtti"
+extra_configs="$pentium_configs $static_link --with-yassl"
+
+. "$path/FINISH.sh"
diff --git a/extra/yassl/taocrypt/include/misc.hpp b/extra/yassl/taocrypt/include/misc.hpp
index 187d5cc6769..5a31510911e 100644
--- a/extra/yassl/taocrypt/include/misc.hpp
+++ b/extra/yassl/taocrypt/include/misc.hpp
@@ -96,6 +96,13 @@ public:
#endif
+// Disable assmebler when compiling with icc
+// Temporary workaround for bug12717
+#if defined(__INTEL_COMPILER)
+ #define TAOCRYPT_DISABLE_X86ASM
+#endif
+
+
// CodeWarrior defines _MSC_VER
#if !defined(TAOCRYPT_DISABLE_X86ASM) && ((defined(_MSC_VER) && \