Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Dec 2004 21:08:15 +0300 (MSK)
From:      Igor Sysoev <is@rambler-co.ru>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: icc8 failed on 4.10: Illegal instruction
Message-ID:  <20041230210525.B9654@is.park.rambler.ru>
In-Reply-To: <20041229124322.G73628@is.park.rambler.ru>
References:  <20041228162708.P73628@is.park.rambler.ru> <20041229072940.GA37069@xor.obsecurity.org> <20041229124322.G73628@is.park.rambler.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 29 Dec 2004, Igor Sysoev wrote:

> On Tue, 28 Dec 2004, Kris Kennaway wrote:
>
> > On Wed, Dec 29, 2004 at 10:21:05AM +0300, Igor Sysoev wrote:
> >
> > > > > > > Then I installed the port and I ran /usr/local/intel_cc_80/bin/icc,
> > > > > > > but it always failed with message "Illegal instruction".
> > > > > >
> > > > > > You forgot to mention what type of CPU you have.
> >
> > > > > Sorry, it was so obvious for me that is not CPU problem in this case,
> > > > > so I forgot to mention it. From dmesg:
> > > > >
> > > > > CPU: Intel(R) Pentium(R) 4 CPU 2.66GHz (2679.56-MHz 686-class CPU)
> > > > >   Origin = "GenuineIntel"  Id = 0xf27  Stepping = 7
> >
> > > 0x80b13d7 <__intel_proc_init_ftzdaz+79>:        stmxcsr (%esp,1)
> >
> > > Strange, the code in __intel_proc_init_ftzdaz looks like the right code.
> > > Right now I can not say from what extention "stmxcsr" come from.
> > > Here is the features from dmesg:
> > >   Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,C
> > > MOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
> >
> > It's an SSE instruction, and you need to enable support for SSE in
> > your kernel.
>
> Thank you. The "options CPU_ENABLE_SSE" resolves the problem.
> I think it should be mention in the port for 4.x.
>
> However, it seems that 4.10's headers are not good for icc8:
>
> >cat q.c
> #include <stdio.h>
>
> >/usr/local/intel_cc_80/bin/icc q.c
> /usr/include/wchar.h(79): error: "__mbstate_t" has already been declared in the current scope
>   } __mbstate_t;
>     ^
>
> /usr/include/libio.h(463): error: identifier "__gnuc_va_list" is undefined
>                         _IO_va_list, int *__restrict) __THROW;
>                         ^
>
> /usr/include/libio.h(465): error: identifier "__gnuc_va_list" is undefined
>                          _IO_va_list) __THROW;
>                          ^
>
> /usr/include/stdio.h(307): error: identifier "__gnuc_va_list" is undefined
>                      _G_va_list __arg) __THROW;
>                      ^
>
> /usr/include/stdio.h(309): error: identifier "__gnuc_va_list" is undefined
>   extern int vprintf (__const char *__restrict __format, _G_va_list __arg)
>                                                          ^
>
> /usr/include/stdio.h(313): error: identifier "__gnuc_va_list" is undefined
>                      _G_va_list __arg) __THROW;
>                      ^
>
> /usr/include/stdio.h(324): error: identifier "__gnuc_va_list" is undefined
>                       __const char *__restrict __format, _G_va_list __arg)
>                                                          ^
>
> compilation aborted for q.c (code 2)

The port maintainer Alexander Leidinger said that it is because
the linux_devtools port was installed, and he is right - just
after I deleted the linux_devtools, icc ran without problems.


Igor Sysoev
http://sysoev.ru/en/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041230210525.B9654>