icc8 failed on 4.10: Illegal instruction

Igor Sysoev is at rambler-co.ru
Thu Dec 30 10:08:19 PST 2004


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/


More information about the freebsd-stable mailing list