QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2678|回复: 25

how does icc work with kernel?

[复制链接]
发表于 2003-5-28 06:07:12 | 显示全部楼层 |阅读模式
The new release of intel c++ compiler 7.1 is said to be much more compatible with gnu c extentions and gcc binaries.  The only detailed doc i can got on google is some pdf stuff from intel, which is about the version 6.0.
http://www.intel.com/software/products/compilers/c60l/techtopics/LinuxCompilersCompatibility60.pdf
A successful internal test on compiling linux kernel 2.4.17 is mentioned in that pdf. in the contrary, some claimed in LFS mailing list that 's impossible to compile kernel w/ 6.0. A little modification I guess should have done before the intel people did the internal test.

come back to 7.1. w/ the more compatibility, is there any possible to do the kernel with the new versioin? I can't get any reports on this, so Mr. Dragonfly can help some.? many thx

PS: went thru your web page, you really have tons of papers, PF PF.
发表于 2003-5-28 09:47:25 | 显示全部楼层
en? where u get my homepage link? i do not remember i post here.

i think u can try it, why not? and tell me the result, i do not have icc here
回复

使用道具 举报

 楼主| 发表于 2003-5-28 09:58:58 | 显示全部楼层
I have not tried it coz got a time out when openning the first step to evaluation download, the survey page.
http://www.intel.com/software/products/compilers/clin/eval.htm
can't click thru here, you can give it a try.
回复

使用道具 举报

发表于 2003-5-28 10:23:40 | 显示全部楼层
try this one, i am downloading
http://gentoo.oregonstate.edu/distfiles/l_cc_p_7.1.006.tar
回复

使用道具 举报

 楼主| 发表于 2003-5-28 12:10:32 | 显示全部楼层
oh, thx alot, it even can't be found on edonkey, which only has 7.1 for win
回复

使用道具 举报

 楼主| 发表于 2003-5-28 15:35:35 | 显示全部楼层
finally I get thru that survey page w/IE    and received a license file. the cpp comipler was also installed all right w/ the lisence file. however when i run the icc alone like

doooom $ icc

got :
/usr/lib/crt1.o: In function `_start':
/usr/lib/crt1.o(.text+0x1: undefined reference to `main'

configure the default compiler as:
export LD=xild
export AR=xiar
export CC=icc
export CXX=icc

and try some linux code to compile, in the "./configure" stage, got:
checking for C compiler default output... configure: error: C compiler cannot create executables

how about your icc?
ps: if using gentoo, you can emerge it.
回复

使用道具 举报

发表于 2003-5-28 21:19:54 | 显示全部楼层
yes, i emerge it, that is why i know where to download. but i do not have lic file. i have to get one.

i already get one lic file and my icc works now

dragonfly doc # icc
iccbin: Command line error: no files specified; for help type "iccbin -help"


on there support site has faq for u problem.
回复

使用道具 举报

发表于 2003-5-28 22:00:31 | 显示全部楼层
http://www.intel.com/software/products/compilers/techtopics/LinuxCompilersCompatibility702.pdf is the new version of that pdf.

http://lwn.net/Articles/13207/ is a patch for 2.5.43.
http://lwn.net/Articles/14293/
回复

使用道具 举报

发表于 2003-5-29 03:09:16 | 显示全部楼层
i send an email to intel to ask for the 2.4.20 patch, but no reply. anyway, i use the icc to compile the alsa-tools-0.93, some are ok, and some have problem. becuase linux kernel use some nonstandard c features that gcc supports while icc not support. if u have interest, u can try that 2.5.43 patch first.
回复

使用道具 举报

 楼主| 发表于 2003-5-29 06:13:19 | 显示全部楼层
the /usr/lib/crt1.o error is due to my old bash. cz it doesnot  support the parameter -a for exec. I deleted the -a '<path" following the exec in both icc and icpc, when the problem solved.
configure error is some kind of stupid, i forget to unset the cflag and cxxflag for gcc. icc does not recognize -march and gives no out put.

the compiler works perfectly, when i tried to compile 'distcc', which is a simple package w/ only thousands of lines of code.

thx for the compability doc, it's said in it that icc works well on 2.4.17. it will be perfect if the versioni is 2.4.18.
many iptables patches need >=2.4.18 , so does the traffic control patches.

http://lwn.net/Articles/14293/   is the patch for 2.5.45. I'll figure out that tnght.  actually 2.5.45 supports much better hyper-threading than 2.4 series.
回复

使用道具 举报

发表于 2003-5-29 06:22:22 | 显示全部楼层
icc know -march, c&p from man icc
[code:1]
      -march=<cpu>   Generate code excusively for a given <cpu>

                      pentiumpro -- Pentium(R) Pro and Pentium(R) II processor
                      instructions

                      pentiumii -- MMX(TM)instructions

                      pentiumiii -- Streaming SIMD Extensions

                      pentium4 -- Pentium(R) 4 New Instructions

       -mcpu=<cpu>    Optimize for a specific cpu

                      pentium -- Optimize for Pentium(R) processor

                      pentiumpro -- Optimize for Pentium(R) Pro, Pentium(R) II
                      and Pentium(R) III processors

                      pentium4 -- Optimize for Pentium(R) 4 processor
[/code:1]

why u need to stick to icc?
回复

使用道具 举报

 楼主| 发表于 2003-5-29 06:27:34 | 显示全部楼层
hehe, thx

march=pentium3
this's gcc set.
littles diff. from icc's pentiumiii
回复

使用道具 举报

发表于 2003-5-29 06:32:19 | 显示全部楼层
yes, but funny. mine is p4, so no problem.  
回复

使用道具 举报

 楼主| 发表于 2003-5-29 10:13:29 | 显示全部楼层
the 2.4.45 patch installed alright. to let kernel use icc, I modified Makefile to change gcc and g++ to icc.

however when make menuconfig, it tells
$ make menuconfig
  icc -Wp,-MD,scripts/.fixdep.d -O1   -o scripts/fixdep scripts/fixdep.c
ld: unrecognized option '--compile_dependencies'
ld: use the --help option for usage information
make[1]: *** [scripts/fixdep] 4└N⎽ 1
make: *** [scripts] 4└N⎽ 2

do you meet the same stuff?
like to know whether my binutils is too old for icc.
回复

使用道具 举报

发表于 2003-5-29 10:25:23 | 显示全部楼层
u also need change  LD to xild, and  AR to xiar
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-9-19 18:56 , Processed in 0.052072 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表