Bug#218447: linux-kernel-headers: INTEL C++ Compiler not working anymore
Package: linux-kernel-headers
Version: 2.5.999-test7-bk-5
Severity: important
Tags: patch sid
The include file linux/compiler.h assumes that the INTEL C++ compiler
sets the SYMBOL GCC. This is not true (at least not for V7.1)
Here are a list of the defined preprocessor symbols
permnew@xeon1:~> icc -v -E k.c
/opt/intel/compiler70/ia32/bin/mcpcom \
-_g \
-mP3OPT_inline_alloca \
-D__HONOR_STD \
-D__ICC=700 \
-D__INTEL_COMPILER=700 \
-D_M_IX86=700 \
"-_Asystem(unix)" \
-D__ELF__ \
"-_Acpu(i386)" \
"-_Amachine(i386)" \
-D__PTRDIFF_TYPE__=int \
-D__SIZE_TYPE__=unsigned \
-D__WCHAR_TYPE__=int \
"-D__WINT_TYPE__=unsigned int" \
-D__QMSPP_ \
-D__OPTIMIZE__ \
-D__extension__= \
-D__GXX_ABI_VERSION=100 \
-D__USER_LABEL_PREFIX__= \
-D__unix__ \
-D__unix \
-D__linux__ \
-D__linux \
-D__gnu_linux__ \
-B \
-Dunix \
-Dlinux \
-D__i386 \
-D__i386__ \
-Di386 \
-_3 \
-_b \
-E \
--mspp \
-I/opt/intel/compiler70/ia32/include \
-I/opt/intel/compiler70/ia32/substitute_headers \
-I/usr/include \
-mP1OPT_print_version=FALSE \
-mP1OPT_version=700 \
k.c
Here are a patch which fixes the problem for me
--- compiler.h_orig 2003-10-31 13:55:57.000000000 +0100
+++ compiler.h 2003-10-31 13:45:19.000000000 +0100
@@ -15,6 +15,8 @@
# include <linux/compiler-gcc3.h>
#elif __GNUC__ == 2
# include <linux/compiler-gcc2.h>
+#elif __INTEL_COMPILER >= 700
+# include <linux/compiler-intel.h>
#else
# error Sorry, your compiler is too old/not recognized.
#endif
@@ -23,7 +25,7 @@
* coming from above header files here
*/
#ifdef __INTEL_COMPILER
-# include <linux/compiler-itel.h>
+# include <linux/compiler-intel.h>
#endif
/*
-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux hardy 2.6.0-test9-mm1 #1 Thu Oct 30 14:54:08 CET 2003 i686
Locale: LANG=en_US.ISO-8859-15, LC_CTYPE=en_US.ISO-8859-15
-- no debconf information
Reply to: