doooom 发表于 2003-5-28 06:07:12

how does icc work with kernel?

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. :)

Dragonfly 发表于 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

doooom 发表于 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.

Dragonfly 发表于 2003-5-28 10:23:40

try this one, i am downloading
http://gentoo.oregonstate.edu/distfiles/l_cc_p_7.1.006.tar

doooom 发表于 2003-5-28 12:10:32

oh, thx alot, it even can't be found on edonkey, which only has 7.1 for win

doooom 发表于 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+0x18): 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.

Dragonfly 发表于 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.

Dragonfly 发表于 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/

Dragonfly 发表于 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.

doooom 发表于 2003-5-29 06:13:19

the /usr/lib/crt1.o error is due to my old bash. cz it doesnotsupport 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.

Dragonfly 发表于 2003-5-29 06:22:22

icc know -march, c&p from man icc

      -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


why u need to stick to icc?

doooom 发表于 2003-5-29 06:27:34

hehe, thx

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

Dragonfly 发表于 2003-5-29 06:32:19

yes, but funny. mine is p4, so no problem.:wink:

doooom 发表于 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: *** 4└N⎽ 1
make: *** 4└N⎽ 2

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

Dragonfly 发表于 2003-5-29 10:25:23

u also need changeLD to xild, andAR to xiar
页: [1] 2
查看完整版本: how does icc work with kernel?